【必須】現在のアクティビティを完了にする、または完了にせず中断して寝かせる。「/af」「この作業完了」「クローズして」「一旦ここまで」「今日はここで止める」「いったん置いておく」など終える・中断する意図で発動。このスキルを経由せずにupdate_activityでcompleted・pending・snoozed・shelvedにしない。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
plan.mdに基づいて実装を実行する。plan.mdの未着手サブプランを自律選択し、worktree作成→実装SA→レビューSA→ユーザー報告→PRの流れで進める。plan.mdが存在しない場合はtask-planを先に実行するよう案内する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
실행 점수 미검증
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
plan.mdに基づいて実装を実行するスキル。 worktree作成からPR作成までが責務。計画はtask-planが担う。
以下のすべてを満たす場合に使用する:
以下では使用しない:
plan.mdのPR分割テーブルを読み、依存関係を満たす未着手(🔲)のサブプランを自律的に選択する。
選択基準:
単一PRの場合: plan.md自体がサブプラン相当なので、このステップはスキップ。
実装着手前に pull_precedents MCPツールを実行し、応答JSONを保存する。過去の関連判例(decision)を
把握しないまま設計・実装判断を進めることを防ぐための必須ステップである。
pull_precedents を context(このサブプランが解決しようとしている論点の記述。plan.mdの
「作業背景」やTODOの要約でよい)で呼ぶiterations/{nn}-pull.json に保存する(Step 7でGO判定パッケージの
pull.presented / pull.guarantee に機械転記する)guarantee が routing_miss / routing_unavailable の場合は判例保証が成立していない
(前例なし、または保証不成立)として扱い、pre_go寄りの判断に倒す。enumerated の場合は
列挙された判例を実装方針の参考にする注記: pull_precedents ツールが未稼働の環境(判例pull機構の実装がまだmainに反映されて
いない場合)はこのステップを省略してよい。省略した場合、Step 7で生成するGO判定パッケージの
pull.presented は unavailable のままになる。
メインエージェントが以下を実行する(SAには委譲しない):
origin/main(またはplan.mdで指定されたbase branch)を最新にfetch.trees/ 配下にgit worktreeを作成するgit fetch origin main
git worktree add .trees/{branch-name} -b {branch-name} origin/{base-branch}
重要: worktreeの準備が完了するまで、いかなるファイル操作も行わないこと。
task-implementer サブエージェントを バックグラウンド(run_in_background: true) で起動する。
モデルは model: sonnet を明示する(実装は設計・plan.mdに沿った記述作業が主体で、sonnetで十分なため)。
実装SAへのプロンプトテンプレート:
あなたは実装サブエージェントです。以下のタスクを実装してください。
## タスク定義
plan.md(またはサブプラン)を読んでください: {絶対パス}
## 重要な参照
- 設計書: {絶対パス}(最初に必ず読むこと)
- 既存パターンの参考: {絶対パス}
## 実装ルール
1. 設計書の仕様に忠実に実装すること
2. 既存コードのパターン(エラーハンドリング、命名規則等)を踏襲すること
3. plan.mdの実装順序に従って進めること
4. 各TODOの完了時にiterations/{nn}-impl.mdに進捗を記録すること
5. CLAUDE.mdの規約に従うこと
6. plan.mdに記載のテスト実行方法に従ってテストを実行すること
7. コミットは作成しないこと(コミットはメインエージェントが行う)
## 完了時の出力
iterations/{nn}-impl.md に以下を記録:
- 完了したTODO一覧
- 変更したファイル一覧(絶対パス)
- 実装上の判断事項(設計書に明記されていなかった部分の解釈)
- テスト実行結果
## 作業ディレクトリ
{worktreeの絶対パス}
## 重要
作業ディレクトリは既にworktreeとして準備済みです。このディレクトリ内で作業してください。
新たにworktreeを作成したり、ブランチを切り替えたりしないでください。
渡すもの:
実装SA完了後、task-reviewer サブエージェントを バックグラウンド(run_in_background: true) で起動する。
モデルは model: opus を明示する(バグ検出・仕様整合・テスト審査の判断品質を優先するため、親がsonnet運用でもレビューはopusで動かす)。
レビューSAへのプロンプトテンプレート:
あなたはコードレビューサブエージェントです。以下の実装をレビューしてください。
## レビュー対象
- 実装ログ: {iterations/{nn}-impl.md の絶対パス}
- 変更ファイル一覧: {ファイルリスト or git diffの取得方法}
## 参照
- plan.md: {絶対パス}
- 設計書: {絶対パス}
## レビュー観点
1. 設計書との整合性: 仕様通りに実装されているか
2. コード品質: 既存パターンとの一貫性、命名規則、エラーハンドリング
3. テストカバレッジ: 以下a・bの両方を満たすか確認する
a. 一般カバレッジ(通常系): エッジケース表に載らない通常系(happy path)・基本機能に対しても、
具体的な期待結果をアサートするテストが存在するか。表の照合(b)だけでは通常系の
テスト網羅は担保されないため、独立にチェックする
b. テスト仕様カバレッジ(照合): plan.md「## エッジケース(仕様カバレッジ)」表の
各ケースの「あるべき振る舞い」を検証するテストが実在するか。表の振る舞いの正しさは
plan段階の導出検証SA+人間承認で担保済みの前提。ここは照合に徹する。
- 「検証する」=そのケースを突き、あるべき振る舞い(期待結果)をアサートしていること。
ケースを呼ぶだけ・存在を確認するだけは不可(観点4と連動)
- severity 一意化(観点4と重複する領域): ケースに対応するテスト不在 = Critical /
ケースは突くがアサーション無し(写し相当)= Critical / ケースは突くがアサーションが弱い = Major
- 前提ガード: 表が「テスト不要(類型X:理由)」と明記されていれば本観点はスキップ。
表が空かつ明記も無い場合は「plan段階の手続き不備」として Minor 指摘。
ただし diff に分岐追加・新規公開関数・入力バリデーションが含まれるのに表が空なら、
本来エッジケースが必要なのに列挙されていない疑いとして **Major に格上げ**。
※これは「どのケースが漏れたか」の網羅判定(plan責務)ではなく「そもそも列挙すべき状況なのに
空か」の観測シグナルのフラグ立てに留める
- プロパティ種別のケースは、値一致でなく不変条件を検証しているか
4. アサーション実効性: 実装の写し・トートロジーの足跡を検出(成果物から検知できるため重視)
- 実装を呼んで返り値をそのまま期待値にしている(assert f(x)==f(x) 等)→ Critical
- 「例外が出ない」「None でない」止まりで具体値を未検証 → Major
- スナップショット/ゴールデンの生成元が実装出力なら赤、仕様由来の固定フォーマットなら可
5. エッジケース: 設計書に記載のないエッジケースへの対処
6. セキュリティ: SQLインジェクション、入力バリデーション等
7. 再利用性・簡素化: 重複コードの検出、不要な抽象化
## 出力
iterations/{nn}-review.md に、各観点の「検出事項 + severity(Critical/Major/Minor)」の形式で出力してください。
PASS/FAIL 等の最終判定は下さない(メインエージェントが Step 6 で判定する)。
decision とコード/PR の間に矛盾を見つけた場合も、ここで FAIL とせず「メイン経由でユーザー確認が必要」と
記載するに留めてください。decision は絶対の正解(truth)でなく独立な期待値ソース(oracle)であり、
ズレの裁定は人間が行います。
## 作業ディレクトリ
{worktreeの絶対パス}
渡すもの:
メインエージェントがレビュー結果を読み、自律的に判定する。
判定基準テーブル:
| 判定 | 条件 | アクション |
|---|---|---|
| PASS | Critical: 0, Major: 0 | → Step 7(報告)へ |
| DIRECT_FIX | Critical: 0-1, 修正量が少ない | → メインが直接修正 → Step 7 へ |
| RE_DELEGATE | Critical: 2+, または大規模修正 | → 修正SA再起動 → Step 5 に戻る |
「修正量が少ない」の目安:
scripts/gate_check.py(境界ゲート検出器)はコミット済みの差分を対象に動くため、
GO判定パッケージの生成にはこの時点でのコミットが要る。PRはまだ作らない。
コミットを作成する(CLAUDE.mdの規約に従う。pushはまだしない)
GO判定パッケージの雛形を生成する:
uv run python scripts/go_package.py new --activity {タスクID} --base {base branch} \
--head HEAD --predicted {plan.md/サブプランのpredicted値} \
[--pull-json iterations/{nn}-pull.json] \
--out iterations/{nn}-go-package.md
Step 2で pull_precedents を省略した場合は --pull-json を付けずに実行する。
人間記述欄を埋める: 「1-a 分類判定材料」の判例引用・判例が無かった論点、 「1-b 地図メンテ材料」「1-c 品質証跡」の各欄。判例が無ければ「なし」と明記する(空欄禁止)
埋めた雛形を uv run python scripts/go_package.py lint iterations/{nn}-go-package.md --mode shadow --allow-placeholder に通す(shadow欄はまだ未記入のため --allow-placeholder を付ける)
下記テンプレートで、GO判定パッケージの分類判定材料を含めてユーザーに報告する
報告テンプレート:
## 実装完了報告
### 変更ファイル一覧
- {ファイルパス}: {何をしたか}
- ...
### planからの逸脱
- {planと異なる判断をした箇所。なければ「なし」}
### レビュー結果
- 判定: {PASS / DIRECT_FIX}
- {レビューで改善した点があれば記載}
### 仕様サマリ
**機能**: {機能名}
**目的**: {なぜ必要か}
**方式**: {どう実現したか(1行)}
### GO判定
- machine: {classification}({reason})
- predicted: {plan.md/サブプランの値}
- ブラスト半径・revert容易性の要点: {1-2行}
→ この変更、コード読みが必要な類(事前go相当)? パッケージだけで判断できる類(事後拒否権相当)?
→ PR出してOK?
shadow.human に記入し、shadow.divergence を
docs/spec/go-gate.md の対応表(machine × human)から導出して追記するuv run python scripts/go_package.py lint iterations/{nn}-go-package.md --mode shadow
を(--allow-placeholder なしで)再度通すユーザーのOKが出てからPR作成に進む。
uv run python scripts/pr_size_check.py --local を実行してサイズを確認する
--local の既定 base は origin/main。サブプランの base が main 以外(依存先ブランチにスタックしている)場合は --base <依存先ブランチ> を明示する。指定しないと依存元ブランチの差分ごと巻き込んだ過大な verdict になるoversized の場合、PRを出す前に分割を検討する(サブプランをさらに分けるか、変更範囲を見直す)ok / large ならそのまま進めてよいgit push -u origin {branch})するiterations/{nn}-go-package.md)の機械可読ブロック prs フィールドに、
作成したPR番号を追記するadd_material でGO判定パッケージ全文を保存する(title 40字以内、素タグ go-package +
domain:calm、related にタスクのactivityを指定)。GO判定パッケージはPR本文には
載せない(判例idを含む文書のため。PRとの対応は prs フィールドが持つ)Step 8完了後、plan.mdを確認し、残りの🔲が final(統合マージ)のみかをチェックする。
該当する場合:
該当しない場合(他に🔲のサブプランが残っている、またはfinal行がない):
実装ログとレビュー結果はworktree内ではなく、plan.mdと同じディレクトリに保存する。
~/.claude/projects/<project>/work/{task-name}/
├── plan.md
├── plan-a.md(サブプラン、あれば)
├── plan-b.md
└── iterations/
├── 01-pull.json(pull_precedents応答、Step 2で保存。省略時はなし)
├── 01-impl.md
├── 01-review.md
├── 01-go-package.md(GO判定パッケージ、Step 7で生成しmaterial化)
├── 02-impl.md(RE_DELEGATEの場合)
└── 02-review.md
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
【必須】現在のアクティビティを完了にする、または完了にせず中断して寝かせる。「/af」「この作業完了」「クローズして」「一旦ここまで」「今日はここで止める」「いったん置いておく」など終える・中断する意図で発動。このスキルを経由せずにupdate_activityでcompleted・pending・snoozed・shelvedにしない。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
【必須】新しいアクティビティを作成してcheck-inする。「/as」「新しい作業始める」「アクティビティ作って」「これやる」など新規作業の開始で発動。このスキルを経由せずにadd_activityを呼ばない(orchの起票はorch skillに従う)。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
【必須】open askを1件ずつ人間に提示し、回答をanswer_askで記録する。「askに答える」「open ask消化して」「溜まってるask片付けたい」などで発動。このスキルを経由せずにanswer_askを呼ばない。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
【必須】add_askでaskを起票する前に、question/contextをテンプレートで組み立てる。離席中・セッション跨ぎでしか答えられない判断が出たときや、「これ聞いといて」「判断委譲しといて」「後で確認して」などで発動。このスキルを経由せずにaskの文面を書かない(メタaskを除く)。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
add_askの応答のsimilar_asksを見て、同型の問いが繰り返され裁定が一貫していると気づいたとき、判例をまとめてメタask(kind="meta")を起票する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
人間の判断待ちaskの受け箱をMonitorで監視し、判断構造が同じopen askが溜まっていればメタaskを起票する。「ask storeを監視して」「asksを見張って」「open askの滞留をチェックして」などで発動。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.