跳到正文
cccskills
免费在 GitHub 公开

create-verification-skill

アプリを利用者と同じ操作で動かして振る舞いを確かめる、プロジェクト専用の検証スキル(`.claude/skills/verify-<app>/`)と機能一覧を作る。言語、フレームワーク、Web・CLI・API・デスクトップを問わない。

'/create-verification-skill'、'このリポジトリの検証スキルを作って'、UI・CLI・サービスの振る舞いを確かめる手順がリポジトリにないときに使う。

中文简介正在准备中。当前显示原文说明。

集成工具Playwright
查看安装方法

包含的文件(5)

  • SKILL.md9.2 KB
  • NOTICE.md2.1 KB
  • references/feature-map-example/create-note.md2.9 KB
  • references/feature-map-example/README.md2.5 KB
  • references/feature-map-example/search.md3.4 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

検証スキルの生成

アプリを起動し、利用者と同じ操作で機能を動かし、証拠を残す手順を、プロジェクト専用のスキル<skills>/verify-<app>/として作る。<skills>は.claude/skills/とする。Claude Codeはここにあるスキルを読み込む。

生成するスキルの読者は人間ではなく次のエージェントである。作業の途中で、アプリを見たことのない状態から読まれる前提で書く。文章の言語はリポジトリの既存ドキュメントに合わせる。

1. ユーザーではなくリポジトリに聞く

次をコードベースから答え、観測できないことだけをユーザーに聞く。

  • 操作面: 利用者が触るのは何か。Web UI、CLI・TUI、デスクトップアプリ、API、モバイルアプリ、ライブラリ。複数あれば主なものを選び、残りを記録する。
  • 起動: ローカルでどう起動するか。リポジトリが文書化している開発用コマンド(package.jsonのscripts、Makefile、READMEの手順)を優先する。ポート、環境変数、シードデータ、認証を記録する。環境変数がシークレットなら、プロジェクトのop run --env-file .env.tpl -- <command>の仕組みを使い、.envを作らない。
  • 操作手段: エージェントがプログラムから操作する方法。既存の仕組み(Playwrightなどのテスト、expectスクリプト、PTYの補助、curlで叩けるエンドポイント、デバッグ用ポート)を先に探す。なければ汎用の手段を選ぶ。WebとElectronはブラウザかCDP(Claudeデスクトップならブラウザペインのツール、ターミナル単体ならPlaywrightやCDPの接続)、CLI・TUIはtmuxかPTY、サービスはHTTP。新しい依存を足す場合は、追加する前にユーザーの承認を得る。
  • 観測: 取れる証拠は何か。スクリーンショット、ターミナルの記録、レスポンス本文、ログ、終了コード、DBの状態。
  • 分離: 2つのインスタンスを並べて動かせるか(ポート、データディレクトリ、プロファイル)。できないなら生成するスキルにそう書く。共有のインスタンスを二重に操作してユーザーのセッションを壊すより、操作を断る方がよい。

チェックアウトがそのままではビルドや起動ができない場合は、原因を正確に報告し、製品コードを直すかどうかはユーザーの承認を得てから決める。壊れた状態を前提に書いたスキルは、間違った手順を教える。検証に無関係な欠けている資産(APIが配信しない静的ディレクトリ、サンプル設定)が起動を妨げているだけなら、生成するスキルの中で「検証用の足場」と明記して作り、片付けで消してよい。

2. スキルを生成する

