TAKT Facet Builder
TAKTの5種類のファセットファイルを個別に作成・編集する。
前提 takt バージョン: v0.44.0
参照資料
ファセット作成時は references/takt/builtins/ja/ の資料を参照する。
| 資料 |
パス |
用途 |
| スタイルガイド総合 |
references/takt/builtins/ja/STYLE_GUIDE.md |
各ファセットの位置づけ |
| ペルソナガイド |
references/takt/builtins/ja/PERSONA_STYLE_GUIDE.md |
ペルソナ記述規約 |
| ポリシーガイド |
references/takt/builtins/ja/POLICY_STYLE_GUIDE.md |
ポリシー記述規約 |
| インストラクションガイド |
references/takt/builtins/ja/INSTRUCTION_STYLE_GUIDE.md |
インストラクション記述規約 |
| 出力契約ガイド |
references/takt/builtins/ja/OUTPUT_CONTRACT_STYLE_GUIDE.md |
出力契約記述規約 |
| Faceted Prompting |
references/takt/docs/faceted-prompting.ja.md |
5ファセット設計の理論 |
| ビルトインファセット |
references/takt/builtins/ja/facets/{personas,policies,instructions,knowledge,output-contracts}/ |
既存ファセット例 |
注意: references/takt/builtins/{ja,en}/templates/ は v0.43.0 でも実在する。雛形として参照してよいが、実際の命名・責務分割・文体はビルトインファセットを source of truth として合わせる。
重要: ファセット作成前に該当するスタイルガイドを必ず読む。
ワークフロー
Step 1: ファセット種別の判定
ユーザーの要件から、作成すべきファセット種別を判定する。
この内容は…
├── 特定エージェントのidentity・専門知識 → Persona
├── 複数エージェントが共有する行動規範 → Policy
├── ステップ固有の実行手順 → Instruction
├── 判断の前提となる参照情報 → Knowledge
└── エージェント出力の構造定義 → Output Contract
| ファセット |
配置先 |
対象 |
キー判断 |
| Persona |
system prompt |
1エージェント |
「この知識はこのエージェント固有か?」 |
| Policy |
user message内 |
複数エージェント |
「複数エージェントが同じルールに従うか?」 |
| Instruction |
Phase 1 message |
1ステップ |
「この手順はこのステップ固有か?」 |
| Knowledge |
user message内 |
1+エージェント |
「判断の前提となる参照情報か?」 |
| Output Contract |
Phase 2 message |
1レポート |
「後続が{report:filename}で参照するか?」 |
Step 2: ビルトイン確認
同種のビルトインファセットを確認し、再利用できるか判断する。
| ファセット |
ビルトイン例 |
| Persona |
coder, planner, architect-planner, architecture-reviewer, qa-reviewer, supervisor, security-reviewer, frontend-reviewer, cqrs-es-reviewer, requirements-reviewer, testing-reviewer, terraform-reviewer, terraform-coder, dual-supervisor, research-analyzer, research-digger, research-planner, research-supervisor, conductor, pr-commenter, test-planner, ai-antipattern-reviewer, coding-reviewer, melchior, balthasar, casper |
| Policy |
coding, review, testing, qa, ai-antipattern, design-fidelity, design-planning, task-decomposition, screen-api, existing-system-respect, research, terraform |
| Instruction |
plan, plan-investigate, plan-test, implement, implement-after-tests, implement-test, implement-terraform, write-tests-first, team-leader-implement, dual-team-leader-implement, plan-maintenance, write-tests-maintenance, implement-maintenance, fix-maintenance, supervise-maintenance, review-coding, review-arch, review-qa, review-security, review-frontend, review-cqrs-es, review-requirements, review-test, review-terraform, supervise, fix, fix-supervisor, arbitrate, architect, ai-antipattern-review, ai-antipattern-fix, loop-monitor-ai-antipattern-fix, loop-monitor-reviewers-fix, research-plan, research-dig, research-analyze, research-supervise, gather-review, architecture-audit-plan, architecture-audit-review, architecture-audit-supervise, architecture-audit-team-leader, audit-security-plan, audit-security-review, audit-security-supervise, audit-security-team-leader, e2e-audit-plan, e2e-audit-review, e2e-audit-supervise, e2e-audit-team-leader, e2e-coverage-implement, e2e-coverage-plan, e2e-coverage-supervise, unit-audit-plan, unit-audit-review, unit-audit-supervise, unit-audit-team-leader |
| Knowledge |
architecture, backend, cqrs-es, frontend, security, task-decomposition, takt, terraform-aws, e2e-testing, react, unit-testing, existing-system, research, research-comparative |
| Output Contract |
plan, architecture-design, architecture-review, ai-antipattern-review, qa-review, security-review, frontend-review, cqrs-es-review, requirements-review, testing-review, terraform-review, summary, validation, coder-scope, coder-decisions, maintenance-scope, coding-review, review-gather, research-report, test-plan, test-report, plan-frontend, architecture-audit-plan, architecture-audit, audit-security, e2e-audit-plan, e2e-audit, e2e-coverage-plan, unit-audit-plan, unit-audit, supervisor-validation |
再利用判断: ビルトインで足りる場合はカスタムファセットを作らない。
Step 3: テンプレート選択と作成
Persona
参照: references/takt/builtins/ja/facets/personas/ の既存ファセット
| テンプレート |
用途 |
例 |
simple.md |
ドメイン知識なし |
coder, planner |
expert.md |
ドメイン知識あり |
architecture-reviewer |
character.md |
固有の人格・口調 |
melchior, balthasar, casper |
# {エージェント名}
{1-2文のロール定義。「あなたは〜です。」で始める}
## 役割の境界
**やること:**
- ...
**やらないこと:**
- ...(担当エージェント名を明記)
## 行動姿勢
- ...(3-8項目)
## ドメイン知識(expertのみ)
### {観点}
...
サイズ目安: simple 30-50行(上限100行)、expert 50-300行(上限550行)
禁止事項:
- ポリシーの詳細ルール(コード例・テーブル)を転記(1行の行動指針はOK)
- ワークフロー固有の概念(ステップ名、レポートファイル名)
- ツール固有のパス(
.takt/runs/等)
- 実行手順
Policy
参照: references/takt/builtins/ja/facets/policies/ の既存ファセット
# {ポリシー名}
{1文の目的説明}
## 原則
| 原則 | 基準 |
|------|------|
| ... | ... |
## {ルールカテゴリ1}
{テーブル、コード例、箇条書きを自由に組み合わせ}
サイズ目安: 60-250行(上限300行)
禁止事項:
- 特定エージェント固有の知識
- ワークフロー固有の概念、ツール固有のパス
- 実行手順
Instruction
参照: references/takt/builtins/ja/facets/instructions/ の既存ファセット
{目的宣言。1-2行、命令形}
**注意:** {条件付き注意事項(該当する場合)}
**やること:**
1. {手順1}
2. {手順2}
3. {手順3}
**必須出力(見出しを含める)**
## {出力セクション1}
- {内容}
## {出力セクション2}
- {内容}
サイズ目安: レビュー sub-step 5-12行、計画・修正 10-20行、実装・検証 30-50行
禁止事項:
- ペルソナの内容(専門知識、行動姿勢)
- ポリシーの内容(共有コーディング原則)
- 自動注入される変数(
{task}, {previous_response})の手動記述
- 他ステップ名の直接参照
テンプレート変数(使用可能):
{iteration}, {max_steps}, {step_iteration}
{report_dir}, {report:filename}, {cycle_count}
Knowledge
参照: references/takt/builtins/ja/facets/knowledge/ の既存ファセット
# {ドメイン名}知識
## {トピック1}
{概要。1-2文}
| 基準 | 判定 |
|------|------|
| ... | ... |
### {サブトピック}
{コード例で具体的に}
## {トピック2}
| パターン | 例 | 問題 |
|---------|-----|------|
| ... | `{コード}` | ... |
検証アプローチ:
1. {手順}
特徴: 記述的(「こうなっている」)。ポリシーの「WHY」を提供する。
Output Contract
参照: references/takt/builtins/ja/facets/output-contracts/ の既存ファセット
```markdown
# {レポートタイトル}
## 結果: APPROVE / REJECT
## サマリー
{1-2文で結果を要約}
## 詳細
| 観点 | 結果 | 備考 |
|------|------|------|
```
**認知負荷軽減ルール:**
- APPROVE → サマリーのみ(5行以内)
- REJECT → 問題点を表形式で(30行以内)
サイズ目安: 10-25行(上限30行、認知負荷軽減ルール除く)
ステータスパターン: APPROVE / REJECT(二値)、APPROVE / IMPROVE / REJECT(三値)、完了(固定値)
レビュー出力契約の構造(v0.30.0〜):
- 各指摘に
family_tag 列を追加(指摘のカテゴリ分類)
- セクション構成:
new(新規)→ persists(継続)→ resolved(解消済み)→ reopened(再開)
禁止事項:
- 実行手順(インストラクションの責務)
- 判断基準の詳細(ペルソナ/インストラクションの責務)
Step 4: 共通ルール適用
全ファセット共通のルールを確認する。
| ルール |
内容 |
| 見出し深さ |
### まで。#### 以下は不可 |
| コード例 |
良い例/悪い例のペア。// REJECT // OK コメント |
| 文体 |
ペルソナ・ポリシー・ナレッジ: 常体。インストラクション: 丁寧語(命令調) |
| ファイル命名 |
{name}.md、ハイフン区切り、英語小文字 |
| 配置 |
~/.takt/{facet-type}/ または プロジェクト固有の場所 |
Step 5: 検証
作成したファセットの品質を確認する。
全ファセット共通:
Persona:
Policy:
Instruction:
Knowledge:
Output Contract:
バリデーション
作成・編集したファイルは validate-takt-files.sh で機械的に検証できる:
bash .agents/skills/takt-facet/scripts/validate-takt-files.sh
検証項目:
- ワークフロー YAML: 必須フィールド(
name/initial_step/steps)、initial_step の step 参照、ファセットファイル参照の実在
- ファセット .md: 空チェック、persona/policy/knowledge は
# 見出し 必須、instruction/output-contract は内容存在
オプション --workflows / --facets で対象を絞り込み可能。
1---2name: takt-facet-builder3description: TAKTファセット(Persona/Policy/Instruction/Knowledge/Output Contract)の 個別作成・編集スキル。各ファセットのスタイルガイドに準拠した単体ファイルを生成する。 references/taktにあるスタイルガイド・ビルトインファセット群を参照資料として活用し、 ファセット種別の判断、テンプレート選択、品質チェックを行う。 トリガー:「ペルソナを作りたい」「ポリシーを追加」「インストラクションを書く」 「ナレッジを定義」「出力契約を作成」「ファセットを編集」「takt facet」 「レビュアーのペルソナ」「コーディングポリシー」4---56# TAKT Facet Builder78TAKTの5種類のファセットファイルを個別に作成・編集する。910> **前提 takt バージョン**: v0.44.01112## 参照資料1314ファセット作成時は `references/takt/builtins/ja/` の資料を参照する。1516| 資料 | パス | 用途 |17|------|------|------|18| スタイルガイド総合 | `references/takt/builtins/ja/STYLE_GUIDE.md` | 各ファセットの位置づけ |19| ペルソナガイド | `references/takt/builtins/ja/PERSONA_STYLE_GUIDE.md` | ペルソナ記述規約 |20| ポリシーガイド | `references/takt/builtins/ja/POLICY_STYLE_GUIDE.md` | ポリシー記述規約 |21| インストラクションガイド | `references/takt/builtins/ja/INSTRUCTION_STYLE_GUIDE.md` | インストラクション記述規約 |22| 出力契約ガイド | `references/takt/builtins/ja/OUTPUT_CONTRACT_STYLE_GUIDE.md` | 出力契約記述規約 |23| Faceted Prompting | `references/takt/docs/faceted-prompting.ja.md` | 5ファセット設計の理論 |24| ビルトインファセット | `references/takt/builtins/ja/facets/{personas,policies,instructions,knowledge,output-contracts}/` | 既存ファセット例 |2526**注意**: `references/takt/builtins/{ja,en}/templates/` は v0.43.0 でも実在する。雛形として参照してよいが、実際の命名・責務分割・文体はビルトインファセットを source of truth として合わせる。2728**重要**: ファセット作成前に該当するスタイルガイドを必ず読む。2930## ワークフロー3132### Step 1: ファセット種別の判定3334ユーザーの要件から、作成すべきファセット種別を判定する。3536```37この内容は…38├── 特定エージェントのidentity・専門知識 → Persona39├── 複数エージェントが共有する行動規範 → Policy40├── ステップ固有の実行手順 → Instruction41├── 判断の前提となる参照情報 → Knowledge42└── エージェント出力の構造定義 → Output Contract43```4445| ファセット | 配置先 | 対象 | キー判断 |46|-----------|--------|------|----------|47| Persona | system prompt | 1エージェント | 「この知識はこのエージェント固有か?」 |48| Policy | user message内 | 複数エージェント | 「複数エージェントが同じルールに従うか?」 |49| Instruction | Phase 1 message | 1ステップ | 「この手順はこのステップ固有か?」 |50| Knowledge | user message内 | 1+エージェント | 「判断の前提となる参照情報か?」 |51| Output Contract | Phase 2 message | 1レポート | 「後続が`{report:filename}`で参照するか?」 |5253### Step 2: ビルトイン確認5455同種のビルトインファセットを確認し、再利用できるか判断する。5657| ファセット | ビルトイン例 |58|-----------|-------------|59| Persona | coder, planner, architect-planner, architecture-reviewer, qa-reviewer, supervisor, security-reviewer, frontend-reviewer, cqrs-es-reviewer, requirements-reviewer, testing-reviewer, terraform-reviewer, terraform-coder, dual-supervisor, research-analyzer, research-digger, research-planner, research-supervisor, conductor, pr-commenter, test-planner, ai-antipattern-reviewer, coding-reviewer, melchior, balthasar, casper |60| Policy | coding, review, testing, qa, ai-antipattern, design-fidelity, design-planning, task-decomposition, screen-api, existing-system-respect, research, terraform |61| Instruction | plan, plan-investigate, plan-test, implement, implement-after-tests, implement-test, implement-terraform, write-tests-first, team-leader-implement, dual-team-leader-implement, plan-maintenance, write-tests-maintenance, implement-maintenance, fix-maintenance, supervise-maintenance, review-coding, review-arch, review-qa, review-security, review-frontend, review-cqrs-es, review-requirements, review-test, review-terraform, supervise, fix, fix-supervisor, arbitrate, architect, ai-antipattern-review, ai-antipattern-fix, loop-monitor-ai-antipattern-fix, loop-monitor-reviewers-fix, research-plan, research-dig, research-analyze, research-supervise, gather-review, architecture-audit-plan, architecture-audit-review, architecture-audit-supervise, architecture-audit-team-leader, audit-security-plan, audit-security-review, audit-security-supervise, audit-security-team-leader, e2e-audit-plan, e2e-audit-review, e2e-audit-supervise, e2e-audit-team-leader, e2e-coverage-implement, e2e-coverage-plan, e2e-coverage-supervise, unit-audit-plan, unit-audit-review, unit-audit-supervise, unit-audit-team-leader |62| Knowledge | architecture, backend, cqrs-es, frontend, security, task-decomposition, takt, terraform-aws, e2e-testing, react, unit-testing, existing-system, research, research-comparative |63| Output Contract | plan, architecture-design, architecture-review, ai-antipattern-review, qa-review, security-review, frontend-review, cqrs-es-review, requirements-review, testing-review, terraform-review, summary, validation, coder-scope, coder-decisions, maintenance-scope, coding-review, review-gather, research-report, test-plan, test-report, plan-frontend, architecture-audit-plan, architecture-audit, audit-security, e2e-audit-plan, e2e-audit, e2e-coverage-plan, unit-audit-plan, unit-audit, supervisor-validation |6465**再利用判断**: ビルトインで足りる場合はカスタムファセットを作らない。6667### Step 3: テンプレート選択と作成6869#### Persona7071参照: `references/takt/builtins/ja/facets/personas/` の既存ファセット7273| テンプレート | 用途 | 例 |74|------------|------|-----|75| `simple.md` | ドメイン知識なし | coder, planner |76| `expert.md` | ドメイン知識あり | architecture-reviewer |77| `character.md` | 固有の人格・口調 | melchior, balthasar, casper |7879```markdown80# {エージェント名}8182{1-2文のロール定義。「あなたは〜です。」で始める}8384## 役割の境界8586**やること:**87- ...8889**やらないこと:**90- ...(担当エージェント名を明記)9192## 行動姿勢9394- ...(3-8項目)9596## ドメイン知識(expertのみ)9798### {観点}99...100```101102**サイズ目安**: simple 30-50行(上限100行)、expert 50-300行(上限550行)103104**禁止事項**:105- ポリシーの詳細ルール(コード例・テーブル)を転記(1行の行動指針はOK)106- ワークフロー固有の概念(ステップ名、レポートファイル名)107- ツール固有のパス(`.takt/runs/`等)108- 実行手順109110#### Policy111112参照: `references/takt/builtins/ja/facets/policies/` の既存ファセット113114```markdown115# {ポリシー名}116117{1文の目的説明}118119## 原則120121| 原則 | 基準 |122|------|------|123| ... | ... |124125## {ルールカテゴリ1}126127{テーブル、コード例、箇条書きを自由に組み合わせ}128```129130**サイズ目安**: 60-250行(上限300行)131132**禁止事項**:133- 特定エージェント固有の知識134- ワークフロー固有の概念、ツール固有のパス135- 実行手順136137#### Instruction138139参照: `references/takt/builtins/ja/facets/instructions/` の既存ファセット140141```markdown142{目的宣言。1-2行、命令形}143144**注意:** {条件付き注意事項(該当する場合)}145146**やること:**1471. {手順1}1482. {手順2}1493. {手順3}150151**必須出力(見出しを含める)**152## {出力セクション1}153- {内容}154## {出力セクション2}155- {内容}156```157158**サイズ目安**: レビュー sub-step 5-12行、計画・修正 10-20行、実装・検証 30-50行159160**禁止事項**:161- ペルソナの内容(専門知識、行動姿勢)162- ポリシーの内容(共有コーディング原則)163- 自動注入される変数(`{task}`, `{previous_response}`)の手動記述164- 他ステップ名の直接参照165166**テンプレート変数**(使用可能):167- `{iteration}`, `{max_steps}`, `{step_iteration}`168- `{report_dir}`, `{report:filename}`, `{cycle_count}`169170#### Knowledge171172参照: `references/takt/builtins/ja/facets/knowledge/` の既存ファセット173174```markdown175# {ドメイン名}知識176177## {トピック1}178179{概要。1-2文}180181| 基準 | 判定 |182|------|------|183| ... | ... |184185### {サブトピック}186187{コード例で具体的に}188189## {トピック2}190191| パターン | 例 | 問題 |192|---------|-----|------|193| ... | `{コード}` | ... |194195検証アプローチ:1961. {手順}197```198199**特徴**: 記述的(「こうなっている」)。ポリシーの「WHY」を提供する。200201#### Output Contract202203参照: `references/takt/builtins/ja/facets/output-contracts/` の既存ファセット204205````markdown206```markdown207# {レポートタイトル}208209## 結果: APPROVE / REJECT210211## サマリー212{1-2文で結果を要約}213214## 詳細215| 観点 | 結果 | 備考 |216|------|------|------|217```218219**認知負荷軽減ルール:**220- APPROVE → サマリーのみ(5行以内)221- REJECT → 問題点を表形式で(30行以内)222````223224**サイズ目安**: 10-25行(上限30行、認知負荷軽減ルール除く)225226**ステータスパターン**: `APPROVE / REJECT`(二値)、`APPROVE / IMPROVE / REJECT`(三値)、`完了`(固定値)227228**レビュー出力契約の構造**(v0.30.0〜):229- 各指摘に `family_tag` 列を追加(指摘のカテゴリ分類)230- セクション構成: `new`(新規)→ `persists`(継続)→ `resolved`(解消済み)→ `reopened`(再開)231232**禁止事項**:233- 実行手順(インストラクションの責務)234- 判断基準の詳細(ペルソナ/インストラクションの責務)235236### Step 4: 共通ルール適用237238全ファセット共通のルールを確認する。239240| ルール | 内容 |241|--------|------|242| 見出し深さ | `###` まで。`####` 以下は不可 |243| コード例 | 良い例/悪い例のペア。`// REJECT` `// OK` コメント |244| 文体 | ペルソナ・ポリシー・ナレッジ: 常体。インストラクション: 丁寧語(命令調) |245| ファイル命名 | `{name}.md`、ハイフン区切り、英語小文字 |246| 配置 | `~/.takt/{facet-type}/` または プロジェクト固有の場所 |247248### Step 5: 検証249250作成したファセットの品質を確認する。251252**全ファセット共通:**253- [ ] `####` 以下のネストがないか254- [ ] ファイル命名規約に従っているか255- [ ] サイズ上限内か256257**Persona:**258- [ ] ロール定義が1-2文か259- [ ] 「やること」「やらないこと」に担当エージェント名があるか260- [ ] ポリシーの詳細ルールが混入していないか261- [ ] ワークフロー固有の概念がないか262263**Policy:**264- [ ] 目的説明が1文か265- [ ] 原則テーブルがあるか266- [ ] 複数エージェントに適用可能か267268**Instruction:**269- [ ] 冒頭が命令形か270- [ ] 自動注入変数を手動記述していないか271- [ ] ペルソナ/ポリシーの内容が混入していないか272273**Knowledge:**274- [ ] 記述的(宣言的)な文体か275- [ ] テーブルとコード例で具体的か276277**Output Contract:**278- [ ] ```markdownコードブロックで囲まれているか279- [ ] レビュー系にステータスと認知負荷軽減ルールがあるか280- [ ] 番号プレフィックスがファイル名にないか281282## バリデーション283284作成・編集したファイルは `validate-takt-files.sh` で機械的に検証できる:285286```bash287bash .agents/skills/takt-facet/scripts/validate-takt-files.sh288```289290検証項目:291- **ワークフロー YAML**: 必須フィールド(`name`/`initial_step`/`steps`)、`initial_step` の step 参照、ファセットファイル参照の実在292- **ファセット .md**: 空チェック、persona/policy/knowledge は `# 見出し` 必須、instruction/output-contract は内容存在293294オプション `--workflows` / `--facets` で対象を絞り込み可能。