원클릭으로
req-driven-dev
要件駆動の実装・検証ワークフロー。要件ファイルの読解、受け入れ条件の確定、 コード検証、実装、状態記録、仕様メモ記録を一貫して行う。 Use when: 要件を実装する、要件を検証する、状態を確認する、 specs を書く、リグレッション確認、"要件0001を対応して", "implement requirement", "verify requirements"
메뉴
要件駆動の実装・検証ワークフロー。要件ファイルの読解、受け入れ条件の確定、 コード検証、実装、状態記録、仕様メモ記録を一貫して行う。 Use when: 要件を実装する、要件を検証する、状態を確認する、 specs を書く、リグレッション確認、"要件0001を対応して", "implement requirement", "verify requirements"
| name | req-driven-dev |
| description | 要件駆動の実装・検証ワークフロー。要件ファイルの読解、受け入れ条件の確定、 コード検証、実装、状態記録、仕様メモ記録を一貫して行う。 Use when: 要件を実装する、要件を検証する、状態を確認する、 specs を書く、リグレッション確認、"要件0001を対応して", "implement requirement", "verify requirements" |
| argument-hint | 要件ファイル番号 (例: 0001) またはタスクの説明、またはwebui |
要件ファイルを起点に、条件確定→検証→実装→記録を行うワークフロー。
全ての状態は CLI ツール (req_tool.py) 経由でのみ操作する。
状態ファイルを直接読み書きしてはならない。
以下のコマンド例は、skill root からの相対パスで記載する。
# 状態確認(最初に必ず実行)
uv run scripts/req_tool.py status [req_file]
# 受け入れ条件の管理
uv run scripts/req_tool.py criteria add <req_file> <req_no> <criterion>
uv run scripts/req_tool.py criteria list [req_file] [--req-no N]
# 検証結果の記録(受け入れ条件が存在する req_no のみ)
uv run scripts/req_tool.py verify <criteria_id> <status> [--detail TEXT] [--limitation TEXT]
# リグレッション記録
uv run scripts/req_tool.py regress <req_file> <req_no> --detail TEXT [--criteria-id ID]
# 承認(ユーザーが実行。エージェントは実行しない)
uv run scripts/req_tool.py approve <verification_id> <decision> [--comment TEXT]
# 要件の追加
uv run scripts/req_tool.py req add <file> <text>
uv run scripts/req_tool.py req list [file]
# 仕様メモの追加
uv run scripts/req_tool.py spec add <requirement> <title> --body TEXT [--commits ...] [--files ...]
# マイグレーション(レガシー .md → 現行形式)
uv run scripts/req_tool.py migrate [req_file]
status の値: passed, failed, conditional
decision の値: approved, rejected
ブラウザベースのダッシュボード (NiceGUI)。検証状態の俯瞰、承認操作、要件追加が可能。
この skill には WebUI 起動機能がある。
現在の指示が webui, web ui, dashboard, open dashboard, start webui のような内容であれば、次のスクリプトを実行する。
uv run scripts/webui.py [--port PORT]
# デフォルト: http://localhost:9421
Dashboard タブ:
Dependencies タブ:
uv run scripts/req_tool.py req list XXXX で要件一覧を確認uv run scripts/req_tool.py status XXXX を実行して現在の検証状態を確認commits と files の git log を比較し、乖離があればコードと照合要件の意味を解釈し、検証可能な受け入れ条件を確定する。
条件確定の判断基準:
| 要件の性質 | アクション |
|---|---|
| 明確で一意な解釈 | 要件テキストをそのまま条件として criteria add で登録 |
| 複数の解釈が可能 | ユーザーに解釈を提案し、対話で確定してから登録 |
| 曖昧・不完全 | ユーザーに明確化を求める。推測で条件を作らない |
| 既に条件が存在 | criteria list で確認。stale 警告があれば再確認 |
# 条件登録例
uv run scripts/req_tool.py criteria add 0001 10 "BitBlt API で画面全体のスクリーンショットが取得できること"
暗黙の要件を発見した場合: 本文に追記するのではなく、ユーザーに「この暗黙の要件も追加すべきでは?」と提案する。 ユーザーが同意すれば、ユーザー自身が要件ファイルに追記する。
各受け入れ条件に対して検証を実施し、結果を記録する。
| 要件タイプ | 検証方法 |
|---|---|
| コードの存在・構造 | grep / ファイル確認 |
| 動作・出力 | ビルド + 実行 |
| 既に verified のもの | コード現状と照合して妥当性を再確認 |
# 検証結果の記録
uv run scripts/req_tool.py verify ac-1 passed --detail "cargo test で全テスト通過"
uv run scripts/req_tool.py verify ac-3 conditional --detail "背後ウィンドウOK" --limitation "最小化ウィンドウは不可"
uv run scripts/req_tool.py verify ac-5 failed --detail "コンパイルエラー: xxx"
注意: approve コマンドはエージェントが実行するものではない。ユーザーが検証結果を確認して承認する。
uv run scripts/req_tool.py spec add で仕様メモを追記uv run scripts/req_tool.py status XXXX で最終状態を表示既存の検証結果は残したまま、新しいリグレッション記録を追加する:
uv run scripts/req_tool.py regress 0003 10 --detail "Aggregator状態マシン欠陥で連続変化中にイベント不発行"
approve コマンドを実行しない(ユーザー操作)