cli-anything について
CLI-Anythingは、ソフトウェア向けコマンドラインハーネスを構築、改善、テスト、検証するCodex用スキルです。プロジェクトの手法に従い、ローカルパスまたはGitHubリポジトリを入力として扱います。
主な機能
- 01ソフトウェアのCLIハーネス構築
- 02既存ハーネスのコマンド改善
- 03実際のバックエンドでのテスト
- 04実装とパッケージの検証
- 05導入済みハーネスの検出
活用シーン
- 01ソフトウェアのソースからCLIハーネスを作成
- 02既存ハーネスへの機能追加
- 03バックエンドテストと検証の実行
- 04生成済みまたは導入済みツールの一覧表示
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anythingインストール後、Claude Code で/cli-anythingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlscripts/install.ps1install.shtests/test_install.sh詳細
Codex 向け CLI-Anything
ユーザーが Codex に CLI-Anything ビルダーとして動作させたい場合に、このスキルを使用します。
まず完全な方法論を読む
実装の前に、方法論の正式な情報源である以下を参照してください。
- このスキルディレクトリを基準に
references/HARNESS.mdを読みます。 references/commands/配下の該当するモード仕様を読みます。references/guides/配下の参照ファイルは、対象に該当する場合にのみ読みます。- インストール済みのリソースが利用できず、このスキルが
CLI-Anythingリポジトリのチェックアウトから使用されている場合は、../cli-anything-plugin/HARNESS.mdとその周辺のリソースを読みます。 - どちらのローカルソースも利用できない場合は、
https://github.com/HKUDS/CLI-Anythingをクローンまたはダウンロードし、cli-anything-plugin/HARNESS.mdを使用します。 - すべての完全な方法論のソースが利用できない場合にのみ、以下の簡略化されたルールに従います。
インストーラーは cli-anything-plugin/ から正規のリソースをこのスキルにベンダーするため、通常の Codex インストールは自己完結型になります。
リソースマップ
| パス | 目的 |
|---|---|
references/HARNESS.md | 完全な方法論と品質ルール |
references/commands/cli-anything.md | ビルドモード仕様 |
references/commands/refine.md | リファインモード仕様 |
references/commands/test.md | テストモード仕様 |
references/commands/validate.md | 検証チェックリスト |
references/commands/list.md | インストール済み/生成済みハーネスの検出 |
references/guides/ | オンデマンドの実装ガイダンス |
scripts/repl_skin.py | 生成されたハーネスに utils/repl_skin.py としてコピーします |
scripts/preview_bundle.py | プレビュー対応のハーネスに utils/preview_bundle.py としてコピーします |
scripts/skill_generator.py | 正規およびパッケージ化された CLI スキルを生成します |
scripts/templates/SKILL.md.template | skill_generator.py が使用するスキル生成テンプレート |
references/docs/PREVIEW_PROTOCOL.md | 共有プレビューバンドルプロトコル |
ベンダーされたドキュメントを読む際は、プラグインパスを現在の作業ディレクトリに対して解決するのではなく、以下のパスの読み替えを適用してください。
| ドキュメントの参照 | インストール済みスキルのパス |
|---|---|
guides/... | references/guides/... |
cli-anything-plugin/repl_skin.py | scripts/repl_skin.py |
cli-anything-plugin/preview_bundle.py | scripts/preview_bundle.py |
cli-anything-plugin/skill_generator.py | scripts/skill_generator.py |
templates/SKILL.md.template | scripts/templates/SKILL.md.template |
docs/PREVIEW_PROTOCOL.md | references/docs/PREVIEW_PROTOCOL.md |
入力
以下のいずれかを受け付けます。
./gimpや/path/to/softwareのようなローカルソースパス- GitHub リポジトリの URL
必要に応じて、クローン後にローカルディレクトリ名からソフトウェア名を導出します。
モード
ビルド
references/commands/cli-anything.md を読みます。ソース分析、アーキテクチャ設計、実装、テスト計画、テスト実装、テストドキュメント、CLI 固有の SKILL.md 生成、およびローカルインストールを通じて、完全なハーネスをビルドします。
リファイン
references/commands/refine.md を読みます。現在のコマンドとテストを棚卸しし、それらを対象ソフトウェアと比較してから、ユーザーが破壊的変更を要求しない限り既存のコマンドを削除せずに、影響の大きい機能を段階的に追加します。
テスト
references/commands/test.md を読みます。実際のバックエンドに対してハーネステストを実行し、インストール済みコマンドのサブプロセスカバレッジを検証し、合格した結果のみで TEST.md を更新します。
検証
references/commands/validate.md を読みます。ディレクトリ、実装、テスト、ドキュメント、パッケージング、およびコード品質の完全なチェックリストに対してハーネスを検証します。
リスト
references/commands/list.md を読みます。インストール済みおよび生成済みの CLI-Anything ツールを検出し、要求に応じて人間が読める形式または JSON 出力をサポートします。
簡略化されたフォールバックルール
完全な方法論を取得できない場合にのみ、これらを使用してください。
ハーネス構造
以下を生成します。
<software>/
└── agent-harness/
├── <SOFTWARE>.md
├── setup.py
└── cli_anything/
└── <software>/
├── README.md
├── __init__.py
├── __main__.py
├── <software>_cli.py
├── core/
├── utils/
└── tests/
必要な動作
- 再実装よりも実際のソフトウェアバックエンドを優先してください。
- ワンショットの Click サブコマンドとデフォルトの REPL モードを提供してください。
--jsonによる機械可読な出力をサポートしてください。- 対象が対応している場合は、undo/redo を備えたセッション状態を追加してください。
- ワンショットのセッション変更を自動保存し、
--dry-runをサポートしてください。 - 同時実行による JSON の破損を避けるため、ロックされたセッションファイル書き込みを使用してください。
- 統一された
ReplSkinをコピーして使用してください。 - 意味のある視覚的または検査的な状態を持つソフトウェア向けに、正確なプレビューコマンドを追加してください。
- 正規の
SKILL.mdファイルと、パッケージ化された CLI 固有のSKILL.mdファイルの両方を生成してください。
テスト
- テストコードの前に
TEST.mdを書いてください。 - 単体カバレッジ用に
test_core.pyを維持してください。 - 実ファイルのワークフローと実際のバックエンド検証用に
test_full_e2e.pyを維持してください。 - プロセスの終了コードだけでなく、レンダリング/エクスポートされた出力をプログラムで検証してください。
_resolve_cli()を介して、インストールされたcli-anything-<software>コマンドをテストしてください。CLI_ANYTHING_FORCE_INSTALLED=1を使用してリリース検証を実行してください。
パッケージング
find_namespace_packages(include=["cli_anything.*"])を使用してください。cli_anything/はトップレベルの__init__.pyを持たない名前空間パッケージとして維持してください。console_scriptsを介してcli-anything-<software>を公開してください。- パッケージ化された CLI 固有の
skills/SKILL.mdを含めてください。
出力の期待事項
進捗状況や最終結果を報告する際は、以下を含めてください。
- 対象ソフトウェアとソースパス
- 追加または変更されたファイル
- 実行した検証コマンド
- 未解決のリスクまたはバックエンドの制限事項