908 lines
26 KiB
YAML
908 lines
26 KiB
YAML
# Default TAKT Workflow
|
||
# Plan -> Coder -> Architect Review -> AI Review -> Security Review -> Supervisor Approval
|
||
|
||
name: default
|
||
description: Standard development workflow with planning and specialized reviews
|
||
|
||
max_iterations: 20
|
||
|
||
initial_step: plan
|
||
|
||
steps:
|
||
- name: plan
|
||
agent: ~/.takt/agents/default/planner.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
status_rules: |
|
||
## 判断基準
|
||
|
||
| 状況 | 判定 |
|
||
|------|------|
|
||
| 要件が明確で実装可能 | DONE |
|
||
| 要件が不明確、情報不足 | BLOCKED |
|
||
|
||
## 出力フォーマット
|
||
|
||
| 状況 | タグ |
|
||
|------|------|
|
||
| 分析完了 | `[PLANNER:DONE]` |
|
||
| 情報不足 | `[PLANNER:BLOCKED]` |
|
||
|
||
### DONE時の出力構造
|
||
|
||
```
|
||
[PLANNER:DONE]
|
||
```
|
||
|
||
### BLOCKED時の出力構造
|
||
|
||
```
|
||
[PLANNER:BLOCKED]
|
||
|
||
確認事項:
|
||
- {質問1}
|
||
- {質問2}
|
||
```
|
||
分析結果を以下のタグで出力してください:
|
||
- [PLANNER:DONE] 分析完了
|
||
- [PLANNER:BLOCKED] 情報不足(確認事項を記載)
|
||
instruction_template: |
|
||
## Workflow Context
|
||
- Iteration: {iteration}/{max_iterations}
|
||
- Step: plan (タスク分析)
|
||
- Report Directory: .takt/reports/{report_dir}/
|
||
- Report File: .takt/reports/{report_dir}/00-plan.md
|
||
|
||
## User Request
|
||
{task}
|
||
|
||
## Previous Response (implementからの差し戻し時)
|
||
{previous_response}
|
||
|
||
## Instructions
|
||
タスクを分析し、実装方針を立ててください。
|
||
|
||
**注意:** Previous Responseがある場合は差し戻しのため、
|
||
その内容を踏まえて計画を見直してください(replan)。
|
||
|
||
**やること:**
|
||
1. タスクの要件を理解する
|
||
2. 影響範囲を特定する
|
||
3. 実装アプローチを決める
|
||
|
||
**レポート出力:** 上記の `Report File` に出力してください。
|
||
- ファイルが存在しない場合: 新規作成
|
||
- ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
|
||
|
||
**レポートフォーマット:**
|
||
```markdown
|
||
# タスク計画
|
||
|
||
## 元の要求
|
||
{ユーザーの要求をそのまま記載}
|
||
|
||
## 分析結果
|
||
|
||
### 目的
|
||
{達成すべきこと}
|
||
|
||
### スコープ
|
||
{影響範囲}
|
||
|
||
### 実装アプローチ
|
||
{どう進めるか}
|
||
|
||
## 確認事項(あれば)
|
||
- {不明点や確認が必要な点}
|
||
```
|
||
pass_previous_response: true
|
||
transitions:
|
||
- condition: done
|
||
next_step: implement
|
||
- condition: blocked
|
||
next_step: ABORT
|
||
|
||
- name: implement
|
||
agent: ~/.takt/agents/default/coder.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Edit
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
status_rules: |
|
||
## 出力フォーマット
|
||
|
||
作業完了時は必ず以下のタグを含めてください:
|
||
|
||
| 状況 | タグ |
|
||
|------|------|
|
||
| 実装完了 | `[CODER:DONE]` |
|
||
| Architectの指摘を修正完了 | `[CODER:FIXED]` |
|
||
| 判断できない/情報不足 | `[CODER:BLOCKED]` |
|
||
|
||
**重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
|
||
|
||
### 出力例
|
||
|
||
**実装完了時:**
|
||
```
|
||
実装完了しました。
|
||
- 作成: `src/auth/service.ts`, `tests/auth.test.ts`
|
||
- 変更: `src/routes.ts`
|
||
|
||
[CODER:DONE]
|
||
```
|
||
|
||
**ブロック時:**
|
||
```
|
||
[CODER:BLOCKED]
|
||
理由: DBスキーマが未定義のため実装できません
|
||
必要な情報: usersテーブルの構造
|
||
```
|
||
|
||
**修正完了時:**
|
||
```
|
||
Architectの指摘3点を修正しました。
|
||
- 型定義を追加
|
||
- エラーハンドリングを修正
|
||
- テストケースを追加
|
||
|
||
[CODER:FIXED]
|
||
```
|
||
instruction_template: |
|
||
## Workflow Context
|
||
- Iteration: {iteration}/{max_iterations}
|
||
- Step: implement
|
||
- Report Directory: .takt/reports/{report_dir}/
|
||
- Report Files:
|
||
- Scope: .takt/reports/{report_dir}/01-coder-scope.md
|
||
- Decisions: .takt/reports/{report_dir}/02-coder-decisions.md
|
||
|
||
## User Request
|
||
{task}
|
||
|
||
## Additional User Inputs
|
||
{user_inputs}
|
||
|
||
## Instructions
|
||
planステップで立てた計画に従って実装してください。
|
||
計画レポート(00-plan.md)を参照し、実装を進めてください。
|
||
|
||
**レポート出力:** 上記の `Report Files` に出力してください。
|
||
- ファイルが存在しない場合: 新規作成
|
||
- ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
|
||
|
||
**Scopeレポートフォーマット(実装開始時に作成):**
|
||
```markdown
|
||
# 変更スコープ宣言
|
||
|
||
## タスク
|
||
{タスクの1行要約}
|
||
|
||
## 変更予定
|
||
| 種別 | ファイル |
|
||
|------|---------|
|
||
| 作成 | `src/example.ts` |
|
||
| 変更 | `src/routes.ts` |
|
||
|
||
## 推定規模
|
||
Small / Medium / Large
|
||
|
||
## 影響範囲
|
||
- {影響するモジュールや機能}
|
||
```
|
||
|
||
**Decisionsレポートフォーマット(実装完了時、決定がある場合のみ):**
|
||
```markdown
|
||
# 決定ログ
|
||
|
||
## 1. {決定内容}
|
||
- **背景**: {なぜ決定が必要だったか}
|
||
- **検討した選択肢**: {選択肢リスト}
|
||
- **理由**: {選んだ理由}
|
||
```
|
||
transitions:
|
||
- condition: done
|
||
next_step: review
|
||
- condition: blocked
|
||
next_step: plan
|
||
|
||
- name: review
|
||
agent: ~/.takt/agents/default/architect.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- WebSearch
|
||
- WebFetch
|
||
status_rules: |
|
||
## 判定基準
|
||
|
||
| 状況 | 判定 |
|
||
|------|------|
|
||
| 構造に問題がある | REJECT |
|
||
| 設計原則違反がある | REJECT |
|
||
| セキュリティ問題がある | REJECT |
|
||
| テストが不十分 | REJECT |
|
||
| 改善すべき点がある(ブロッキングではないが対応すべき) | IMPROVE |
|
||
| 問題なし | APPROVE |
|
||
|
||
**IMPROVEの使い方:**
|
||
- 設計としては許容範囲だが、改善した方が良い点がある場合
|
||
- 次のステップに進む前に修正させたい軽微な問題
|
||
- 例: 命名の改善、小さなリファクタリング、コメント追加
|
||
|
||
## ステータス出力形式
|
||
|
||
レビュー結果を以下のタグで出力してください:
|
||
- [ARCHITECT:APPROVE] 問題なし
|
||
- [ARCHITECT:IMPROVE] 軽微な改善必要
|
||
- [ARCHITECT:REJECT] 構造的な修正必要
|
||
|
||
### 出力例
|
||
|
||
**REJECTの場合:**
|
||
```
|
||
[ARCHITECT:REJECT]
|
||
|
||
### 問題点
|
||
|
||
1. **ファイルサイズ超過**
|
||
- 場所: `src/services/user.ts` (523行)
|
||
- 問題: 単一ファイルに認証・権限・プロフィール管理が混在
|
||
- 修正案: 以下の3ファイルに分割
|
||
- `src/services/auth.ts` - 認証
|
||
- `src/services/permission.ts` - 権限
|
||
- `src/services/profile.ts` - プロフィール
|
||
```
|
||
|
||
**APPROVEの場合:**
|
||
```
|
||
[ARCHITECT:APPROVE]
|
||
|
||
### 良い点
|
||
- モジュール分割が適切
|
||
- 単一責務が守られている
|
||
|
||
### 改善提案(任意)
|
||
- `utils/` 内の共通処理は将来的に整理を検討
|
||
```
|
||
instruction_template: |
|
||
## Workflow Context
|
||
- Iteration: {iteration}/{max_iterations}
|
||
- Step: review (アーキテクチャレビュー)
|
||
- Report Directory: .takt/reports/{report_dir}/
|
||
- Report File: .takt/reports/{report_dir}/03-architect-review.md
|
||
|
||
## Original User Request (ワークフロー開始時の元の要求)
|
||
{task}
|
||
|
||
## Git Diff
|
||
```diff
|
||
{git_diff}
|
||
```
|
||
|
||
## Instructions
|
||
**アーキテクチャと設計**のレビューに集中してください。AI特有の問題はレビューしないでください(次のステップで行います)。
|
||
|
||
変更をレビューしてフィードバックを提供してください。
|
||
|
||
**レポート出力:** 上記の `Report File` に出力してください。
|
||
- ファイルが存在しない場合: 新規作成
|
||
- ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
|
||
|
||
**レポートフォーマット:**
|
||
```markdown
|
||
# アーキテクチャレビュー
|
||
|
||
## 結果: APPROVE / IMPROVE / REJECT
|
||
|
||
## サマリー
|
||
{1-2文で結果を要約}
|
||
|
||
## 確認した観点
|
||
- [x] 構造・設計
|
||
- [x] コード品質
|
||
- [x] 変更スコープ
|
||
|
||
## 問題点(REJECTの場合)
|
||
| # | 場所 | 問題 | 修正案 |
|
||
|---|------|------|--------|
|
||
| 1 | `src/file.ts:42` | 問題の説明 | 修正方法 |
|
||
|
||
## 改善提案(任意・ブロッキングではない)
|
||
- {将来的な改善提案}
|
||
```
|
||
|
||
**認知負荷軽減ルール:**
|
||
- APPROVE + 問題なし → サマリーのみ(5行以内)
|
||
- APPROVE + 軽微な提案 → サマリー + 改善提案(15行以内)
|
||
- REJECT → 問題点を表形式で(30行以内)
|
||
transitions:
|
||
- condition: approved
|
||
next_step: ai_review
|
||
- condition: improve
|
||
next_step: improve
|
||
- condition: rejected
|
||
next_step: fix
|
||
|
||
- name: improve
|
||
agent: ~/.takt/agents/default/coder.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Edit
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
status_rules: |
|
||
## 出力フォーマット
|
||
|
||
作業完了時は必ず以下のタグを含めてください:
|
||
|
||
| 状況 | タグ |
|
||
|------|------|
|
||
| 実装完了 | `[CODER:DONE]` |
|
||
| Architectの指摘を修正完了 | `[CODER:FIXED]` |
|
||
| 判断できない/情報不足 | `[CODER:BLOCKED]` |
|
||
|
||
**重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
|
||
|
||
### 出力例
|
||
|
||
**実装完了時:**
|
||
```
|
||
実装完了しました。
|
||
- 作成: `src/auth/service.ts`, `tests/auth.test.ts`
|
||
- 変更: `src/routes.ts`
|
||
|
||
[CODER:DONE]
|
||
```
|
||
|
||
**ブロック時:**
|
||
```
|
||
[CODER:BLOCKED]
|
||
理由: DBスキーマが未定義のため実装できません
|
||
必要な情報: usersテーブルの構造
|
||
```
|
||
|
||
**修正完了時:**
|
||
```
|
||
Architectの指摘3点を修正しました。
|
||
- 型定義を追加
|
||
- エラーハンドリングを修正
|
||
- テストケースを追加
|
||
|
||
[CODER:FIXED]
|
||
```
|
||
instruction_template: |
|
||
## Workflow Context
|
||
- Iteration: {iteration}/{max_iterations}
|
||
- Step: improve
|
||
|
||
## Architect Feedback (これが最新の指示です - 優先して対応してください)
|
||
{previous_response}
|
||
|
||
## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
|
||
{task}
|
||
|
||
## Additional User Inputs
|
||
{user_inputs}
|
||
|
||
## Instructions
|
||
**重要**: Architectの改善提案に対応してください。
|
||
これらは軽微な改善であり、設計上の大きな問題ではありません。
|
||
|
||
以下のような改善を行ってください:
|
||
- 命名の改善
|
||
- 小さなリファクタリング
|
||
- コメントの追加・修正
|
||
- コードの整理
|
||
pass_previous_response: true
|
||
transitions:
|
||
- condition: done
|
||
next_step: review
|
||
- condition: blocked
|
||
next_step: plan
|
||
|
||
- name: ai_review
|
||
agent: ~/.takt/agents/default/ai-reviewer.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- WebSearch
|
||
- WebFetch
|
||
status_rules: |
|
||
## 判定基準
|
||
|
||
| 状況 | 判定 |
|
||
|------|------|
|
||
| 仮定が間違っている(動作に影響) | REJECT |
|
||
| もっともらしいが間違っているコード | REJECT |
|
||
| コードベースの文脈に重大な不整合 | REJECT |
|
||
| スコープクリープ | APPROVE(警告を付記) |
|
||
| 軽微なスタイルの逸脱のみ | APPROVE |
|
||
| コードが文脈に合い動作する | APPROVE |
|
||
|
||
**注意:** スコープクリープは警告として記載するが、それだけでREJECTしない。大きな変更が必要なタスクもある。
|
||
|
||
## 出力フォーマット
|
||
|
||
| 状況 | タグ |
|
||
|------|------|
|
||
| AI特有の問題なし | `[AI_REVIEW:APPROVE]` |
|
||
| 問題あり | `[AI_REVIEW:REJECT]` |
|
||
|
||
## ステータス出力形式
|
||
|
||
レビュー結果を以下のタグで出力してください:
|
||
- [AI_REVIEW:APPROVE] AI特有の問題なし
|
||
- [AI_REVIEW:REJECT] 問題あり
|
||
instruction_template: |
|
||
## Workflow Context
|
||
- Iteration: {iteration}/{max_iterations}
|
||
- Step: ai_review (AI生成コードレビュー)
|
||
- Report Directory: .takt/reports/{report_dir}/
|
||
- Report File: .takt/reports/{report_dir}/04-ai-review.md
|
||
|
||
## Original User Request (ワークフロー開始時の元の要求)
|
||
{task}
|
||
|
||
## Git Diff
|
||
```diff
|
||
{git_diff}
|
||
```
|
||
|
||
## Instructions
|
||
AI特有の問題についてコードをレビューしてください:
|
||
- 仮定の検証
|
||
- もっともらしいが間違っているパターン
|
||
- 既存コードベースとの適合性
|
||
- スコープクリープの検出
|
||
|
||
**レポート出力:** 上記の `Report File` に出力してください。
|
||
- ファイルが存在しない場合: 新規作成
|
||
- ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
|
||
|
||
**レポートフォーマット:**
|
||
```markdown
|
||
# AI生成コードレビュー
|
||
|
||
## 結果: APPROVE / REJECT
|
||
|
||
## サマリー
|
||
{1文で結果を要約}
|
||
|
||
## 検証した項目
|
||
| 観点 | 結果 | 備考 |
|
||
|------|------|------|
|
||
| 仮定の妥当性 | ✅ | - |
|
||
| API/ライブラリの実在 | ✅ | - |
|
||
| コンテキスト適合 | ✅ | - |
|
||
| スコープ | ✅ | - |
|
||
|
||
## 問題点(REJECTの場合)
|
||
| # | カテゴリ | 場所 | 問題 |
|
||
|---|---------|------|------|
|
||
| 1 | 幻覚API | `src/file.ts:23` | 存在しないメソッド |
|
||
```
|
||
|
||
**認知負荷軽減ルール:**
|
||
- 問題なし → サマリー1文 + チェック表のみ(10行以内)
|
||
- 問題あり → + 問題を表形式で(25行以内)
|
||
transitions:
|
||
- condition: approved
|
||
next_step: security_review
|
||
- condition: rejected
|
||
next_step: ai_fix
|
||
|
||
- name: ai_fix
|
||
agent: ~/.takt/agents/default/coder.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Edit
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
status_rules: |
|
||
## 出力フォーマット
|
||
|
||
作業完了時は必ず以下のタグを含めてください:
|
||
|
||
| 状況 | タグ |
|
||
|------|------|
|
||
| 実装完了 | `[CODER:DONE]` |
|
||
| Architectの指摘を修正完了 | `[CODER:FIXED]` |
|
||
| 判断できない/情報不足 | `[CODER:BLOCKED]` |
|
||
|
||
**重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
|
||
|
||
### 出力例
|
||
|
||
**実装完了時:**
|
||
```
|
||
実装完了しました。
|
||
- 作成: `src/auth/service.ts`, `tests/auth.test.ts`
|
||
- 変更: `src/routes.ts`
|
||
|
||
[CODER:DONE]
|
||
```
|
||
|
||
**ブロック時:**
|
||
```
|
||
[CODER:BLOCKED]
|
||
理由: DBスキーマが未定義のため実装できません
|
||
必要な情報: usersテーブルの構造
|
||
```
|
||
|
||
**修正完了時:**
|
||
```
|
||
Architectの指摘3点を修正しました。
|
||
- 型定義を追加
|
||
- エラーハンドリングを修正
|
||
- テストケースを追加
|
||
|
||
[CODER:FIXED]
|
||
```
|
||
instruction_template: |
|
||
## Workflow Context
|
||
- Iteration: {iteration}/{max_iterations}
|
||
- Step: ai_fix
|
||
|
||
## AI Review Feedback (これが最新の指示です - 優先して対応してください)
|
||
{previous_response}
|
||
|
||
## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
|
||
{task}
|
||
|
||
## Additional User Inputs
|
||
{user_inputs}
|
||
|
||
## Instructions
|
||
**重要**: AI Reviewerのフィードバックに対応してください。
|
||
以下に集中してください:
|
||
- 間違った仮定の修正
|
||
- もっともらしいが間違っている実装の修正
|
||
- 既存コードベースのパターンとの整合
|
||
- スコープクリープの除去
|
||
pass_previous_response: true
|
||
transitions:
|
||
- condition: done
|
||
next_step: review
|
||
- condition: blocked
|
||
next_step: plan
|
||
|
||
- name: security_review
|
||
agent: ~/.takt/agents/default/security.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- WebSearch
|
||
- WebFetch
|
||
status_rules: |
|
||
## 判定基準
|
||
|
||
| 状況 | 判定 |
|
||
|------|------|
|
||
| 重大な脆弱性(即REJECT) | REJECT |
|
||
| 中程度の脆弱性 | REJECT |
|
||
| 軽微な問題・警告のみ | APPROVE(警告を付記) |
|
||
| セキュリティ問題なし | APPROVE |
|
||
|
||
## ステータス出力形式
|
||
|
||
レビュー結果を以下のタグで出力してください:
|
||
- [SECURITY:APPROVE] セキュリティ問題なし
|
||
- [SECURITY:REJECT] 脆弱性があり修正が必要(具体的な問題をリスト)
|
||
instruction_template: |
|
||
## Workflow Context
|
||
- Iteration: {iteration}/{max_iterations}
|
||
- Step: security_review
|
||
- Report Directory: .takt/reports/{report_dir}/
|
||
- Report File: .takt/reports/{report_dir}/05-security-review.md
|
||
|
||
## Original User Request (ワークフロー開始時の元の要求)
|
||
{task}
|
||
|
||
## Git Diff
|
||
```diff
|
||
{git_diff}
|
||
```
|
||
|
||
## Instructions
|
||
変更に対してセキュリティレビューを行ってください。以下の脆弱性を確認してください:
|
||
- インジェクション攻撃(SQL, コマンド, XSS)
|
||
- 認証・認可の問題
|
||
- データ露出リスク
|
||
- 暗号化の弱点
|
||
|
||
**レポート出力:** 上記の `Report File` に出力してください。
|
||
- ファイルが存在しない場合: 新規作成
|
||
- ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
|
||
|
||
**レポートフォーマット:**
|
||
```markdown
|
||
# セキュリティレビュー
|
||
|
||
## 結果: APPROVE / REJECT
|
||
|
||
## 重大度: None / Low / Medium / High / Critical
|
||
|
||
## チェック結果
|
||
| カテゴリ | 結果 | 備考 |
|
||
|---------|------|------|
|
||
| インジェクション | ✅ | - |
|
||
| 認証・認可 | ✅ | - |
|
||
| データ保護 | ✅ | - |
|
||
| 依存関係 | ✅ | - |
|
||
|
||
## 脆弱性(REJECTの場合)
|
||
| # | 重大度 | 種類 | 場所 | 修正案 |
|
||
|---|--------|------|------|--------|
|
||
| 1 | High | SQLi | `src/db.ts:42` | パラメータ化クエリを使用 |
|
||
|
||
## 警告(ブロッキングではない)
|
||
- {セキュリティに関する推奨事項}
|
||
```
|
||
|
||
**認知負荷軽減ルール:**
|
||
- 問題なし → チェック表のみ(10行以内)
|
||
- 警告あり → + 警告を1-2行(15行以内)
|
||
- 脆弱性あり → + 表形式で(30行以内)
|
||
transitions:
|
||
- condition: approved
|
||
next_step: supervise
|
||
- condition: rejected
|
||
next_step: security_fix
|
||
|
||
- name: security_fix
|
||
agent: ~/.takt/agents/default/coder.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Edit
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
status_rules: |
|
||
## ステータス出力形式
|
||
|
||
作業完了時は必ず以下のタグを含めてください:
|
||
- [CODER:DONE] セキュリティ修正完了
|
||
- [CODER:BLOCKED] 判断できない/情報不足
|
||
instruction_template: |
|
||
## Workflow Context
|
||
- Iteration: {iteration}/{max_iterations}
|
||
- Step: security_fix
|
||
|
||
## Security Review Feedback (これが最新の指示です - 優先して対応してください)
|
||
{previous_response}
|
||
|
||
## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
|
||
{task}
|
||
|
||
## Additional User Inputs
|
||
{user_inputs}
|
||
|
||
## Instructions
|
||
**重要**: セキュリティレビューで指摘された脆弱性を修正してください。
|
||
セキュリティの問題は最優先で対応が必要です。
|
||
pass_previous_response: true
|
||
transitions:
|
||
- condition: done
|
||
next_step: security_review
|
||
- condition: blocked
|
||
next_step: plan
|
||
|
||
- name: fix
|
||
agent: ~/.takt/agents/default/coder.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Edit
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
status_rules: |
|
||
## 出力フォーマット
|
||
|
||
作業完了時は必ず以下のタグを含めてください:
|
||
|
||
| 状況 | タグ |
|
||
|------|------|
|
||
| 実装完了 | `[CODER:DONE]` |
|
||
| Architectの指摘を修正完了 | `[CODER:FIXED]` |
|
||
| 判断できない/情報不足 | `[CODER:BLOCKED]` |
|
||
|
||
**重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
|
||
|
||
### 出力例
|
||
|
||
**実装完了時:**
|
||
```
|
||
実装完了しました。
|
||
- 作成: `src/auth/service.ts`, `tests/auth.test.ts`
|
||
- 変更: `src/routes.ts`
|
||
|
||
[CODER:DONE]
|
||
```
|
||
|
||
**ブロック時:**
|
||
```
|
||
[CODER:BLOCKED]
|
||
理由: DBスキーマが未定義のため実装できません
|
||
必要な情報: usersテーブルの構造
|
||
```
|
||
|
||
**修正完了時:**
|
||
```
|
||
Architectの指摘3点を修正しました。
|
||
- 型定義を追加
|
||
- エラーハンドリングを修正
|
||
- テストケースを追加
|
||
|
||
[CODER:FIXED]
|
||
```
|
||
instruction_template: |
|
||
## Workflow Context
|
||
- Iteration: {iteration}/{max_iterations}
|
||
- Step: fix
|
||
|
||
## Architect Feedback (これが最新の指示です - 優先して対応してください)
|
||
{previous_response}
|
||
|
||
## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
|
||
{task}
|
||
|
||
## Additional User Inputs
|
||
{user_inputs}
|
||
|
||
## Instructions
|
||
**重要**: Architectのフィードバックに対応してください。
|
||
「Original User Request」は参考情報であり、最新の指示ではありません。
|
||
セッションの会話履歴を確認し、Architectの指摘事項を修正してください。
|
||
pass_previous_response: true
|
||
transitions:
|
||
- condition: done
|
||
next_step: review
|
||
- condition: blocked
|
||
next_step: plan
|
||
|
||
- name: supervise
|
||
agent: ~/.takt/agents/default/supervisor.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
status_rules: |
|
||
|
||
| 状況 | 判定 |
|
||
|------|------|
|
||
| 要求が満たされていない | REJECT |
|
||
| テストが失敗する | REJECT |
|
||
| ビルドが通らない | REJECT |
|
||
| その場しのぎが残っている | REJECT |
|
||
| すべて問題なし | APPROVE |
|
||
|
||
**原則**: 疑わしきは REJECT。曖昧な承認はしない。
|
||
|
||
## 出力フォーマット
|
||
|
||
| 状況 | タグ |
|
||
|------|------|
|
||
| 最終承認 | `[SUPERVISOR:APPROVE]` |
|
||
| 差し戻し | `[SUPERVISOR:REJECT]` |
|
||
instruction_template: |
|
||
## Workflow Context
|
||
- Iteration: {iteration}/{max_iterations}
|
||
- Step: supervise (final verification)
|
||
- Report Directory: .takt/reports/{report_dir}/
|
||
- Report Files:
|
||
- Validation: .takt/reports/{report_dir}/06-supervisor-validation.md
|
||
- Summary: .takt/reports/{report_dir}/summary.md
|
||
|
||
## Original User Request
|
||
{task}
|
||
|
||
## Git Diff
|
||
```diff
|
||
{git_diff}
|
||
```
|
||
|
||
## Instructions
|
||
テスト実行、ビルド確認、最終承認を行ってください。
|
||
|
||
**ワークフロー全体の確認:**
|
||
1. 計画(00-plan.md)と実装結果が一致しているか
|
||
2. 各レビューステップの指摘が対応されているか
|
||
3. 元のタスク目的が達成されているか
|
||
|
||
**レポートの確認:** Report Directory内の全レポートを読み、
|
||
未対応の改善提案がないか確認してください。
|
||
|
||
**レポート出力:** 上記の `Report Files` に出力してください。
|
||
- ファイルが存在しない場合: 新規作成
|
||
- ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
|
||
|
||
**Validationレポートフォーマット:**
|
||
```markdown
|
||
# 最終検証結果
|
||
|
||
## 結果: APPROVE / REJECT
|
||
|
||
## 検証サマリー
|
||
| 項目 | 状態 | 確認方法 |
|
||
|------|------|---------|
|
||
| 要求充足 | ✅ | 要求リストと照合 |
|
||
| テスト | ✅ | `npm test` (N passed) |
|
||
| ビルド | ✅ | `npm run build` 成功 |
|
||
| 動作確認 | ✅ | 主要フロー確認 |
|
||
|
||
## 成果物
|
||
- 作成: {作成したファイル}
|
||
- 変更: {変更したファイル}
|
||
|
||
## 未完了項目(REJECTの場合)
|
||
| # | 項目 | 理由 |
|
||
|---|------|------|
|
||
| 1 | {項目} | {理由} |
|
||
```
|
||
|
||
**Summaryレポートフォーマット(APPROVEの場合のみ):**
|
||
```markdown
|
||
# タスク完了サマリー
|
||
|
||
## タスク
|
||
{元の要求を1-2文で}
|
||
|
||
## 結果
|
||
✅ 完了
|
||
|
||
## 変更内容
|
||
| 種別 | ファイル | 概要 |
|
||
|------|---------|------|
|
||
| 作成 | `src/file.ts` | 概要説明 |
|
||
|
||
## レビュー結果
|
||
| レビュー | 結果 |
|
||
|---------|------|
|
||
| Architect | ✅ APPROVE |
|
||
| AI Review | ✅ APPROVE |
|
||
| Security | ✅ APPROVE |
|
||
| Supervisor | ✅ APPROVE |
|
||
|
||
## 確認コマンド
|
||
```bash
|
||
npm test
|
||
npm run build
|
||
```
|
||
```
|
||
transitions:
|
||
- condition: approved
|
||
next_step: COMPLETE
|
||
- condition: rejected
|
||
next_step: plan
|