プロンプト文または既存成果物(要件定義・設計のHTML/MD)から、Sprint計画 → 全タスク自律実装 → sprint→main PR → エビデンスレポート(HTML)生成までを1コマンドで完結する。Loop Engineering の最上位親スキル。
Scanned 9/5/2026
Install to Claude Code
npx -y skills add mae616/ai-template --skill auto-build --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Auto Build?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/mae616-auto-build)More formats (shields.io, HTML) on the badges page.
---
user-invocable: true
description: "プロンプト文または既存成果物(要件定義・設計のHTML/MD)から、Sprint計画 → 全タスク自律実装 → sprint→main PR → エビデンスレポート(HTML)生成までを1コマンドで完結する。Loop Engineering の最上位親スキル。"
---
# [ループ] 自律ビルド `/auto-build`
> Loop Engineering の最上位親スキル。既存のループ層スキル(task-list / task-detail / auto-task / auto-bug)を**連鎖呼び出し**して、「作って」から「完成+エビデンス提示」まで自律で運ぶ。スキル本体は触らない(Harness 層不可侵)。
>
> 設計根拠: `meta/adr-lite.md` の **ADR-008 / ADR-014**
>
> 人間の関所は**最小限の2箇所**: (1) プロンプト起点(モードA)のみ、rdd.md 生成直後の要件確認 / (2) エビデンスレポートを見て sprint → main のマージを判断する。
## 入力: $ARGUMENTS
2通りの入口を受け付ける:
| モード | 入力例 | 動き |
|---|---|---|
| **A: プロンプト** | `/auto-build "家計簿アプリを作って"` | AI が要件定義(rdd.md)から起こす |
| **B: 成果物** | `/auto-build doc/input/設計.md` | 既存の要件定義・設計(HTML/MD・プロトタイプ)を読み込んで開始 |
| **C: proto-loop選定結果** | `/auto-build --from-proto <設定集パス>` | `proto-loop` で連作・統合した結果(設定集+統合プロト)を rdd.md の種として取り込み、TDD で作り直す(プロトのコード再利用は最小限。`--from-mvp` は旧称エイリアス) |
オプション(省略時は `mvp`):
- `--scope mvp`: MVP(最小の動く価値)までを計画・実装する
- `--scope product`: 要件全体(非機能・磨き込み含む)までを計画・実装する
---
## 🎯 目的
- 人間が途中に関わらなくても、**SOLID 原則・TDD・レビュー収束・テストピラミッド網羅**を守った実装をゴールまで運ぶ
- 最後に人間が**安心して判断できるエビデンス**(HTML レポート)を提示する
- 中断してもどこからでも再開できる(`history/loop-state.md`)
---
## 前提(必ず確認)
- GitHub リポジトリ・gh CLI が使える状態であること
- 課金が発生しうる操作(新規パッケージインストール、リモートデプロイ、外部 API 課金)は**事前にユーザーへ確認**して止まる(`/auto-task` と同じ方針)
- **sprint → main は絶対に自律マージしない**(人間の唯一の関所)
---
## 実行手順
### 0. ループ状態ファイルの初期化
`history/loop-state.md` を以下で開始(既存なら追記):
```markdown
## YYYY-MM-DD HH:MM /auto-build <入力の要約> (--scope <mvp|product>)
- status: in_progress
- steps:
- [ ] project-init-check (未初期化なら project-init 連鎖)
- [ ] input-normalize (rdd.md 準備)
- [ ] task-list (Sprint計画)
- [ ] sprint-loop (Sprintごとの実装。進捗は sprint 単位で追記)
- [ ] evidence-report (HTML生成)
- [ ] handoff (人間への提示)
- last_action: ループ開始
```
各ステップ完了時に `[x]` 更新と `last_action` 書き換え(ADR-012 の中断時復帰の鍵)。
---
### 1. プロジェクト初期化判定
実行ディレクトリが**未初期化**(判定基準: `package.json`/`pyproject.toml` 等のプロジェクト定義ファイルが無い、または `src` 相当が空)の場合、Sprint 計画へ進む前に **`project-init` を連鎖**し、公式推奨ボイラーテンプレート(`npm create` 等)からプロジェクトを作成する。対話式コマンドは `.claude/rules/tool-usage.md` の対話式コマンドガイドに従い、ユーザー手動実行を案内する。既に初期化済みならスキップする。
---
### 2. 入力判定 → rdd.md 準備
**モードA(プロンプト文)**:
1. プロンプトから「目標 / 非目標 / 想定ユーザー / 技術スタック / 非機能要件」を骨子に起こす
2. 不明点は**推測で埋めず**、妥当なデフォルトを選んだ場合はその旨を rdd.md に「AI判断」として明記する(後からエビデンスで追える状態にする)
3. `doc/input/rdd.md` として書き出す(既存があれば追記・更新の確認を取る)
4. **🛑 停止条件(要件の関所)**: rdd.md の要約を提示して**人間の GO を待つ**。要件のズレは以降の全工程を無駄にするため、モードAではここで必ず1回止まる(モードBは既存成果物が要件の合意物なのでスキップ可)
**モードB(成果物パス)**:
1. 指定された HTML / MD / プロトタイプを読み込む
2. `doc/input/rdd.md` の形式(目標・非目標・技術スタック・非機能要件)に**正規化**する
3. 成果物と rdd.md の対応関係(どのセクションが出典か)を rdd.md 内に記録する
> どちらのモードでも、以降のループの SSOT は `doc/input/rdd.md`。
---
### 3. Sprint 計画(task-list 連鎖)
- **デザイン適用タイミングの判定**(UI を持つプロジェクトのみ):
- デザインSSOT(`doc/input/design/*`)・Figma参照・rdd.md のデザイン要件が**既にある** → **先行**: design 系 Issue を最初の Sprint から含める(実装は `auto-design` 連鎖)
- **無い** → **🛑 人間に確認**: 先行(`design-mock` で叩き台から固める)か、後行(機能 Sprint を先に回し、機能の Vibe 確認後にデザイン Sprint を計画)かを選んでもらう。後行の場合、機能実装は `dev-practices.md` の後行時実装規約(SSOT参照の仮値・セマンティック構造)で進める
- **判定・選択の結果(先行/後行)は `doc/input/rdd.md` に「デザイン適用タイミング」として記録する**(連鎖先 `auto-task` の停止要否判定と、中断再開時の根拠になる。会話の文脈だけに残すと再開後に判定できない)
- **project-design-language の起票確認**(UI を持つプロジェクトのみ): `.claude/skills/project-design-language/SKILL.md` が**雛形のまま**(基本方針が `{...}` / TBD)なら、デザイン実装に入る前に埋める工程を計画へ組み込む:
- **先行**の場合 → この場で `judgment-harness` の発酵ループに従い、基本方針(誰のため/北極星/単一メタファー)を人間と対話で埋めてから design 系 Issue へ進む
- **後行**の場合 → デザイン Sprint の先頭に「project-design-language 起票」Issue を作成する(機能 Sprint 中は TBD のままでよい)
- `task-list` の手順に従い、rdd.md から Milestone(Sprint)と Issue を一括作成
- `--scope mvp` の場合は **MVP に必要な Sprint のみ**計画する。`--scope product` は要件全体を Sprint に分割
- 組み込み Task にも登録(並行・依存管理)
---
### 4. Sprint ループ(Sprintごとに反復)
各 Sprint について以下を順に実行する:
1. **`task-detail` 連鎖**: Sprint 内の全 Issue を詳細化(実装ブループリント・依存関係・`ready-for-dev`)し、`sprint/*` ブランチを作成
2. **タスクループ**: `ready-for-dev` な Issue を**依存関係順**に `auto-task` 連鎖で実行
- **デザイン系 Issue**(画面・UIコンポーネント実装。Figma 参照や SSOT を持つもの)は `auto-task` の代わりに **`auto-design`** を連鎖する
- 実装(SOLID 遵守)→ テストピラミッド全層(単体/結合/E2E)→ bug 検知時は問題解決志向の bug-* 連鎖で自己修復して復帰 → basic-review 収束 → deep-review 収束 → task→sprint 自律マージ
- 依存が独立な Issue はサブエージェントで並行実行してよい(結果の整合は統合時に確認)
3. **Sprint 完了検知**: 全タスクマージ後、`auto-task` ステップ9に従い **sprint → main の PR を作成**(マージはしない)
**Sprint 単位で `history/loop-state.md` に進捗を追記**(`sprint-1: completed (PR #42)` の形式)。
**🛑 停止条件(blocked タスクの扱い)**:
- あるタスクが blocked(bug 連鎖 3周超え / レビュー反復上限超え / 危険変更チェック該当)になった場合:
- そのタスクに**依存しない**他タスクは続行してよい
- blocked タスクに**依存する**タスクには着手しない
- **同一 Sprint 内で 2 タスクが blocked になったら Sprint ループ全体を停止**し、`history/loop-state.md` に状況を記録して人間へ報告する(構造的な問題(要件・設計のズレ)の兆候であり、押し切ると傷が深くなるため)
---
### 5. エビデンスレポート生成(HTML)
全 Sprint 完了後(または `--scope mvp` の範囲完了後)、人間の判断材料を1つの HTML に集約する。
- **出力先**: `doc/output/evidence/YYYY-MM-DD-<プロジェクト名>.html`
- **生成方法**: `build-context-site` の仕組み・スタイルを流用(自己完結 HTML、外部依存なし)
**必須コンテンツ**:
| セクション | 内容 |
|---|---|
| 要件・設計 | rdd.md の要約と全文リンク、AI判断で埋めた箇所の一覧、アーキテクチャ概要(構成図) |
| Sprint / タスク | Sprint一覧、各 Issue と対応 PR、依存関係グラフ |
| レビュー履歴 | basic-review / deep-review の**反復回数と指摘数の推移**(例: basic 3周 8→2→0件)、主要指摘と対応内容 |
| テスト結果 | 単体 / 結合 / E2E の実行結果・件数・カバレッジ。実行コマンドと生ログへの参照 |
| bug 対応記録 | bug-* 連鎖の発動回数、試した修正案と採否、ロールバック履歴 |
| 判断待ち | sprint → main の PR 一覧(リンク)、`ai-merged-unreviewed` ラベルの残数 |
> 原則: **「AIがやったと言っている」ではなく「人間が検証できる」**形で載せる。テスト結果は実行ログ由来、レビュー履歴はコミット・PR コメント由来で、出典を辿れるようにする。
---
### 6. 人間への引き渡し(handoff)
1. エビデンスレポートのパスを提示し、内容の要約(3〜5行)を添える
2. sprint → main の PR 一覧と「マージ判断をお願いする」旨を明示
3. `history/loop-state.md` を `status: completed` に更新
4. Vibe Coding(人間が実際に触る確認)を促す。フィードバックが出たら通常フロー(タスク化 → `/auto-task` or `/auto-bug`)で受ける
---
## 課金前停止ポイント
`/auto-task` と同じ(新規パッケージ・リモートデプロイ・有料外部 API・有料 CI)。加えて:
- **モードAで技術スタックを AI が選定する場合**、有料 SaaS を前提にする選定は**事前確認**して止まる
---
## 中断・再開
- `history/loop-state.md` の `last_action` と Sprint 単位の進捗記録から再開位置を判定
- 手動再開は `/auto-build` を再起動(同じ rdd.md があれば入力判定をスキップして続きから)
- `/auto-task` 単位の中断は auto-task 側の loop-state 記録が生きる(二重管理: 全体は auto-build、タスク内は auto-task)
---
## やってはいけない
- sprint → main の自律マージ(唯一の人間の関所を壊さない)
- rdd.md の不明点を**推測で埋める**。記録すれば埋めてよい、ではない。
不明点は**短問で確認する**か、`doc/draft/` に候補として置いて合意を待つ。
やむを得ず仮置きする場合は「AI判断・未合意」と明記し、**合意を得るまで確定扱いしない**(ADR-027)
- テストが通らない・レビューが収束しないまま次の Sprint へ進む
- エビデンスに検証不能な主張を載せる(出典・ログのないテスト結果、実在しないリンク)
- 課金発生ポイントの確認スキップ
- `history/loop-state.md` の更新を怠る
---
## 自己評価
- **成功自信度**: (1-10)
- **一言理由**: {Sprint数・bug連鎖発動回数・レビュー反復回数・エビデンスの網羅度を踏まえて記載}
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!