spec-leader — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited spec-leader (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
承認済み Spec ファイルを入力として、Isolate → Plan → Implement → Verify → Code Review → ship の 6 ステージ遷移を制御する skill です。本プロジェクトのワークフロー (docs/workflow.md) における Spec Review 後〜ship までの一連のステージを担当します。
用語: 「Project Phase」「Workflow Stage (ステージ)」「Release Phase」「Spec」の定義は docs/glossary.md を参照してください。
ワークフロー上の位置:
... → writing-spec → spec-review → (pass) → writing-plan (main 側) → [spec-leader (本 skill)] → Learn
│
├─ Isolate (worktree 作成 + Spec/Plan コピー)
├─ Implement (developer + tdd-driver)
├─ Verify (verifier + verification-before-completion)
├─ Code Review (code-reviewer + security-reviewer + cross-model-reviewer)
└─ ship (ユーザー承認後、main merge + worktree 削除 + Plan archive)Plan は spec-leader の前 (main 側で writing-plan が実行) です。Phase 5 並列化時に他 Spec の Plan (specs/*.plan.md) を参照可能にするための構造 (2026-04-22 改修)。
本 skill は ステージ遷移制御 に専念します。各ステージ内部の具体的処理は下位 skill / agent に委譲します。本 skill の価値は下記 3 点です。
spec-review skill が verdict pass を返した直後、本 skill を自動起動 します。
specs/<spec-name>.md (status: spec-complete)specs/<spec-name>.review.md の verdict が passspec-review §9.2 で「spec-leader 実装後に自動起動」とされていた TODO は、本 skill 実装によって解消されます。spec-review 側の改修は必要ありません (本 skill が存在すれば自動呼び出し)。
以下の発話で起動してください。
Phase 5 では orchestrator skill が本 skill を呼び出します。orchestrator は複数 Spec を並列処理する際、各 Spec について本 skill を起動します。本 skill 側は「誰に呼ばれたか」を意識する必要はありません (入力 spec.md パスが与えられれば同一の動作)。
skill 起動直後、以下を必ず確認してください。
specs/<spec-name>.md) の存在status: spec-completespecs/<spec-name>.review.md の存在と verdict が passgit rev-parse --is-inside-work-tree)worktrees/<spec-name>/) が未作成であること (再開時は §14 参照)前提条件を満たさない場合の対応:
| 状況 | 対応 |
|---|---|
| Spec ファイル未存在 | 「対象 Spec が見つかりません」と返して終了 |
| status が spec-complete でない | 現在の status を表示、writing-spec または spec-review への差戻しを提案 |
| review.md が存在しない | 「Spec Review が未実施です。spec-review を先に起動してください」と返して終了 |
| review.md の verdict が pass でない | 「verdict が <verdict> です。writing-spec レビュー指摘対応モードで修正してください」と返して終了 |
| Plan ファイル未存在 | 「Plan が未作成です。先に writing-plan skill で specs/<spec-name>.plan.md を生成してください」と返して終了 (verdict: precondition-failed、precondition_violation: plan_missing) |
| Plan status が plan-complete / plan-revised でない | 現在の status (plan-writing / plan-draft 等) を表示、writing-plan の継続を促す |
| git リポジトリでない | 「worktree は git リポジトリ内でのみ動作します」と返して終了 |
| worktree が既に存在 | 「再開モード」として §14 の手順を実行 |
上記のいずれかで早期停止する場合、Phase 5 orchestrator が「なぜ処理されなかったか」を機械可読で取得できるよう、停止時点で specs/<spec-name>.result.json を以下で生成してください。
{
"spec": "<spec-name>",
"verdict": "precondition-failed",
"started_at": "<skill 起動時刻>",
"ended_at": "<停止時刻>",
"final_commit": null,
"stages_completed": [],
"stages_failed": [],
"stages_blocked": [],
"user_action_required": "<解消手順、上の対応列と同等の文言>",
"precondition_violation": "<違反した前提条件の識別子、例: 'review_verdict_not_pass'>",
"notes": "前提条件違反で処理未開始"
}これにより、orchestrator は result.json のみで「この Spec は次サイクルで何をすれば開始可能になるか」を判定できます。
Phase 3 時点で orchestrator 連携用インタフェースを固定します。Phase 5 で orchestrator を実装する際、本 skill の改修を不要とするための契約です。
| 項目 | 型 | 説明 |
|---|---|---|
spec_path | string (相対パス) | specs/<spec-name>.md |
options (任意) | object | 実行オプション ({"skip_ship": true} 等) |
| 項目 | 型 | 説明 |
|---|---|---|
progress_path | string | specs/<spec-name>.progress.json |
progress_md_path | string | worktrees/<spec-name>/progress.md (Isolate 完了後に生成) |
result_path | string | specs/<spec-name>.result.json (終了時に生成、shipped / aborted / paused) |
pending → in_progress → (completed | failed | blocked) の 4 状態failed / 下位 skill 未実装時は blocked / 中断時は状態維持 (in_progress)orchestrator 側は本 skill を以下のように呼び出す想定です (本 skill は変更不要)。
spec-leader skill を起動 (入力: spec_path, options)
→ progress_path を監視 (poll or watch)
→ result_path の生成を待つ
→ 結果を集約して次 Spec へ進む本 skill は 5 ステージ (Isolate / Implement / Verify / Code Review / ship) を制御します。Plan ステージは本 skill の前に main agent + writing-plan skill で実行済 の前提 (2026-04-22 改修、Phase 5 並列化準備)。
[Plan 完了済] → [本 skill 起動] → Isolate → Implement → Verify → Code Review → (ユーザー承認) → ship → [終了]
│ │ │ │ │
└─────────┴───────────┴────────────┴──────── 失敗時 ────────→ [停止 + ユーザー相談]specs/dag.md は単一 / 複数 Spec にかかわらず常に存在 (spec-dag-builder が 1 ノード DAG も生成) します。本 skill は writing-plan skill から 1 Spec 単位で起動される想定で、本 skill 自体は 1 Spec を処理 します。
複数 Spec を扱う場合の起動制御は以下:
本 skill の責務はあくまで 1 Spec の Isolate〜ship 遷移制御です。DAG 解析や複数 Spec 協調は writing-plan / orchestrator の責務となります。
| タイミング | 更新内容 |
|---|---|
| skill 起動時 | progress.json / progress.md を初期化 (すべてのステージを pending)、updated_at を設定 |
| ステージ開始時 | 前ステージの status が `completed` / `failed` / `blocked` のいずれかで確定している ことを検証した上で、current_stage を当該ステージ、stages.<stage>.status を in_progress に、started_at を記録、updated_at を更新 |
| ステージ完了時 | stages.<stage>.status を completed、completed_at と outputs を記録、updated_at を更新 |
| ステージ失敗時 | stages.<stage>.status を failed、error を記録、updated_at を更新、全停止 |
| 下位 skill 未実装時 | stages.<stage>.status を blocked、missing_skill を記録、updated_at を更新、全停止 |
| iteration ループ時 (2026-04-20 tmux-dashboard-mvp learn §5.3) | receiving-code-review → Implement 再 → Verify 再 → Code Review 再 の各再ステージ 開始時 / 完了時にも main 側 progress.json を更新。stages.<stage>.outputs.iteration_N に各 iteration の started_at / completed_at / 結果サマリを追記。frontmatter の review_iteration も合わせて更新 |
| skill 終了時 | result.json を生成 (§7 整合性チェックを通過後のみ) |
#### 5.2.1 更新契約の強化 (2026-04-22 iter-3 改修)
iter-3 統合テストで progress.json の plan.status: in_progress が未更新のまま result.json が verdict: shipped となる不整合が発生しました。再発防止のため以下を必須化:
<path>.tmp に全文書き込み → rename で置換。部分書き込み状態を中断で生じさせないstatus が pending のままでないこと」「前ステージの started_at が記録済であれば completed_at または failed_at / エラー記録が揃っていること」を検証。検証失敗時は progress の破損として停止 + ユーザー相談updated_at の更新を忘れない。古い updated_at のまま次操作を行うと stalled とみなされるpending → in_progress を経由せず直接 completed にしない。また blocked / failed のステージがあるまま後続を開始しないreview_iteration に記録し、各再ステージの実施記録は stages.<stage>.outputs.iteration_N (N=1, 2, ...) として追記する。iteration 完了時に stages.<stage>.completed_at を最新 iteration の終了時刻で更新する。これを怠ると、ship 直前にユーザー / orchestrator が古い状態 (iteration 1 時点) を見て「ステージが止まっている」と誤認する事故が起こる (tmux-dashboard-mvp サイクルで実際に発生)パス: specs/<spec-name>.progress.json
{
"spec": "<spec-name>",
"spec_path": "specs/<spec-name>.md",
"review_path": "specs/<spec-name>.review.md",
"plan_path": "specs/<spec-name>.plan.md",
"started_at": "2026-04-20T22:30:00Z",
"updated_at": "2026-04-20T22:45:00Z",
"current_stage": "isolate",
"stages": {
"isolate": {
"status": "in_progress",
"started_at": "2026-04-20T22:30:00Z",
"completed_at": null,
"outputs": null
},
"implement": {"status": "pending", "started_at": null, "completed_at": null, "outputs": null},
"verify": {"status": "pending", "started_at": null, "completed_at": null, "outputs": null},
"code_review": {"status": "pending", "started_at": null, "completed_at": null, "outputs": null},
"ship": {"status": "pending", "started_at": null, "completed_at": null, "outputs": null}
}
}Plan は main 側で事前に完了している前提のため、stages には含めません。plan_path を frontmatter 相当のメタとして記録し、Isolate ステージで worktree にコピーします。
パス: worktrees/<spec-name>/progress.md (Isolate 完了後に生成)
---
spec: <spec-name>
started: 2026-04-20T22:30:00Z
updated: 2026-04-20T22:45:00Z
current_stage: plan
---
# Progress: <spec-name>
## Stages
- [x] **Isolate** (2026-04-20T22:30:00Z → 22:30:15Z)
- worktree: `worktrees/<spec-name>/`
- branch: `spec/<spec-name>`
- Spec / Plan / Review を worktree 内にコピー済
- [ ] **Implement** (進行中)
- [ ] **Verify**
- [ ] **Code Review**
- [ ] **ship** (ユーザー承認後)
(※ Plan ステージは本 skill の前に main 側で完了済、stages に含めない)
## ログ
2026-04-20T22:30:00Z [isolate] worktree 作成開始
2026-04-20T22:30:15Z [isolate] 完了 (branch: spec/<spec-name>)
2026-04-20T22:30:20Z [plan] writing-plan 起動
...パス: specs/<spec-name>.result.json (終了時に生成)
{
"spec": "<spec-name>",
"verdict": "shipped | shipped-manual | aborted | aborted-on-resume | paused | precondition-failed",
"started_at": "2026-04-20T22:30:00Z",
"ended_at": "2026-04-20T23:45:00Z",
"final_commit": "abc123def...",
"stages_completed": ["isolate", "plan", "implement", "verify", "code_review", "ship"],
"stages_failed": [],
"stages_blocked": [],
"user_action_required": null,
"integrity_warnings": [],
"notes": "全ステージ正常完了、main にマージ済"
}| verdict | 意味 | 条件 |
|---|---|---|
shipped | 正常完了 (全ステージ機械的に整合) | ship ステージ成功 + 整合性チェック pass + cross-model-reviewer 実施済 (verdict: pass) |
shipped-manual | 正常完了だが手動介入あり (2026-04-22 新設、iter-3 知見) | ship ステージ成功 + 整合性チェックで警告あり、integrity_warnings に記録 |
shipped-cross-model-pending | 正常完了だが cross-model-reviewer が PENDING のまま (2026-04-22 新設、iter-4 知見) | ship ステージ成功 + code / security reviewer は pass + cross-model は PENDING placeholder (Phase 3 手動依頼運用)。将来外部モデル呼び出し実装後は区別可能に |
aborted | 失敗で終了 | どこかのステージで failed、stages_failed に記録 |
aborted-on-resume | 再開モードで中止選択 (2026-04-22 新設、iter-2 知見) | §14 再開モードで「中止」ユーザー選択 |
paused | 下位 skill 未実装で停止 | ステージが blocked、stages_blocked / user_action_required に指示 |
precondition-failed | 前提条件違反で停止 (2026-04-22 新設、iter-1 知見) | §3 前提条件チェックで NG、user_action_required に修正手順 |
result.json 生成時に progress.json との整合性チェックを行い、不一致があれば integrity_warnings 配列に記録します。verdict は手動介入を含む派生値 (shipped-manual) に切り替え、隠蔽を防ぎます。
#### 整合性チェック項目
stages_completed の各要素について、progress.json stages.<name>.status == "completed" であることstages_failed / stages_blocked の各要素について、progress.json と status が一致することstarted_at / ended_at のタイムスタンプが progress.json の最古 started_at / 最新 updated_at と整合することin_progress のまま残っているステージがないこと (handoff 漏れの検出)#### 警告の記録形式
"integrity_warnings": [
{
"kind": "stage_status_mismatch",
"stage": "plan",
"progress_status": "in_progress",
"result_declared": "completed",
"note": "手動介入で completed 扱いに補完された可能性"
}
]#### 影響
shipped → shipped-manual に自動切替integrity_warnings を受けて Try 提案として具体化 (spec-leader の progress 更新漏れとして)shipped-manual を手動介入の必要があった Spec として分類、類似ケースの再発時に早期警告目的: Plan が確定した Spec について git worktree を作成し、main 側の Spec / Plan / Review ファイルを worktree 内にコピーして実装の作業環境を整える (2026-04-22 改修)。
worktrees/ ディレクトリが存在しなければ作成git worktree add worktrees/<spec-name> -b spec/<spec-name> 実行 (新規ブランチで worktree 作成)specs/<spec-name>.md → cp で worktrees/<spec-name>/specs/<spec-name>.md へspecs/<spec-name>.plan.md → cp で worktrees/<spec-name>/plans/<spec-name>.md へ (worktree 側では従来通り `plans/` サブディレクトリ命名)specs/<spec-name>.review.md → cp で worktrees/<spec-name>/specs/<spec-name>.review.md へ (参考情報)specs/<spec-name>.plan.md の frontmatter から references_other_plans を読み、各エントリに対して以下を実行:depends_on 違反時は §3 前提条件で既に停止している前提)mv は厳禁、理由は 3 と同じ) で worktrees/<spec-name>/plans/<ref-spec>.md にコピーreferences_other_plans に記載された先行 Spec が未 ship の可能性、stages.isolate を failed に記録して停止 (§3 前提条件の強化として機能)stages.isolate.outputs.referenced_plans 配列に記録worktrees/<spec-name>/progress.md を生成stages.isolate を completed に更新 (outputs に worktree / branch / 各コピー先パス / referenced_plans を記録)worktrees/<spec-name>/specs/<spec-name>.md が読めることgit worktree list に当該 worktree が表示されることIsolate はコピーのみで main 側の specs/<spec-name>.plan.md は削除しません。Phase 5 の並列 spec-leader が他 Spec の Plan を参照できるよう、ship ステージまで main 側に保持します。
目的: Plan ファイルのタスクを TDD で実装する。並列実行時は git index 競合を物理的に排除する sub-worktree 方式を採用する (2026-04-22 iter-3 改修)。
tdd-driver skill を起動 (テスト先行強制モード)files_touched 積集合空) から並列実行可能なタスクグループを抽出git worktree add worktrees/<spec>/sub-<task-id> spec/<spec-name> (親 worktree の HEAD から分岐、独立 index)allowed_files = Plan の files_touched を渡して起動、sub-worktree 内で作業git cherry-pick <各 sub-worktree の commit> で順次統合 (逐次実行、index 競合を親で起こさせない)git worktree remove --force worktrees/<spec>/sub-<task-id>)stages.implement を completed に更新 (outputs に各 T-N の commit SHA を記録)並列グループ: [T-1, T-2] (files_touched 積集合空)
逐次: [T-integrate]
1. sub-worktree 作成:
git worktree add worktrees/calculator/sub-T-1 spec/calculator
git worktree add worktrees/calculator/sub-T-2 spec/calculator
2. developer agent 並列起動:
developer (T-1, allowed_files=[calculator/add.py, tests/test_add.py], cwd=sub-T-1)
developer (T-2, allowed_files=[calculator/subtract.py, tests/test_subtract.py], cwd=sub-T-2)
3. 各 developer が独立 index で commit 作成 (競合一切なし)
4. 親 worktree で cherry-pick 統合:
cd worktrees/calculator
git cherry-pick <T-1 の sub-worktree 最終 commit>
git cherry-pick <T-2 の sub-worktree 最終 commit>
5. T-integrate は親 worktree で逐次実行 (__init__.py 等の共通ファイル編集)
6. sub-worktree クリーンアップtdd-driver skill 未実装 → blockeddeveloper agent 未実装 → blockedPhase 3 初期は Agent Teams の多階層 subagent 動作が未検証のため、sub-worktree 方式は任意 です。順次実行 (全タスクを直列、親 worktree で 1 つずつ実装) でも本 skill は動作します。ただし Plan の files_touched は必須 (Phase 5 並列化の準備として記録される)。
実運用で並列化を有効にする場合は、spec-leader 起動時に options.parallel_implement: true を渡して sub-worktree 方式を有効化します。
目的: 全テスト / lint / 型チェックを実行し、全項目 pass を確認する。
verification-before-completion skill を起動verifier agent を呼び出し、以下を並列実行:npm test / pytest / go test 等)eslint / ruff / golangci-lint 等)tsc --noEmit / mypy / go vet 等)stages.verify を completed に更新verification-before-completion / verifier いずれか未実装 → blocked目的: code / security / cross-model の独立レビューを並列実行する。
code-reviewer: コード品質観点 (可読性 / 設計 / 単純性)security-reviewer: セキュリティ観点 (OWASP Top 10 / 認証認可 / 入力検証)cross-model-reviewer: 他モデル (Codex 等) による独立審査worktrees/<spec-name>/reviews/code.md / security.md / cross-model.md に保存stages.code_review を failed にreceiving-code-review skill を起動し、レビュー指摘を spec-leader 配下の Implement ステージに戻して対応code-reviewer / security-reviewer / cross-model-reviewer / receiving-code-review / cross-model-review のいずれか未実装 → blocked目的: worktree を main にマージし、worktree を削除する。
Code Review 完了後、以下をユーザーに提示して承認を求めます。
git diff spec/<spec-name> main の概要)git merge --no-ff spec/<spec-name>)承認を得てから ship を実行します。承認前に自動 merge してはいけません。
__pycache__/、.pytest_cache/、node_modules/、dist/、build/、.venv/ 等の生成物を削除npm run clean / make clean 等) を実行__pycache__ 競合が発生した事例あり)git checkout main)git merge --no-ff spec/<spec-name>)git worktree remove worktrees/<spec-name>)status: archived に更新):specs/<spec-name>.md → specs/archive/<spec-name>.mdspecs/<spec-name>.plan.md → specs/archive/<spec-name>.plan.mdspecs/<spec-name>.plan.meta.json → specs/archive/<spec-name>.plan.meta.jsonspecs/<spec-name>.review.md → specs/archive/<spec-name>.review.mdspecs/dag.md → specs/archive/<spec-name>.dag.md (単一 Spec の 1 ノード DAG も将来の設計判断参照用に保持)specs/<spec-name>.progress.json → specs/archive/<spec-name>.progress.jsoncp でコピーしておき、ship ステップ 6 で archive 確定)git rm する:plans/<spec-name>.md (worktree 側の Plan コピー、main 側は archive に残す)progress.md (worktree 側の人間可読進捗、archive には JSON のみで十分)reviews/code.md / reviews/security.md / reviews/cross-model.md (consolidated.md を archive に残せば個別 reviewer の生ログは main 不要)verify-report.md (Verify 結果は progress.json stages.verify.outputs に構造化済)git rm 漏れがあると main の history に作業ログが残り続け、リポジトリ成長率が無意味に増える (tmux-dashboard-mvp サイクルで 1309 行 → ship 掃除で 752 行削減の実績)stages.ship を completed、最終的に result.json を生成git revert HEAD) して停止worktree が既に存在する状態で本 skill が起動された場合、再開モード として処理します。
worktrees/<spec-name>/ が存在specs/<spec-name>.progress.json が存在current_stage の status を確認:in_progress → 中断した可能性。ユーザーに確認後、当該ステージを再実行 or 完了扱いにfailed / blocked → 原因解消後にユーザー承認で当該ステージを再実行completed → 次ステージから再開再開モードでは、どのステージから再開するかを必ずユーザーに確認 してから処理を進めます。自動判断による意図しない再実行を防止します。
再開モードでユーザーが「中止」を選択した場合、現在の progress.json 状態を変更せずに、以下で result.json を生成して終了します。
{
"spec": "<spec-name>",
"verdict": "aborted-on-resume",
"started_at": "<progress.json の started_at を引き継ぎ>",
"ended_at": "<中止時刻>",
"final_commit": null,
"stages_completed": ["<completed だったステージを列挙>"],
"stages_failed": [],
"stages_blocked": ["<blocked だったステージを列挙>"],
"user_action_required": "ユーザー中止。worktree / progress.json は保持、後日 spec-leader 再起動で再開モードに再入場可能",
"resume_point_at_abort": "<current_stage の値>",
"notes": "再開モードで中止選択"
}#### 14.4.1 保持されるもの / 破棄されるもの
| 対象 | 挙動 |
|---|---|
worktrees/<spec-name>/ | 保持 (再開用) |
specs/<spec-name>.progress.json | 保持 |
worktrees/<spec-name>/progress.md | 保持 |
specs/<spec-name>.result.json | 上記 JSON で生成 |
#### 14.4.2 再再開の可能性
aborted-on-resume は回復可能な状態です。後日 spec-leader を再起動すると再び再開モードに入り、§14.2 手順に従って状態確認からやり直します。完全な破棄が必要な場合は、ユーザーが明示的に worktrees/<spec-name>/ を削除 + progress.json / result.json を削除してから新規に spec-leader を起動します。
どのステージでも失敗が発生した場合、全停止 + ユーザー相談 に移行します (Q6 確定)。
failed に更新、error に原因を記録pending のまま (飛ばさない)result.json を verdict: aborted で生成Phase 3 では自動リトライを行いません (Q6 = (a) 全停止)。下位 skill / agent が独自にリトライする場合は本 skill は関与しません。
Phase 3 時点では下位 skill / agent の多くが未実装です。本 skill は以下のように扱います。
各ステージ開始時、必要な skill が ~/.claude/skills/<skill-name>/SKILL.md として存在するかを確認します。agent についても同様に agents/ ディレクトリ or 設定を参照します。
stages.<stage>.status を blocked にstages.<stage>.missing_skill / missing_agent に不足を列挙result.json の verdict を paused にPlan は本 skill の前提条件 (main 側で writing-plan 事前実行済) として扱うため、本表の対象外 (前提チェックは §3 参照)。本 skill が制御する 5 ステージ:
| ステージ | 必要 skill | 必要 agent | 実装状況 |
|---|---|---|---|
| Isolate | (本 skill で直接 git worktree + ファイルコピー実行) | — | ○ |
| Implement | tdd-driver ○ | developer ○ (2026-04-21 実装) | ○ |
| Verify | verification-before-completion ○ | verifier ○ (2026-04-21 実装) | ○ |
| Code Review | receiving-code-review ○ / cross-model-review ○ | 3 reviewer agent ○ (2026-04-21 実装) | ○ |
| ship | (本 skill で直接 git merge + archive 移動実行) | — | ○ |
2026-04-22 時点で Phase 3 の全 skill (11 種) + agent (5 種) が実装完了し、iter-3 統合完走テスト (verdict: shipped) で全 5 ステージ通過を確認済み。Phase 5 対応の残 agent (investigator / spec-reviewer / orchestrator) は本 skill の動作に影響しない。
本 skill は Phase 5 で orchestrator が追加された際に改修不要であるよう、以下を担保しています。
| 観点 | 担保 |
|---|---|
| 呼び出し元の抽象化 | 本 skill は「誰に呼ばれたか」を意識しない (入力 spec_path のみに依存) |
| 状態の外部化 | 内部状態を持たず、すべての進捗を progress.json に記録 (orchestrator からも参照可能) |
| 結果の機械可読化 | result.json で終了状態を表現 (orchestrator が次 Spec へ進む判断に使用可能) |
| 並列呼び出し安全性 | worktree 単位で動作、他 Spec との状態共有なし (orchestrator が本 skill を並列起動しても衝突しない) |
| 下位 skill の入出力契約 | writing-plan は plan.md、verifier は検証レポート、等、下位との契約はファイルベース (変更不要) |
以下を行ってはいけません。
git rm が必要)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.