- expert/expert-mini/expert-cqrs/expert-cqrs-mini を dual 系にリネーム (「フルスタック」→「フロントエンド+バックエンド」に説明も修正) - expert-supervisor ペルソナを dual-supervisor にリネーム - passthrough, structural-reform ピースを削除 - default-mini, default-test-first-mini を default に統合 - coding-pitfalls ナレッジの主要項目を coding ポリシーに移動し削除 - implement/plan インストラクションにセルフチェック・コーダー指針を追加 - builtin カタログに不足していた terraform, takt-default 系を追加 - deep-research をカテゴリに追加
379 lines
9.2 KiB
YAML
379 lines
9.2 KiB
YAML
name: takt-default-team-leader
|
||
description: TAKT開発ピース(チームリーダー版)(計画 → テスト作成 → チームリーダー実装 → AIアンチパターンレビュー → 5並列レビュー → 修正 → 監督 → 完了)
|
||
piece_config:
|
||
provider_options:
|
||
codex:
|
||
network_access: true
|
||
opencode:
|
||
network_access: true
|
||
max_movements: 30
|
||
initial_movement: plan
|
||
loop_monitors:
|
||
- cycle:
|
||
- ai_review
|
||
- ai_fix
|
||
threshold: 3
|
||
judge:
|
||
persona: supervisor
|
||
instruction_template: |
|
||
ai_review と ai_fix のループが {cycle_count} 回繰り返されました。
|
||
|
||
各サイクルのレポートを確認し、このループが健全(進捗がある)か、
|
||
非生産的(同じ問題を繰り返している)かを判断してください。
|
||
|
||
**参照するレポート:**
|
||
- AIレビュー結果: {report:ai-review.md}
|
||
|
||
**判断基準:**
|
||
- 各サイクルで新しい問題が発見・修正されているか
|
||
- 同じ指摘が繰り返されていないか
|
||
- 修正が実際に反映されているか
|
||
rules:
|
||
- condition: 健全(進捗あり)
|
||
next: ai_review
|
||
- condition: 非生産的(改善なし)
|
||
next: reviewers
|
||
movements:
|
||
- name: plan
|
||
edit: false
|
||
persona: planner
|
||
knowledge: architecture
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
rules:
|
||
- condition: 要件が明確で実装可能
|
||
next: write_tests
|
||
- condition: ユーザーが質問をしている(実装タスクではない)
|
||
next: COMPLETE
|
||
- condition: 要件が不明確、情報不足
|
||
next: ABORT
|
||
appendix: |
|
||
確認事項:
|
||
- {質問1}
|
||
- {質問2}
|
||
instruction: plan
|
||
output_contracts:
|
||
report:
|
||
- name: plan.md
|
||
format: plan
|
||
- name: write_tests
|
||
edit: true
|
||
persona: coder
|
||
policy:
|
||
- coding
|
||
- testing
|
||
knowledge:
|
||
- takt
|
||
- architecture
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Edit
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
required_permission_mode: edit
|
||
instruction: write-tests-first
|
||
rules:
|
||
- condition: テスト作成が完了した
|
||
next: implement
|
||
- condition: テスト対象が未実装のためテスト作成をスキップする
|
||
next: implement
|
||
- condition: テスト作成を進行できない
|
||
next: ABORT
|
||
- condition: ユーザーへの確認事項があるためユーザー入力が必要
|
||
next: write_tests
|
||
requires_user_input: true
|
||
interactive_only: true
|
||
output_contracts:
|
||
report:
|
||
- name: test-scope.md
|
||
format: coder-scope
|
||
- name: test-decisions.md
|
||
format: coder-decisions
|
||
- name: implement
|
||
edit: true
|
||
persona: coder
|
||
policy:
|
||
- coding
|
||
- testing
|
||
session: refresh
|
||
knowledge:
|
||
- takt
|
||
- architecture
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Edit
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
required_permission_mode: edit
|
||
team_leader:
|
||
max_parts: 2
|
||
part_persona: coder
|
||
part_edit: true
|
||
part_permission_mode: edit
|
||
part_allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Edit
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
instruction: team-leader-implement
|
||
rules:
|
||
- condition: 実装完了
|
||
next: ai_review
|
||
- condition: 実装未着手(レポートのみ)
|
||
next: ai_review
|
||
- condition: 判断できない、情報不足
|
||
next: ai_review
|
||
- condition: ユーザー入力が必要
|
||
next: implement
|
||
requires_user_input: true
|
||
interactive_only: true
|
||
output_contracts:
|
||
report:
|
||
- name: coder-scope.md
|
||
format: coder-scope
|
||
- name: coder-decisions.md
|
||
format: coder-decisions
|
||
- name: ai_review
|
||
edit: false
|
||
persona: ai-antipattern-reviewer
|
||
policy:
|
||
- review
|
||
- ai-antipattern
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- WebSearch
|
||
- WebFetch
|
||
rules:
|
||
- condition: AI特有の問題なし
|
||
next: reviewers
|
||
- condition: AI特有の問題あり
|
||
next: ai_fix
|
||
instruction: ai-review
|
||
output_contracts:
|
||
report:
|
||
- name: ai-review.md
|
||
format: ai-review
|
||
- name: ai_fix
|
||
edit: true
|
||
persona: coder
|
||
policy:
|
||
- coding
|
||
- testing
|
||
session: refresh
|
||
knowledge:
|
||
- takt
|
||
- architecture
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Edit
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
required_permission_mode: edit
|
||
pass_previous_response: false
|
||
rules:
|
||
- condition: AI問題の修正完了
|
||
next: ai_review
|
||
- condition: 修正不要(指摘対象ファイル/仕様の確認済み)
|
||
next: ai_no_fix
|
||
- condition: 判断できない、情報不足
|
||
next: ai_no_fix
|
||
instruction: ai-fix
|
||
- name: ai_no_fix
|
||
edit: false
|
||
persona: architecture-reviewer
|
||
policy: review
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
rules:
|
||
- condition: ai_reviewの指摘が妥当(修正すべき)
|
||
next: ai_fix
|
||
- condition: ai_fixの判断が妥当(修正不要)
|
||
next: reviewers
|
||
instruction: arbitrate
|
||
- name: reviewers
|
||
parallel:
|
||
- name: arch-review
|
||
edit: false
|
||
persona: architecture-reviewer
|
||
policy: review
|
||
knowledge:
|
||
- architecture
|
||
- takt
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
rules:
|
||
- condition: approved
|
||
- condition: needs_fix
|
||
instruction: review-arch
|
||
output_contracts:
|
||
report:
|
||
- name: architect-review.md
|
||
format: architecture-review
|
||
- name: security-review
|
||
edit: false
|
||
persona: security-reviewer
|
||
policy: review
|
||
knowledge: security
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
rules:
|
||
- condition: approved
|
||
- condition: needs_fix
|
||
instruction: review-security
|
||
output_contracts:
|
||
report:
|
||
- name: security-review.md
|
||
format: security-review
|
||
- name: qa-review
|
||
edit: false
|
||
persona: qa-reviewer
|
||
policy:
|
||
- review
|
||
- qa
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
rules:
|
||
- condition: approved
|
||
- condition: needs_fix
|
||
instruction: review-qa
|
||
output_contracts:
|
||
report:
|
||
- name: qa-review.md
|
||
format: qa-review
|
||
- name: testing-review
|
||
edit: false
|
||
persona: testing-reviewer
|
||
policy:
|
||
- review
|
||
- testing
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
rules:
|
||
- condition: approved
|
||
- condition: needs_fix
|
||
instruction: review-test
|
||
output_contracts:
|
||
report:
|
||
- name: testing-review.md
|
||
format: testing-review
|
||
- name: requirements-review
|
||
edit: false
|
||
persona: requirements-reviewer
|
||
policy: review
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
rules:
|
||
- condition: approved
|
||
- condition: needs_fix
|
||
instruction: review-requirements
|
||
output_contracts:
|
||
report:
|
||
- name: requirements-review.md
|
||
format: requirements-review
|
||
rules:
|
||
- condition: all("approved")
|
||
next: supervise
|
||
- condition: any("needs_fix")
|
||
next: fix
|
||
- name: fix
|
||
edit: true
|
||
persona: coder
|
||
policy:
|
||
- coding
|
||
- testing
|
||
knowledge:
|
||
- takt
|
||
- architecture
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Edit
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
required_permission_mode: edit
|
||
pass_previous_response: false
|
||
rules:
|
||
- condition: 修正完了
|
||
next: reviewers
|
||
- condition: 判断できない、情報不足
|
||
next: plan
|
||
instruction: fix
|
||
- name: supervise
|
||
edit: false
|
||
persona: supervisor
|
||
policy: review
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
pass_previous_response: false
|
||
rules:
|
||
- condition: すべて問題なし
|
||
next: COMPLETE
|
||
- condition: 要求未達成、テスト失敗、ビルドエラー
|
||
next: plan
|
||
instruction: supervise
|
||
output_contracts:
|
||
report:
|
||
- name: supervisor-validation.md
|
||
format: supervisor-validation
|
||
- name: summary.md
|
||
format: summary
|
||
use_judge: false
|