verify-10x-cli について
verify-10x-cliは、10x-cliを検証するためのテストスキルです。実行ごとに一時API、設定、プロジェクトの環境を分離し、出力やファイル状態、リクエストを記録して動作と副作用を確認します。
主な機能
- 01実行ごとの隔離環境の作成
- 02偽APIとテスト用データの利用
- 03CLIコマンドと対話フローの実行
- 04ファイルとネットワークリクエストの確認
- 05証拠の保存と一時リソースの後片付け
活用シーン
- 0110x-cliの機能経路の検証
- 02コマンドによるファイル・通信の副作用確認
- 03複数エージェントでの並行検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ przeprogramowani/ 10x-cli --skill verify-10x-cliインストール後、Claude Code で/verify-10x-cliを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
features/auth.mdchangelog.mddoctor.mdget.mdlist.mdREADME.mdsync.mdscripts/fake-api.tsverify.sh詳細
10x-cli の検証
これは短時間だけ動作する CLI(10x <command>)であり、サーバーではありません。実行ごとに、OS が割り当てた空きポートで独自のフェイク配信 API、独自の XDG_CONFIG_HOME、使い捨てのプロジェクトディレクトリを使用します。そのため、1 台のマシン上で複数のエージェントが並行して検証しても、本番環境、実際のメール、~/.config/10x-cli、このチェックアウトの .claude/ には一切影響しません。
すべての操作は、1 つのヘルパーを通じて実行します(リポジトリのルートから実行してください)。
V=.claude/skills/verify-10x-cli/scripts/verify.sh
$V help
起動
bun install --frozen-lockfile # once per checkout
$V up # prints run=<id> api=http://127.0.0.1:<port> pid=<pid> project=<dir> evidence=<dir>
$V seed-auth # optional: logged-in state without driving the login flow
up が run=… を出力したら準備完了です。scripts/fake-api.ts は、リッスンを開始してから api.json を書き込みます。新しい Ed25519 キーが生成されます。CLI は BUNDLE_PUBLIC_KEYSET を通じてこのキーを受け取ります。src/lib/signing.ts は、API_BASE_URL が localhost または 127.0.0.1 の場合に限り、これを有効にします。CLI はソースから実行します(bun run src/index.ts)。同梱される Node バンドルでの動作を確認するには、bun run build を実行し、コマンドの先頭に VERIFY_ENTRY=dist を付けてください。
フェイク API が提供するフィクスチャ(コース 10xdevs3、ID 10xdevs-3):
| レッスン | モジュールの状態 | コンテンツ |
|---|---|---|
m1l1 | ロック解除済み | スキル verify-fixture-skill、プロンプト verify-fixture-prompt、ルール、設定 verify-fixture.json |
m1l2 | ロック解除済み | スキル verify-m1l2-skill |
m2l1 | ロック中(403) | — |
$V bump <lessonId> は、新しいアップストリームバージョンを公開します(すべてのファイルで v1 → v2 に更新され、新しいカタログの contentHash が設定されます)。sync と競合処理の確認に使用してください。
Doctor
$V doctor # exit 0 = worth driving
読み取り専用です。次の項目を確認します。フェイク API の PID が稼働中であり、かつこの実行によって起動されたこと、/health が応答すること、URL がループバックアドレスであること、設定ディレクトリとプロジェクトディレクトリがこの実行のものであること、チェックアウトのリビジョンが up 以降に変更されていないこと(変更されている場合は再ビルドして up を再実行してください)、CLI が起動すること(--version)。最初に実行し、出力がおかしい場合はその都度もう一度実行してください。機能としての 10x doctor とは異なります(マップを参照してください)。
操作
非 TTY(JSON エンベロープモード。stdout が TTY でない場合、CLI は --json を暗黙的に指定します):
$V cli <label> -- <10x args> # e.g. $V cli get -- get m1l1 --tool claude-code
実行時のプロジェクトディレクトリで実行し、NN-<label>.cmd|stdout|stderr|exit を保存して表示します。ヘルパーは常に 0 で終了します。CLI の終了コードはデータです(0 成功、1 エラー、2 使用方法の誤り、3 認証、4 アクセス禁止、5 見つからない)。新しいプロジェクトでは、必ず get/sync に --tool claude-code を指定してください。指定しない場合、ツールの検出時にプロンプトが表示されるか、失敗します。
TTY(人間向けの出力、@clack/prompts のメニュー)を使用する場合は、専用の tmux サーバー内で実行します(-L 10x-verify-<run>。デフォルトの tmux は使用しません)。
$V tty <label> -- <10x args> # start
$V wait-screen '<regex>' [seconds] # wait for a prompt string, never a fixed sleep
$V keys Down Enter # tmux key names, or literal text
$V screen <label> # save the screen as evidence
$V wait-screen '10x exited' # the PTY prints "[10x exited <code>]" when done
フェイク環境での操作:$V click(受講者が最新のマジックリンクをクリック)、$V bump <lesson>、$V changelog release|off|on(新しいツールキットリリースを公開。変更履歴のルートを削除/復元)。
状態の証明:$V snapshot <label>(プロジェクトおよび設定ディレクトリ内のすべてのファイルの sha256)。
記録:$V note "<text>" は、実行時の notes.md に追記します。
features/ の機能マップには、機能ごとの正確な手順が記載されています。まず README を読んでください。マップにほかの項目も記載されている場合、都合のよい入口を 1 つ操作しただけでは検証として不十分です。
エビデンス
すべての証拠は .quality-local/verify-10x-cli/<run>/ に保存されます(Git の追跡対象外で、down の後も残ります)。
番号付きの .cmd/.stdout/.stderr/.exit、.screen.txt、.tree.txt、notes.md、
fake-api.log、および requests.log(CLI が行ったすべての HTTP リクエスト。down の実行時にコピーされます)。
証拠の基準:
- 実際のユーザーパスを使って操作します(プロジェクトディレクトリで
10x …を実行)。src/の関数をインポートしたり、マニフェストを手作業で書き込んだりしないでください。許可されるショートカットはseed-authのみで、認証以外の機能に限ります。 - 操作とその結果の状態を記録します。コマンドの出力に加えて、何が書き込まれ、保持され、削除されたかを示す
snapshot(またはファイルの内容)も記録してください。 - 外側の結果だけでなく、副作用も検証します。ディスク上のファイル、
.claude/.10x-cli-manifest.json、.10x-cli.json、CLAUDE.mdのルールブロック、auth.json、およびアクセスしたエンドポイントを示すrequests.logを確認してください。 --dry-runは何も書き込まない(実行前後のsnapshotを比較)一方で、ネットワーク経由の取得は行うことが確認されています(requests.logを参照)。変更を加えた場合は、必ず再確認してください。フラグ名をそのまま信頼しないでください。10x doctorはバージョン確認のため、実際の npm レジストリ(registry.npmjs.org、読み取り専用の GET)を呼び出します。それ以外はすべてフェイク API を使用します。- スキップしたエントリーポイントは、満たされていない前提条件とともに、スキップとして報告してください。
クリーンアップ
$V down
up に記録されたフェイク API の PID(コマンドラインにこの実行のスクラッチディレクトリが含まれていることを確認した後)と、この実行専用の tmux サーバーのみを終了し、スクラッチディレクトリ($TMPDIR/10x-verify-<run>.*)を削除します。エビデンスディレクトリは保持します。ほかのセッションがこのマシン上で動作しているため、pkill bun/pkill tmux は絶対に実行しないでください。試行が失敗した場合も、必ず down を実行してください。古い実行を対象にするには、VERIFY_RUN=<id> $V down を実行します。
ヘルパー
| スクリプト | 実行方法 |
|---|---|
scripts/verify.sh | $V <command> — 上記すべてを実行します。コマンド一覧は $V help で確認できます |
scripts/fake-api.ts | $V up で起動します。単独で起動する場合:bun .claude/skills/verify-10x-cli/scripts/fake-api.ts <dir> [port] |
どちらも検証用の足場であり、製品コードではありません。API コントラクトを変更した場合(bun run generate-types により src/generated/api-types.ts が更新されます)、fake-api.ts も合わせて更新してください。更新しないと、検証結果が実態と異なるものになります。