<skills>/verify-<app>/SKILL.mdを、YAMLフロントマター(name: verify-<app>と、アプリ名、操作面、使う場面を書いたdescription)付きで書く。フロントマターがないとスキルとして登録されない。次の節を、聞き取りで実際に分かったことだけで埋める。プレースホルダを残さない。

  • 起動: 検証用にアプリを起動する正確なコマンドと、準備完了の判定方法(ログの行、プロンプト)。空のデータディレクトリから、マイグレーションとシードデータを含めて使える状態まで持っていく。準備完了とは使える状態のことで、プロセスが応答するだけでは足りない。DBのヘルスチェックは初期化スクリプトの実行中でも通ることがある。終了手順も書く。短時間で終わるCLIやTUIでは、維持するサーバーがない。起動とはバイナリのビルド(または依存のインストール)を1回行うことで、操作ごとに分離したPTYかtmuxのセッションで実行する。
  • 診断(doctor): 「このインスタンスは操作してよい状態か」に答える読み取り専用のチェックを1つ。プロセスが動いている、ビルドや版が正しい、ポートを自分のプロセスが持っている、認証が有効。何かおかしいと感じたら、エージェントは最初にこれを実行する。
  • 操作: このリポジトリの実際のセレクタやコマンドで書いた手順。例ではなく実物を書く。座標やタブ順より、ARIAラベル、data属性、プロンプトの文字列、ルートのパスなど安定した手がかりを使う。
  • 証拠: 何を取り、どこに置くか。置き場所の既定は対象リポジトリの.tmp/evidence/<task>/で、evidence.mdの形式は~/.claude/references/evidence.mdに合わせる。証明の基準も書く。内部のsetterやテスト専用のエンドポイントではなく、利用者と同じ経路を通す。最後の画面だけでなく、操作とその結果の状態を取る。見た目と一緒に副作用(書かれたファイル、挿入された行、送られたメッセージ)を確かめる。モックは、本番でも外部システムとの境界になっている箇所だけに使う。安全な経路がdry-runやテストモードなら、名前を信じず、実際に何を省いているかを観測で確かめる(ファイル、ネットワーク、gitのref)。dry-runでもネットワークに出たりブラウザを開いたりするものがある。
  • 片付け: その実行で作ったインスタンスの終了方法。プロセス名で止めず、自分が起動したPIDだけを止める。片付けで消すのはインスタンスと一時的な状態だけで、証拠は消さない。証拠は、スキルが名指しした場所に残す。
  • 補助スクリプト: スキルに同梱するスクリプトは実行権限を付け、呼び出し方を本文に書く。読み手が解読しないと使えないものは補助にならない。Node.jsはbun、Pythonはuvで実行する。

3. 機能一覧を作る

<skills>/verify-<app>/features/README.mdと、利用者から見える機能ごとに1ファイルを作る。最初はルート、コマンド、メニュー、ドキュメントから主要な3〜5機能を選ぶ。形はreferences/feature-map-example/に合わせ、READMEを索引にして機能ごとに1ファイルにする。

各ファイルは利用者の視点で、機能の内容、たどり着き方、操作手段での動かし方、動いたと言える観測可能な結果を書く。H2は次の4つをこの順に置く。英語のリポジトリでは例と同じ英語の見出しを使う。

  1. サブ機能(Sub-features)
  2. ユーザーからの到達方法(How to get to it (user POV))
  3. <操作手段>での操作(Driving it with <harness>)
  4. 注意点(Gotchas)

シードデータに、ある手順の前提が欠けていたら、その手順は失敗と報告し、理由をその機能の注意点に書く。通すために手順を弱めない。機能一覧はリポジトリで保守する検証の正本で、一覧に複数の入口がある機能を1つの入口だけで証明しても、証明は不完全である。

4. 渡す前に生成したスキルを動かす

生成したスキルの手順を最初から最後まで1回実行する。起動、診断、一覧の機能を1つ操作、証拠の取得、片付け。機能は1つで足りる。残りは以後の実行で一覧に沿って確かめる。

片付けのあとで、証拠が指定した場所に残っていることを確かめる。片付けで証拠が消えたら、この段階は不合格である。失敗したら直し、失敗した回のあとにも生成した片付けを実行して、プロセスやポートを残さない。一度も実行していないスキルは下書きであって成果物ではない。

本来の対象の代わりの環境で証明した場合(新しいVMの代わりにコンテナ、リモートの代わりにローカル)は、代わりの環境が行っていて本来の対象では行われない準備を列挙する。それらは本来の対象で実行するまで未検証として扱う。

5. 保守の手順を伝える

アプリの変更に合わせて機能一覧を保つには/maintain-verification-skillを使うと伝える。実行の頻度は、聞かれたときだけ提案する。

