- architect-plan → plan ムーブメントに変更、architect-planner エージェント導入 - 「既存パターン踏襲」から「最適パターン検討」へ方針転換 - worktree-sessions 関連コードを削除(未使用機能の整理)
351 lines
12 KiB
YAML
351 lines
12 KiB
YAML
# Coding TAKT Piece
|
||
# Plan -> Implement -> Parallel Review (AI + Architecture) -> Fix if needed
|
||
#
|
||
# 計画と並列レビューを備えた軽量な開発ピース。
|
||
# architect-plannerが要件を調査・整理し、不明点はコードを読んで自力で解決する。
|
||
# 並列レビュー後、問題がなければ直接完了し、高速なフィードバックループを実現。
|
||
#
|
||
# フロー:
|
||
# plan (要件調査・計画)
|
||
# ↓
|
||
# implement (実装)
|
||
# ↓
|
||
# reviewers (並列レビュー)
|
||
# ├─ ai_review (AI特有問題検出)
|
||
# └─ arch-review (設計準拠性確認)
|
||
# ↓
|
||
# [判定]
|
||
# ├─ all(approved) → COMPLETE
|
||
# └─ any(needs_fix) → fix → reviewers (再レビュー)
|
||
#
|
||
# Template Variables (auto-injected by buildInstruction):
|
||
# {iteration} - Piece-wide turn count (total movements executed across all agents)
|
||
# {max_iterations} - Maximum iterations allowed for the piece
|
||
# {movement_iteration} - Per-movement iteration count (how many times THIS movement has been executed)
|
||
# {task} - Original user request
|
||
# {previous_response} - Output from the previous movement
|
||
# {user_inputs} - Accumulated user inputs during piece
|
||
# {report_dir} - Report directory name (e.g., "20250126-143052-task-summary")
|
||
|
||
name: coding-hybrid-codex
|
||
description: Lightweight development piece with planning and parallel reviews (plan -> implement -> parallel review -> complete)
|
||
|
||
max_iterations: 20
|
||
|
||
initial_movement: plan
|
||
|
||
movements:
|
||
- name: plan
|
||
edit: false
|
||
agent: ../agents/default/architect-planner.md
|
||
report:
|
||
name: 00-plan.md
|
||
format: |
|
||
```markdown
|
||
# タスク計画
|
||
|
||
## 元の要求
|
||
{ユーザーの要求をそのまま記載}
|
||
|
||
## 分析結果
|
||
|
||
### 目的
|
||
{達成すべきこと}
|
||
|
||
### スコープ
|
||
|
||
**変更対象ファイル:**
|
||
| ファイル | 変更内容 |
|
||
|---------|---------|
|
||
|
||
**テストへの影響:**
|
||
| ファイル | 影響 |
|
||
|---------|------|
|
||
|
||
### 設計判断(必要な場合)
|
||
- ファイル構成: {新規ファイルの配置、根拠}
|
||
- 設計パターン: {採用するパターンとその理由}
|
||
|
||
### 実装アプローチ
|
||
{どう進めるか}
|
||
```
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
rules:
|
||
- condition: 要件が明確で実装可能
|
||
next: implement
|
||
- condition: ユーザーが質問をしている(実装タスクではない)
|
||
next: COMPLETE
|
||
- condition: 要件が不明確、情報不足
|
||
next: ABORT
|
||
instruction_template: |
|
||
タスクを分析し、実装方針を立ててください。
|
||
|
||
**不明点の扱い(重要):**
|
||
タスクに Open Questions や不明点がある場合は、コードを読んで調査し自力で解決してください。
|
||
調査しても解決できない外部要因(ユーザーの意図が判断できない等)のみ「要件が不明確」と判断してください。
|
||
コードを読めば分かることは「不明確」ではありません。
|
||
|
||
**やること:**
|
||
1. タスクの要件を理解する
|
||
2. 関連するコードを読んで現状を把握する
|
||
3. 不明点があればコード調査で解決する
|
||
4. 影響範囲を特定する
|
||
5. 実装アプローチを決める
|
||
|
||
- name: implement
|
||
edit: true
|
||
agent: ../agents/default/coder.md
|
||
provider: codex
|
||
session: refresh
|
||
report:
|
||
- Scope: 02-coder-scope.md
|
||
- Decisions: 03-coder-decisions.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Edit
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
permission_mode: edit
|
||
rules:
|
||
- condition: 実装完了
|
||
next: reviewers
|
||
- condition: 実装未着手(レポートのみ)
|
||
next: reviewers
|
||
- condition: 判断できない、情報不足
|
||
next: reviewers
|
||
- condition: ユーザー入力が必要
|
||
next: implement
|
||
requires_user_input: true
|
||
interactive_only: true
|
||
instruction_template: |
|
||
planムーブメントで立てた計画に従って実装してください。
|
||
|
||
**参照するレポート:**
|
||
- 計画: {report:00-plan.md}
|
||
|
||
Piece Contextに示されたReport Directory内のファイルのみ参照してください。他のレポートディレクトリは検索/参照しないでください。
|
||
|
||
**重要:** 計画で決定されたアプローチに従ってください。
|
||
不明点や方針の変更が必要な場合は報告してください。
|
||
|
||
**重要**: 実装と同時に単体テストを追加してください。
|
||
- 新規作成したクラス・関数には単体テストを追加
|
||
- 既存コードを変更した場合は該当するテストを更新
|
||
- テストファイルの配置: プロジェクトの規約に従う(例: `__tests__/`, `*.test.ts`)
|
||
- **テスト実行は必須です。** 実装完了後、必ずテストを実行して結果を確認してください。
|
||
|
||
**Scopeレポートフォーマット(実装開始時に作成):**
|
||
```markdown
|
||
# 変更スコープ宣言
|
||
|
||
## タスク
|
||
{タスクの1行要約}
|
||
|
||
## 変更予定
|
||
| 種別 | ファイル |
|
||
|------|---------|
|
||
| 作成 | `src/example.ts` |
|
||
| 変更 | `src/routes.ts` |
|
||
|
||
## 推定規模
|
||
Small / Medium / Large
|
||
|
||
## 影響範囲
|
||
- {影響するモジュールや機能}
|
||
```
|
||
|
||
**Decisionsレポートフォーマット(実装完了時、決定がある場合のみ):**
|
||
```markdown
|
||
# 決定ログ
|
||
|
||
## 1. {決定内容}
|
||
- **背景**: {なぜ決定が必要だったか}
|
||
- **検討した選択肢**: {選択肢リスト}
|
||
- **理由**: {選んだ理由}
|
||
```
|
||
|
||
**必須出力(見出しを含める)**
|
||
## 作業結果
|
||
- {実施内容の要約}
|
||
## 変更内容
|
||
- {変更内容の要約}
|
||
## テスト結果
|
||
- {実行コマンドと結果}
|
||
|
||
- name: reviewers
|
||
parallel:
|
||
- name: ai_review
|
||
edit: false
|
||
agent: ../agents/default/ai-antipattern-reviewer.md
|
||
report:
|
||
name: 04-ai-review.md
|
||
format: |
|
||
```markdown
|
||
# AI生成コードレビュー
|
||
|
||
## 結果: APPROVE / REJECT
|
||
|
||
## サマリー
|
||
{1文で結果を要約}
|
||
|
||
## 検証した項目
|
||
| 観点 | 結果 | 備考 |
|
||
|------|------|------|
|
||
| 仮定の妥当性 | ✅ | - |
|
||
| API/ライブラリの実在 | ✅ | - |
|
||
| コンテキスト適合 | ✅ | - |
|
||
| スコープ | ✅ | - |
|
||
|
||
## 問題点(REJECTの場合)
|
||
| # | カテゴリ | 場所 | 問題 |
|
||
|---|---------|------|------|
|
||
| 1 | 幻覚API | `src/file.ts:23` | 存在しないメソッド |
|
||
```
|
||
|
||
**認知負荷軽減ルール:**
|
||
- 問題なし → サマリー1文 + チェック表のみ(10行以内)
|
||
- 問題あり → + 問題を表形式で(25行以内)
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- WebSearch
|
||
- WebFetch
|
||
rules:
|
||
- condition: AI特有の問題なし
|
||
- condition: AI特有の問題あり
|
||
instruction_template: |
|
||
AI特有の問題についてコードをレビューしてください:
|
||
- 仮定の検証
|
||
- もっともらしいが間違っているパターン
|
||
- 既存コードベースとの適合性
|
||
- スコープクリープの検出
|
||
|
||
**参照するレポート:**
|
||
- 実装スコープ: {report:02-coder-scope.md}
|
||
- 決定ログ: {report:03-coder-decisions.md}(存在する場合)
|
||
|
||
- name: arch-review
|
||
edit: false
|
||
agent: ../agents/default/architecture-reviewer.md
|
||
report:
|
||
name: 05-architect-review.md
|
||
format: |
|
||
```markdown
|
||
# アーキテクチャレビュー
|
||
|
||
## 結果: APPROVE / REJECT
|
||
|
||
## サマリー
|
||
{1-2文で結果を要約}
|
||
|
||
## 確認した観点
|
||
- [x] 構造・設計
|
||
- [x] コード品質
|
||
- [x] 変更スコープ
|
||
- [x] テストカバレッジ
|
||
- [x] デッドコード
|
||
- [x] 呼び出しチェーン検証
|
||
|
||
## 問題点(REJECTの場合)
|
||
| # | スコープ | 場所 | 問題 | 修正案 |
|
||
|---|---------|------|------|--------|
|
||
| 1 | スコープ内 | `src/file.ts:42` | 問題の説明 | 修正方法 |
|
||
|
||
スコープ: 「スコープ内」(今回修正可能)/ 「スコープ外」(既存問題・非ブロッキング)
|
||
|
||
## 既存問題(参考・非ブロッキング)
|
||
- {既存問題の記録。今回の変更と無関係な問題}
|
||
```
|
||
|
||
**認知負荷軽減ルール:**
|
||
- APPROVE → サマリーのみ(5行以内)
|
||
- REJECT → 問題点を表形式で(30行以内)
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- WebSearch
|
||
- WebFetch
|
||
rules:
|
||
- condition: approved
|
||
- condition: needs_fix
|
||
instruction_template: |
|
||
**実装が計画に従っているか**を確認してください。
|
||
AI特有の問題はレビューしないでください(ai_reviewムーブメントで行います)。
|
||
|
||
**参照するレポート:**
|
||
- 計画: {report:00-plan.md}
|
||
- 実装スコープ: {report:02-coder-scope.md}
|
||
|
||
**レビュー観点:**
|
||
- 計画との整合性(計画で定めたスコープ・アプローチに従っているか)
|
||
- コード品質(DRY、YAGNI、Fail Fast、イディオマティック)
|
||
- 変更スコープの適切性
|
||
- テストカバレッジ
|
||
- デッドコード
|
||
- 呼び出しチェーン検証
|
||
|
||
rules:
|
||
- condition: all("AI特有の問題なし", "approved")
|
||
next: COMPLETE
|
||
- condition: any("AI特有の問題あり", "needs_fix")
|
||
next: fix
|
||
|
||
- name: fix
|
||
edit: true
|
||
agent: ../agents/default/coder.md
|
||
provider: codex
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Edit
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
permission_mode: edit
|
||
rules:
|
||
- condition: 修正完了
|
||
next: reviewers
|
||
- condition: 判断できない、情報不足
|
||
next: ABORT
|
||
instruction_template: |
|
||
レビュアーのフィードバックに対応してください。
|
||
|
||
**両方のレビュー結果を確認してください:**
|
||
- AI Review: {report:04-ai-review.md}
|
||
- Architecture Review: {report:05-architect-review.md}
|
||
|
||
**重要:** 両方のレビューで指摘された問題を全て修正してください。
|
||
- AI Reviewの指摘: 幻覚API、仮定の妥当性、スコープクリープ等
|
||
- Architecture Reviewの指摘: 設計との整合性、コード品質、テストカバレッジ等
|
||
|
||
**必須アクション:**
|
||
1. 指摘された全ファイルを Read tool で開く
|
||
2. 問題箇所を確認する
|
||
3. Edit tool で修正する
|
||
4. **テストを実行して検証する(必須)**
|
||
5. 修正内容を具体的に報告する
|
||
|
||
**必須出力(見出しを含める)**
|
||
## 作業結果
|
||
- {実施内容の要約}
|
||
## 変更内容
|
||
- {変更内容の要約}
|
||
## テスト結果
|
||
- {実行コマンドと結果}
|
||
## 証拠
|
||
- {確認したファイル/検索/差分/ログの要点を列挙}
|