# Default TAKT Workflow # Plan -> Implement -> AI Review -> Architect Review -> Security Review -> Supervisor Approval # # Template Variables (auto-injected by buildInstruction): # {iteration} - Workflow-wide turn count (total steps executed across all agents) # {max_iterations} - Maximum iterations allowed for the workflow # {step_iteration} - Per-step iteration count (how many times THIS step has been executed) # {task} - Original user request # {previous_response} - Output from the previous step # {user_inputs} - Accumulated user inputs during workflow # {report_dir} - Report directory name (e.g., "20250126-143052-task-summary") name: default description: Standard development workflow with planning and specialized reviews max_iterations: 30 initial_step: plan steps: - name: plan edit: false agent: ~/.takt/agents/default/planner.md report: name: 00-plan.md format: | ```markdown # タスク計画 ## 元の要求 {ユーザーの要求をそのまま記載} ## 分析結果 ### 目的 {達成すべきこと} ### スコープ {影響範囲} ### 実装アプローチ {どう進めるか} ## 確認事項(あれば) - {不明点や確認が必要な点} ``` allowed_tools: - Read - Glob - Grep - Write - Bash - WebSearch - WebFetch rules: - condition: 要件が明確で実装可能 next: implement - condition: ユーザーが質問をしている(実装タスクではない) next: COMPLETE - condition: 要件が不明確、情報不足 next: ABORT appendix: | 確認事項: - {質問1} - {質問2} pass_previous_response: true instruction_template: | ## Previous Response (implementからの差し戻し時) {previous_response} タスクを分析し、実装方針を立ててください。 **注意:** Previous Responseがある場合は差し戻しのため、 その内容を踏まえて計画を見直してください(replan)。 **やること(実装タスクの場合):** 1. タスクの要件を理解する 2. 影響範囲を特定する 3. 実装アプローチを決める - name: implement edit: true agent: ~/.takt/agents/default/coder.md report: - Scope: 01-coder-scope.md - Decisions: 02-coder-decisions.md allowed_tools: - Read - Glob - Grep - Edit - Write - Bash - WebSearch - WebFetch permission_mode: acceptEdits rules: - condition: 実装完了 next: ai_review - condition: 判断できない、情報不足 next: plan instruction_template: | planステップで立てた計画に従って実装してください。 計画レポート(00-plan.md)を参照し、実装を進めてください。 **重要**: 実装と同時に単体テストを追加してください。 - 新規作成したクラス・関数には単体テストを追加 - 既存コードを変更した場合は該当するテストを更新 - テストファイルの配置: プロジェクトの規約に従う(例: `__tests__/`, `*.test.ts`) **Scopeレポートフォーマット(実装開始時に作成):** ```markdown # 変更スコープ宣言 ## タスク {タスクの1行要約} ## 変更予定 | 種別 | ファイル | |------|---------| | 作成 | `src/example.ts` | | 変更 | `src/routes.ts` | ## 推定規模 Small / Medium / Large ## 影響範囲 - {影響するモジュールや機能} ``` **Decisionsレポートフォーマット(実装完了時、決定がある場合のみ):** ```markdown # 決定ログ ## 1. {決定内容} - **背景**: {なぜ決定が必要だったか} - **検討した選択肢**: {選択肢リスト} - **理由**: {選んだ理由} ``` - name: ai_review edit: false agent: ~/.takt/agents/default/ai-antipattern-reviewer.md report: name: 03-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 - Write - WebSearch - WebFetch rules: - condition: AI特有の問題なし next: review - condition: AI特有の問題あり next: ai_fix instruction_template: | AI特有の問題についてコードをレビューしてください: - 仮定の検証 - もっともらしいが間違っているパターン - 既存コードベースとの適合性 - スコープクリープの検出 - name: ai_fix edit: true agent: ~/.takt/agents/default/coder.md allowed_tools: - Read - Glob - Grep - Edit - Write - Bash - WebSearch - WebFetch permission_mode: acceptEdits rules: - condition: AI問題の修正完了 next: review - condition: 判断できない、情報不足 next: plan instruction_template: | ## AI Review Feedback (これが最新の指示です - 優先して対応してください) {previous_response} **重要**: AI Reviewerのフィードバックに対応してください。 以下に集中してください: - 間違った仮定の修正 - もっともらしいが間違っている実装の修正 - 既存コードベースのパターンとの整合 - スコープクリープの除去 pass_previous_response: true - name: review edit: false agent: ~/.takt/agents/default/architecture-reviewer.md report: name: 04-architect-review.md format: | ```markdown # アーキテクチャレビュー ## 結果: APPROVE / IMPROVE / REJECT ## サマリー {1-2文で結果を要約} ## 確認した観点 - [x] 構造・設計 - [x] コード品質 - [x] 変更スコープ - [x] テストカバレッジ - [x] デッドコード - [x] 呼び出しチェーン検証 ## 問題点(REJECTの場合) | # | 場所 | 問題 | 修正案 | |---|------|------|--------| | 1 | `src/file.ts:42` | 問題の説明 | 修正方法 | ## 改善提案(任意・ブロッキングではない) - {将来的な改善提案} ``` **認知負荷軽減ルール:** - APPROVE + 問題なし → サマリーのみ(5行以内) - APPROVE + 軽微な提案 → サマリー + 改善提案(15行以内) - REJECT → 問題点を表形式で(30行以内) allowed_tools: - Read - Glob - Grep - Write - WebSearch - WebFetch rules: - condition: 問題なし next: security_review - condition: 改善すべき点がある(軽微) next: improve - condition: 構造的な修正が必要 next: fix instruction_template: | **アーキテクチャと設計**のレビューに集中してください。AI特有の問題はレビューしないでください(次のステップで行います)。 変更をレビューしてフィードバックを提供してください。 **レビュー観点:** - 構造・設計の妥当性 - コード品質 - 変更スコープの適切性 - テストカバレッジ - デッドコード - 呼び出しチェーン検証 - name: improve edit: true agent: ~/.takt/agents/default/coder.md allowed_tools: - Read - Glob - Grep - Edit - Write - Bash - WebSearch - WebFetch permission_mode: acceptEdits rules: - condition: 改善完了 next: review - condition: 判断できない、情報不足 next: plan instruction_template: | ## Architect Feedback (これが最新の指示です - 優先して対応してください) {previous_response} **重要**: Architectの改善提案に対応してください。 これらは軽微な改善であり、設計上の大きな問題ではありません。 以下のような改善を行ってください: - 命名の改善 - 小さなリファクタリング - コメントの追加・修正 - コードの整理 pass_previous_response: true - name: fix edit: true agent: ~/.takt/agents/default/coder.md allowed_tools: - Read - Glob - Grep - Edit - Write - Bash - WebSearch - WebFetch permission_mode: acceptEdits rules: - condition: Architectの指摘を修正完了 next: review - condition: 判断できない、情報不足 next: plan instruction_template: | ## Architect Feedback (これが最新の指示です - 優先して対応してください) {previous_response} **重要**: Architectのフィードバックに対応してください。 セッションの会話履歴を確認し、Architectの指摘事項を修正してください。 pass_previous_response: true - name: security_review edit: false agent: ~/.takt/agents/default/security-reviewer.md report: name: 05-security-review.md format: | ```markdown # セキュリティレビュー ## 結果: APPROVE / REJECT ## 重大度: None / Low / Medium / High / Critical ## チェック結果 | カテゴリ | 結果 | 備考 | |---------|------|------| | インジェクション | ✅ | - | | 認証・認可 | ✅ | - | | データ保護 | ✅ | - | | 依存関係 | ✅ | - | ## 脆弱性(REJECTの場合) | # | 重大度 | 種類 | 場所 | 修正案 | |---|--------|------|------|--------| | 1 | High | SQLi | `src/db.ts:42` | パラメータ化クエリを使用 | ## 警告(ブロッキングではない) - {セキュリティに関する推奨事項} ``` **認知負荷軽減ルール:** - 問題なし → チェック表のみ(10行以内) - 警告あり → + 警告を1-2行(15行以内) - 脆弱性あり → + 表形式で(30行以内) allowed_tools: - Read - Glob - Grep - Write - WebSearch - WebFetch rules: - condition: セキュリティ問題なし next: supervise - condition: 脆弱性があり修正が必要 next: security_fix instruction_template: | 変更に対してセキュリティレビューを行ってください。以下の脆弱性を確認してください: - インジェクション攻撃(SQL, コマンド, XSS) - 認証・認可の問題 - データ露出リスク - 暗号化の弱点 - name: security_fix edit: true agent: ~/.takt/agents/default/coder.md allowed_tools: - Read - Glob - Grep - Edit - Write - Bash - WebSearch - WebFetch permission_mode: acceptEdits rules: - condition: セキュリティ修正完了 next: security_review - condition: 判断できない、情報不足 next: plan instruction_template: | ## Security Review Feedback (これが最新の指示です - 優先して対応してください) {previous_response} **重要**: セキュリティレビューで指摘された脆弱性を修正してください。 セキュリティの問題は最優先で対応が必要です。 pass_previous_response: true - name: supervise edit: false agent: ~/.takt/agents/default/supervisor.md report: - Validation: 06-supervisor-validation.md - Summary: summary.md allowed_tools: - Read - Glob - Grep - Write - Bash - WebSearch - WebFetch rules: - condition: すべて問題なし next: COMPLETE - condition: 要求未達成、テスト失敗、ビルドエラー next: plan instruction_template: | テスト実行、ビルド確認、最終承認を行ってください。 **ワークフロー全体の確認:** 1. 計画(00-plan.md)と実装結果が一致しているか 2. 各レビューステップの指摘が対応されているか 3. 元のタスク目的が達成されているか **レポートの確認:** Report Directory内の全レポートを読み、 未対応の改善提案がないか確認してください。 **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 ``` ```