生成したファイルのコミットは、ユーザーの依頼か承認を経て、CLAUDE.mdのGitの規則に従って行う。

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

PR・コミット・差分・ファイルをレビューし、再現条件と根拠のある不具合、回帰、検証漏れを報告する。変更が差分の外で何を壊しうるか(影響範囲)を、安全の根拠をコードで証明して確かめるときにも使う。

中文简介正在准备中。当前显示原文说明。

nokonoko1203/agent-settings922026年10月22日 更新

codex

免费

Codex CLI(`codex exec`)に、モデル・reasoning effort・速度を指定して作業(調査、レビュー、相談、実装)を頼み、結果を受け取って要約する。「solで〜して」「astra xhighで調べて」「luna low fastで」「Codexで〜」「Codexに聞いて/やらせて」のように、呼び名(sol / astra / luna)やCodexを指定して作業を頼まれたときだけ使う。文中に普通の単語として「sol」「luna」が出てきただけのときは使わない。

中文简介正在准备中。当前显示原文说明。

nokonoko1203/agent-settings922026年10月22日 更新

correct

免费

エージェントが同じ間違いを繰り返すとき、履歴から間違いの種類を洗い出し、設計、型、lint・CI、テスト、文書の順に、効く範囲で最も上の層で再発を防ぐ。計画を承認してから実装し、各チェックが過去の実際の間違いで失敗することを証明する。'/correct'で使う。

中文简介正在准备中。当前显示原文说明。

nokonoko1203/agent-settings922026年10月22日 更新

リポジトリにエージェント開発用の検証基盤を整える。`make check`、GitHub ActionsのCI、短いAGENTS.mdを、言語とツールを検出して作る。'harness-init'、'リポジトリを初期化して'、'検証コマンドを用意して'、新規リポジトリ作成直後や既存リポジトリへの導入時に使う。

中文简介正在准备中。当前显示原文说明。

nokonoko1203/agent-settings922026年10月22日 更新

how

免费

既存のコードやシステムが今どう動いているか(仕組み、処理の流れ、どこに何があるか、どの層やモジュールが持つべきか)を、コードを読んで説明する。'どうなっているか'、'仕組みを教えて'、'この処理の流れ'、'これはどこに置くべきか'、変更の前に既存の仕組みを理解したいときに使う。なぜ今の形なのか(経緯)は`why`、技術の選定は`research`を使う。

中文简介正在准备中。当前显示原文说明。

nokonoko1203/agent-settings922026年10月22日 更新

imozuru

免费

知らない分野にキャッチアップするとき、汎用的な言葉から界隈の用語・中心の人・場(学会・雑誌・個人ブログ・動画・リポジトリ・一覧)を特定し、 引用・リンク・著者を芋づる式にたどって、当たりの原文(論文も個人の記事や動画の字幕も)を要約せずそのまま ~/research/<話題>/sources/ に落とす。 周ごとに地図(map.md)を育て、要る主張の全部に原文が付くか飽和したら止める。 見張りのモードでは、地図の場(Qiita・Zenn のタグ、note、YouTube、ブログ、arXiv)の新着を RSS で引いて原文の冒頭つきで並べる。 以下で使用:「芋づる式に調べて」「この分野をキャッチアップしたい」「界隈の用語と人から掘って」 「論文とか先行研究を漁って」「既存の技術を真似したいから元ネタを探して」「上手い人のやり方を集めて」「原文で落として」「/imozuru」 「〇〇って研究あるの?原典ほしい」「全然わからないから流れを掘って」「どういう界隈でどう呼ばれてるか知りたい」 「〇〇の新着見て」「今週の〇〇の記事まとめて」「キャッチアップ」「/imozuru watch」 "dig into this field", "find the canonical papers on X", "literature dive", "what's new in X this week"。 以下には使用しない: 答えが1つの事実の確認(年・有無だけ・仕様1つ → そのまま検索)/ 手元の PC の中の資料を探す/読んだ資料の要約や解説を書く。

中文简介正在准备中。当前显示原文说明。

nokonoko1203/agent-settings922026年10月22日 更新

查看 nokonoko1203 的全部技能

报告此技能的问题