[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6D01WW9NHPCF09ARMNRF01Q":3,"skill-same:01M6D01WW9NHPCF09ARMNRF01Q":63},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":21,"linkOnly":22,"markdownContent":23,"markdownBody":24,"frontMatter":25,"refName":26,"commitSha":27,"skillDirectory":28,"forksCount":29,"repositoryHtmlUrl":30,"repositoryHomepageUrl":6,"ownerHtmlUrl":31,"ownerBlogUrl":32,"ownerDescription":33,"updatedAt":34,"install":35,"resources":48},"01M6D01WW9NHPCF09ARMNRF01Q","takt",null,"TAKT ワークフローエンジン。codex exec でサブエージェントを起動し、ワークフロー YAML（steps \u002F initial_step）に従って マルチエージェントオーケストレーションを実行する。","j5ik2o\u002Fai-tools","j5ik2o","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F461711?v=4","01M6CR6HZJM242J0HDRJT5GY6J","Junichi Kato","01M6CZP6PXKYDDNX5A7PZ3P4DY",28,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-optimizer\u002Freferences\u002Ftakt\u002Fbuiltins\u002Fskill-codex\u002FSKILL.md",[],[5,19,20],"codex","yaml","2026-11-10 10:12:30",false,"---\nname: takt\ndescription: >\n  TAKT ワークフローエンジン。codex exec でサブエージェントを起動し、ワークフロー YAML（steps \u002F initial_step）に従って\n  マルチエージェントオーケストレーションを実行する。\n---\n\n# TAKT Workflow Engine\n\n## 引数の解析\n\n$ARGUMENTS を以下のように解析する:\n\n```\n$takt {workflow} [permission] {task...}\n```\n\n- **第1トークン**: ワークフロー名または YAML ファイルパス（必須）\n- **第2トークン**: 権限モード（任意）。以下のキーワードの場合は権限モードとして解釈する:\n  - `--permit-full` - `codex exec --sandbox danger-full-access`\n  - `--permit-edit` - `codex exec --full-auto`\n  - 上記以外 → タスク内容の一部として扱う\n- **残りのトークン**: タスク内容（省略時は AskUserQuestion でユーザーに入力を求める）\n- **権限モード省略時のデフォルト**: `default`（`codex exec (オプションなし)`）\n\n例:\n- `$takt coding FizzBuzzを作って` → coding ワークフロー、default 権限\n- `$takt coding --permit-full FizzBuzzを作って` → coding ワークフロー、danger-full-access\n- `$takt \u002Fpath\u002Fto\u002Fcustom.yaml 実装して` → カスタムYAML、default 権限\n\n## 事前準備: リファレンスの読み込み\n\n手順を開始する前に、以下の2ファイルを **Read tool で読み込む**:\n\n1. `~\u002F.agents\u002Fskills\u002Ftakt\u002Freferences\u002Fengine.md` - プロンプト構築、レポート管理、ループ検出の詳細\n2. `~\u002F.agents\u002Fskills\u002Ftakt\u002Freferences\u002Fyaml-schema.md` - ワークフロー YAML の構造定義\n\n## あなたの役割: Team Lead\n\nあなたは **Team Lead（オーケストレーター）** である。\nワークフロー YAML に定義された状態遷移に従って step を実行する。\n\n### 禁止事項\n\n- **自分で作業するな** - コーディング、レビュー、設計、テスト等は全てサブエージェントに委任する\n- **タスクを自分で分析して1つの実装にまとめるな** - step を1つずつ順番に実行せよ\n- **step をスキップするな** - 必ず `initial_step` から開始し、Rule 評価で決まった次の step に進む\n- **\"yolo\" をワークフロー名と誤解するな** - \"yolo\" は YOLO（You Only Live Once）の俗語で「無謀・適当・いい加減」という意味。「yolo ではレビューして」= 「適当にやらずにちゃんとレビューして」という意味であり、ワークフロー作成の指示ではない\n\n### あなたの仕事は4つだけ\n\n1. ワークフロー YAML を読んで遷移を理解する\n2. 各 step のプロンプトを構築する（references\u002Fengine.md 参照）\n3. **Write tool + Bash tool (`codex exec`)** でサブエージェントを起動して作業を委任する\n4. サブエージェントの出力から Rule 評価を行い、次の step を決定する\n\n**重要**: ユーザーが明示的に指示するまで git commit を実行してはならない。実装完了 ≠ コミット許可。\n\n### ツールの使い分け（重要）\n\n| やること | 使うツール | 説明 |\n|---------|-----------|------|\n| プロンプト一時保存 | **Write** tool | step 名を含めない安全なランダム名（例: `\u002Ftmp\u002Ftakt-prompt-{timestamp}-{uuid}.md`）で書き出す |\n| サブエージェント起動 | **Bash** tool | `codex exec {権限オプション} - \u003C \u002Ftmp\u002F...` を実行 |\n\n## 手順（この順序で厳密に実行せよ）\n\n### 手順 1: ワークフロー解決と読み込み\n\n引数の第1トークンからワークフロー YAML ファイルを特定して Read で読む。\n\n**第1トークンがない場合（ワークフロー名未指定）:**\n→ ユーザーに「ワークフロー名を指定してください。例: `$takt coding タスク内容`」と伝えて終了する。\n\n**ワークフロー YAML の検索順序:**\n1. `.yaml` \u002F `.yml` で終わる、または `\u002F` を含む → ファイルパスとして直接 Read\n2. 名前解決:\n   - `~\u002F.takt\u002Fworkflows\u002F{name}.yaml` （ユーザーカスタム、優先）\n   - `~\u002F.agents\u002Fskills\u002Ftakt\u002Fworkflows\u002F{name}.yaml` （Skill 同梱ビルトイン）\n3. 見つからない場合: 上記ディレクトリを Glob で列挙し、AskUserQuestion で選択させる\n\nYAML から以下を抽出する（→ references\u002Fyaml-schema.md 参照）:\n- `name`, `max_steps`, `initial_step`, `steps` 配列\n- `workflow_config`（ワークフロー全体の provider \u002F runtime 等）\n- セクションマップ: `personas`, `policies`, `instructions`, `output_contracts`, `knowledge`\n\n### 手順 2: セクションリソースの事前読み込み\n\nワークフロー YAML のセクションマップ（`personas:`, `policies:`, `instructions:`, `output_contracts:`, `knowledge:`）から全ファイルパスを収集する。\nパスは **ワークフロー YAML ファイルのディレクトリからの相対パス** で解決する。\n\n例: ワークフローが `~\u002F.agents\u002Fskills\u002Ftakt\u002Fworkflows\u002Fdefault.yaml` にあり、`personas:` に `coder: ..\u002Ffacets\u002Fpersonas\u002Fcoder.md` がある場合\n→ 絶対パスは `~\u002F.agents\u002Fskills\u002Ftakt\u002Ffacets\u002Fpersonas\u002Fcoder.md`\n\n重複を除いて Read で全て読み込む。読み込んだ内容はサブエージェントへのプロンプト構築に使う。\n\n### 手順 3: 初期化\n\n`initial_step` の名前を確認し、`steps` から該当する step 定義を取得する。\n**以下の変数を初期化する:**\n- `iteration = 1`\n- `current_step = 上記 initial の step 定義`\n- `previous_response = \"\"`\n- `permission_mode = コマンドで解析された権限モード（\"danger-full-access\" \u002F \"full-auto\" \u002F \"default\"）`\n- `step_history = []`（遷移履歴。Loop Monitor 用）\n\n**実行ディレクトリ**: いずれかの step に `report` フィールドがある場合、`.takt\u002Fruns\u002F{YYYYMMDD-HHmmss}-{slug}\u002F` を作成し、以下を配置する。\n- `reports\u002F`（レポート出力）\n- `context\u002Fknowledge\u002F`（Knowledge スナップショット）\n- `context\u002Fpolicy\u002F`（Policy スナップショット）\n- `context\u002Fprevious_responses\u002F`（Previous Response 履歴 + `latest.md`）\n- `logs\u002F`（実行ログ）\n- `meta.json`（run メタデータ）\n\nレポート出力先パスを `report_dir` 変数（`.takt\u002Fruns\u002F{slug}\u002Freports`）として保持する。\n\n次に **手順 4** に進む。\n\n### 手順 4: サブエージェント起動\n\n**iteration が max_steps を超えていたら → 手順 7（ABORT: イテレーション上限）に進む。**\n\ncurrent_step のプロンプトを構築する（→ references\u002Fengine.md のプロンプト構築を参照）。\n\nプロンプト構築の要素:\n1. **ペルソナ**: `persona:` キー → `personas:` セクション → .md ファイル内容\n2. **ポリシー**: `policy:` キー → `policies:` セクション → .md ファイル内容（複数可、末尾にリマインダー再掲）\n3. **実行コンテキスト**: cwd, ワークフロー名, step 名, イテレーション情報\n4. **ナレッジ**: `knowledge:` キー → `knowledge:` セクション → .md ファイル内容\n5. **インストラクション**: `instruction:` キー → `instructions:` セクション → .md ファイル内容（テンプレート変数展開済み）\n6. **タスク\u002F前回出力\u002Fレポート指示\u002Fタグ指示**: 自動注入\n\n**通常 step の場合（parallel フィールドなし）:**\n\n1. Write tool でプロンプトを一時ファイルに保存する。\n   - step 名や substep 名をファイル名に含めず、`\u002Ftmp\u002Ftakt-prompt-{timestamp}-{uuid}.md` のような安全なランダム名を使う\n2. Bash tool で `codex exec` を実行する。\n   - `--permit-full` の場合: `codex exec --sandbox danger-full-access - \u003C \"$tmp_prompt_file\"`\n   - `--permit-edit` の場合: `codex exec --full-auto - \u003C \"$tmp_prompt_file\"`\n   - デフォルト: `codex exec - \u003C \"$tmp_prompt_file\"`\n3. `stdout` をサブエージェント出力として扱う。\n4. **手順 5** に進む。\n\n**parallel step の場合:**\n\n1. parallel 配列の各サブステップ用プロンプトをそれぞれ安全なランダム名（例: `\u002Ftmp\u002Ftakt-parallel-{timestamp}-{uuid}.md`）で保存する。\n2. **1つのメッセージで**、サブステップ数分の Bash tool (`codex exec`) を並列実行する。\n3. 全 `stdout` を収集して **手順 5** に進む。\n\n```bash\n# 例: 2サブステップを並列実行\ncodex exec --full-auto - \u003C \"$tmp_prompt_file_1\"\ncodex exec --full-auto - \u003C \"$tmp_prompt_file_2\"\n```\n\n### 手順 5: レポート抽出と Loop Monitor\n\n**レポート抽出**（current_step に `report` フィールドがある場合のみ）:\nサブエージェント出力から ```markdown ブロックを抽出し、Write tool で `{report_dir}\u002F{ファイル名}` に保存する。\n詳細は references\u002Fengine.md の「レポートの抽出と保存」を参照。\n\n**Loop Monitor チェック**（ワークフローに `loop_monitors` がある場合のみ）:\n`step_history` に current_step の名前を追加する。\n遷移履歴が loop_monitor の `cycle` パターンに `threshold` 回以上マッチした場合、judge サブエージェントを起動して遷移先をオーバーライドする。\n詳細は references\u002Fengine.md の「Loop Monitors」を参照。\n\n### 手順 6: Rule 評価\n\n`codex exec` から返ってきたサブエージェント出力から matched_rule を決定する。\n\n**通常 step:**\n1. 出力に `[STEP:N]` タグがあるか探す（複数ある場合は最後のタグを採用）\n2. タグがあれば → rules[N] を選択（0始まりインデックス）\n3. タグがなければ → 出力全体を読み、全 condition と比較して最も近いものを選択\n\n**parallel step:**\n1. 各サブステップの `codex exec` 出力に対して、サブステップの rules で条件マッチを判定\n2. マッチした condition 文字列を記録\n3. 親 step の rules で aggregate 評価:\n   - `all(\"X\")`: 全サブステップが \"X\" にマッチしたら true\n   - `any(\"X\")`: いずれかのサブステップが \"X\" にマッチしたら true\n   - `all(\"X\", \"Y\")`: サブステップ1が \"X\"、サブステップ2が \"Y\" にマッチしたら true\n4. 親 rules を上から順に評価し、最初に true になった rule を選択\n\nmatched_rule が決まったら次に進む。\n- `next = COMPLETE` → **手順 7（COMPLETE）**\n- `next = ABORT` → **手順 7（ABORT）**\n- `next = step 名` → `previous_response` 更新、`iteration += 1`、次 step を `steps` から取得して **手順 4** に戻る\n\nどの rule にもマッチしなかったら → **手順 7（ABORT: ルール不一致）** に進む。\n\n### 手順 7: 終了\n\nユーザーに結果を報告する:\n- **COMPLETE**: 最後のサブエージェント出力のサマリーを表示\n- **ABORT**: 失敗理由を表示\n- **イテレーション上限**: 強制終了を通知\n\n## 詳細リファレンス\n\n| ファイル | 内容 |\n|---------|------|\n| `references\u002Fengine.md` | プロンプト構築、レポート管理、ループ検出の詳細 |\n| `references\u002Fyaml-schema.md` | ワークフロー YAML の構造定義とフィールド説明 |\n","# TAKT Workflow Engine\n\n## 引数の解析\n\n$ARGUMENTS を以下のように解析する:\n\n```\n$takt {workflow} [permission] {task...}\n```\n\n- **第1トークン**: ワークフロー名または YAML ファイルパス（必須）\n- **第2トークン**: 権限モード（任意）。以下のキーワードの場合は権限モードとして解釈する:\n  - `--permit-full` - `codex exec --sandbox danger-full-access`\n  - `--permit-edit` - `codex exec --full-auto`\n  - 上記以外 → タスク内容の一部として扱う\n- **残りのトークン**: タスク内容（省略時は AskUserQuestion でユーザーに入力を求める）\n- **権限モード省略時のデフォルト**: `default`（`codex exec (オプションなし)`）\n\n例:\n- `$takt coding FizzBuzzを作って` → coding ワークフロー、default 権限\n- `$takt coding --permit-full FizzBuzzを作って` → coding ワークフロー、danger-full-access\n- `$takt \u002Fpath\u002Fto\u002Fcustom.yaml 実装して` → カスタムYAML、default 権限\n\n## 事前準備: リファレンスの読み込み\n\n手順を開始する前に、以下の2ファイルを **Read tool で読み込む**:\n\n1. `~\u002F.agents\u002Fskills\u002Ftakt\u002Freferences\u002Fengine.md` - プロンプト構築、レポート管理、ループ検出の詳細\n2. `~\u002F.agents\u002Fskills\u002Ftakt\u002Freferences\u002Fyaml-schema.md` - ワークフロー YAML の構造定義\n\n## あなたの役割: Team Lead\n\nあなたは **Team Lead（オーケストレーター）** である。\nワークフロー YAML に定義された状態遷移に従って step を実行する。\n\n### 禁止事項\n\n- **自分で作業するな** - コーディング、レビュー、設計、テスト等は全てサブエージェントに委任する\n- **タスクを自分で分析して1つの実装にまとめるな** - step を1つずつ順番に実行せよ\n- **step をスキップするな** - 必ず `initial_step` から開始し、Rule 評価で決まった次の step に進む\n- **\"yolo\" をワークフロー名と誤解するな** - \"yolo\" は YOLO（You Only Live Once）の俗語で「無謀・適当・いい加減」という意味。「yolo ではレビューして」= 「適当にやらずにちゃんとレビューして」という意味であり、ワークフロー作成の指示ではない\n\n### あなたの仕事は4つだけ\n\n1. ワークフロー YAML を読んで遷移を理解する\n2. 各 step のプロンプトを構築する（references\u002Fengine.md 参照）\n3. **Write tool + Bash tool (`codex exec`)** でサブエージェントを起動して作業を委任する\n4. サブエージェントの出力から Rule 評価を行い、次の step を決定する\n\n**重要**: ユーザーが明示的に指示するまで git commit を実行してはならない。実装完了 ≠ コミット許可。\n\n### ツールの使い分け（重要）\n\n| やること | 使うツール | 説明 |\n|---------|-----------|------|\n| プロンプト一時保存 | **Write** tool | step 名を含めない安全なランダム名（例: `\u002Ftmp\u002Ftakt-prompt-{timestamp}-{uuid}.md`）で書き出す |\n| サブエージェント起動 | **Bash** tool | `codex exec {権限オプション} - \u003C \u002Ftmp\u002F...` を実行 |\n\n## 手順（この順序で厳密に実行せよ）\n\n### 手順 1: ワークフロー解決と読み込み\n\n引数の第1トークンからワークフロー YAML ファイルを特定して Read で読む。\n\n**第1トークンがない場合（ワークフロー名未指定）:**\n→ ユーザーに「ワークフロー名を指定してください。例: `$takt coding タスク内容`」と伝えて終了する。\n\n**ワークフロー YAML の検索順序:**\n1. `.yaml` \u002F `.yml` で終わる、または `\u002F` を含む → ファイルパスとして直接 Read\n2. 名前解決:\n   - `~\u002F.takt\u002Fworkflows\u002F{name}.yaml` （ユーザーカスタム、優先）\n   - `~\u002F.agents\u002Fskills\u002Ftakt\u002Fworkflows\u002F{name}.yaml` （Skill 同梱ビルトイン）\n3. 見つからない場合: 上記ディレクトリを Glob で列挙し、AskUserQuestion で選択させる\n\nYAML から以下を抽出する（→ references\u002Fyaml-schema.md 参照）:\n- `name`, `max_steps`, `initial_step`, `steps` 配列\n- `workflow_config`（ワークフロー全体の provider \u002F runtime 等）\n- セクションマップ: `personas`, `policies`, `instructions`, `output_contracts`, `knowledge`\n\n### 手順 2: セクションリソースの事前読み込み\n\nワークフロー YAML のセクションマップ（`personas:`, `policies:`, `instructions:`, `output_contracts:`, `knowledge:`）から全ファイルパスを収集する。\nパスは **ワークフロー YAML ファイルのディレクトリからの相対パス** で解決する。\n\n例: ワークフローが `~\u002F.agents\u002Fskills\u002Ftakt\u002Fworkflows\u002Fdefault.yaml` にあり、`personas:` に `coder: ..\u002Ffacets\u002Fpersonas\u002Fcoder.md` がある場合\n→ 絶対パスは `~\u002F.agents\u002Fskills\u002Ftakt\u002Ffacets\u002Fpersonas\u002Fcoder.md`\n\n重複を除いて Read で全て読み込む。読み込んだ内容はサブエージェントへのプロンプト構築に使う。\n\n### 手順 3: 初期化\n\n`initial_step` の名前を確認し、`steps` から該当する step 定義を取得する。\n**以下の変数を初期化する:**\n- `iteration = 1`\n- `current_step = 上記 initial の step 定義`\n- `previous_response = \"\"`\n- `permission_mode = コマンドで解析された権限モード（\"danger-full-access\" \u002F \"full-auto\" \u002F \"default\"）`\n- `step_history = []`（遷移履歴。Loop Monitor 用）\n\n**実行ディレクトリ**: いずれかの step に `report` フィールドがある場合、`.takt\u002Fruns\u002F{YYYYMMDD-HHmmss}-{slug}\u002F` を作成し、以下を配置する。\n- `reports\u002F`（レポート出力）\n- `context\u002Fknowledge\u002F`（Knowledge スナップショット）\n- `context\u002Fpolicy\u002F`（Policy スナップショット）\n- `context\u002Fprevious_responses\u002F`（Previous Response 履歴 + `latest.md`）\n- `logs\u002F`（実行ログ）\n- `meta.json`（run メタデータ）\n\nレポート出力先パスを `report_dir` 変数（`.takt\u002Fruns\u002F{slug}\u002Freports`）として保持する。\n\n次に **手順 4** に進む。\n\n### 手順 4: サブエージェント起動\n\n**iteration が max_steps を超えていたら → 手順 7（ABORT: イテレーション上限）に進む。**\n\ncurrent_step のプロンプトを構築する（→ references\u002Fengine.md のプロンプト構築を参照）。\n\nプロンプト構築の要素:\n1. **ペルソナ**: `persona:` キー → `personas:` セクション → .md ファイル内容\n2. **ポリシー**: `policy:` キー → `policies:` セクション → .md ファイル内容（複数可、末尾にリマインダー再掲）\n3. **実行コンテキスト**: cwd, ワークフロー名, step 名, イテレーション情報\n4. **ナレッジ**: `knowledge:` キー → `knowledge:` セクション → .md ファイル内容\n5. **インストラクション**: `instruction:` キー → `instructions:` セクション → .md ファイル内容（テンプレート変数展開済み）\n6. **タスク\u002F前回出力\u002Fレポート指示\u002Fタグ指示**: 自動注入\n\n**通常 step の場合（parallel フィールドなし）:**\n\n1. Write tool でプロンプトを一時ファイルに保存する。\n   - step 名や substep 名をファイル名に含めず、`\u002Ftmp\u002Ftakt-prompt-{timestamp}-{uuid}.md` のような安全なランダム名を使う\n2. Bash tool で `codex exec` を実行する。\n   - `--permit-full` の場合: `codex exec --sandbox danger-full-access - \u003C \"$tmp_prompt_file\"`\n   - `--permit-edit` の場合: `codex exec --full-auto - \u003C \"$tmp_prompt_file\"`\n   - デフォルト: `codex exec - \u003C \"$tmp_prompt_file\"`\n3. `stdout` をサブエージェント出力として扱う。\n4. **手順 5** に進む。\n\n**parallel step の場合:**\n\n1. parallel 配列の各サブステップ用プロンプトをそれぞれ安全なランダム名（例: `\u002Ftmp\u002Ftakt-parallel-{timestamp}-{uuid}.md`）で保存する。\n2. **1つのメッセージで**、サブステップ数分の Bash tool (`codex exec`) を並列実行する。\n3. 全 `stdout` を収集して **手順 5** に進む。\n\n```bash\n# 例: 2サブステップを並列実行\ncodex exec --full-auto - \u003C \"$tmp_prompt_file_1\"\ncodex exec --full-auto - \u003C \"$tmp_prompt_file_2\"\n```\n\n### 手順 5: レポート抽出と Loop Monitor\n\n**レポート抽出**（current_step に `report` フィールドがある場合のみ）:\nサブエージェント出力から ```markdown ブロックを抽出し、Write tool で `{report_dir}\u002F{ファイル名}` に保存する。\n詳細は references\u002Fengine.md の「レポートの抽出と保存」を参照。\n\n**Loop Monitor チェック**（ワークフローに `loop_monitors` がある場合のみ）:\n`step_history` に current_step の名前を追加する。\n遷移履歴が loop_monitor の `cycle` パターンに `threshold` 回以上マッチした場合、judge サブエージェントを起動して遷移先をオーバーライドする。\n詳細は references\u002Fengine.md の「Loop Monitors」を参照。\n\n### 手順 6: Rule 評価\n\n`codex exec` から返ってきたサブエージェント出力から matched_rule を決定する。\n\n**通常 step:**\n1. 出力に `[STEP:N]` タグがあるか探す（複数ある場合は最後のタグを採用）\n2. タグがあれば → rules[N] を選択（0始まりインデックス）\n3. タグがなければ → 出力全体を読み、全 condition と比較して最も近いものを選択\n\n**parallel step:**\n1. 各サブステップの `codex exec` 出力に対して、サブステップの rules で条件マッチを判定\n2. マッチした condition 文字列を記録\n3. 親 step の rules で aggregate 評価:\n   - `all(\"X\")`: 全サブステップが \"X\" にマッチしたら true\n   - `any(\"X\")`: いずれかのサブステップが \"X\" にマッチしたら true\n   - `all(\"X\", \"Y\")`: サブステップ1が \"X\"、サブステップ2が \"Y\" にマッチしたら true\n4. 親 rules を上から順に評価し、最初に true になった rule を選択\n\nmatched_rule が決まったら次に進む。\n- `next = COMPLETE` → **手順 7（COMPLETE）**\n- `next = ABORT` → **手順 7（ABORT）**\n- `next = step 名` → `previous_response` 更新、`iteration += 1`、次 step を `steps` から取得して **手順 4** に戻る\n\nどの rule にもマッチしなかったら → **手順 7（ABORT: ルール不一致）** に進む。\n\n### 手順 7: 終了\n\nユーザーに結果を報告する:\n- **COMPLETE**: 最後のサブエージェント出力のサマリーを表示\n- **ABORT**: 失敗理由を表示\n- **イテレーション上限**: 強制終了を通知\n\n## 詳細リファレンス\n\n| ファイル | 内容 |\n|---------|------|\n| `references\u002Fengine.md` | プロンプト構築、レポート管理、ループ検出の詳細 |\n| `references\u002Fyaml-schema.md` | ワークフロー YAML の構造定義とフィールド説明 |\n",{"name":5,"description":7},"main","3e6b722545091ed1bb6b81fe15f38189099154c1","plugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-optimizer\u002Freferences\u002Ftakt\u002Fbuiltins\u002Fskill-codex",0,"https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools","https:\u002F\u002Fgithub.com\u002Fj5ik2o","https:\u002F\u002Flapras.com\u002Fpublic\u002FNHXS5RH","I'm a tech-lead in the IDEO;PLUS Inc, is lover to Scala\u002FRust, Akka, DDD\u002FCQRS+Event Sourcing.","2026-11-11 20:34:50",{"source":8,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add j5ik2o\u002Fai-tools --skill takt",{"tool":41,"command":42},"bunx","bunx skills add j5ik2o\u002Fai-tools --skill takt",{"tool":44,"command":45},"pnpm","pnpm dlx skills add j5ik2o\u002Fai-tools --skill takt","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-optimizer\u002Freferences\u002Ftakt\u002Fbuiltins\u002Fskill-codex\u002FSKILL.md",true,[49,55,59],{"path":50,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":53,"sourceHtmlUrl":54},"agents\u002Fopenai.yaml","REFERENCE","参考文档",173,"https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-optimizer\u002Freferences\u002Ftakt\u002Fbuiltins\u002Fskill-codex\u002Fagents\u002Fopenai.yaml",{"path":56,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":57,"sourceHtmlUrl":58},"references\u002Fengine.md",8075,"https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-optimizer\u002Freferences\u002Ftakt\u002Fbuiltins\u002Fskill-codex\u002Freferences\u002Fengine.md",{"path":60,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":61,"sourceHtmlUrl":62},"references\u002Fyaml-schema.md",9737,"https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-optimizer\u002Freferences\u002Ftakt\u002Fbuiltins\u002Fskill-codex\u002Freferences\u002Fyaml-schema.md",[64,77,82,105,116,128],{"skillNo":65,"name":5,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":74,"publishedAt":21},"01M6D03X604YGMM6YFEG4M6767","TAKT ワークフローエンジン。Agent Team を使ったマルチエージェントオーケストレーション。ワークフロー YAML（steps \u002F initial_step）に従ってマルチエージェントを実行する。","https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-workflow-builder\u002Freferences\u002Ftakt\u002Fbuiltins\u002Fskill\u002FSKILL.md",[69],{"categoryNo":70,"categoryName":71,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[5,75,76,20],"agent team","team",{"skillNo":78,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":21},"01M6D03TAJ6WKRV6XACZHZ70NS","https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-workflow-builder\u002Freferences\u002Ftakt\u002Fbuiltins\u002Fskill-codex\u002FSKILL.md",[],[5,20,19],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":94,"publishedAt":21},"01M6D02V9SQ13TEDYDGN67K3WA","j5ik2o-takt-workflow-builder","TAKTワークフロー（ワークフローYAML）の作成・カスタマイズスキル。Faceted Prompting （Persona\u002FPolicy\u002FInstruction\u002FKnowledge\u002FOutput Contract）に基づくファセット群の 生成を含む。references\u002Ftaktにあるtaktのソースコード・ドキュメント・ビルトインワークフロー群を 参照資料として活用する。ユーザーの要件をヒアリングし、step構成、ルール設計、 ファセットファイル生成を一括で行う。 トリガー：「ワークフローを作りたい」「ワークフローを定義」「taktのワークフローを作成」 「新しいtaktワークフローを作って」「takt workflow」「ワークフローYAML」","https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-workflow-builder\u002FSKILL.md",[88,89],{"categoryNo":70,"categoryName":71,"taxonomyType":72,"taxonomyTypeDesc":73},{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[95,5,96,97,98,99,100,101,102,103,104],"j5ik2o takt workflow builder","builder","workflow builder","workflow","生成","contract","references","knowledge","persona","policy",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":21},"01M6D02P0Y4DEJ19J6V4S5VZ2S","j5ik2o-takt-task-builder","TAKTのtasks.yaml（タスクメタデータ）とタスクディレクトリ（.takt\u002Ftasks\u002F{slug}\u002Forder.md）の 作成・編集を支援するスキル。TaskRecordスキーマに準拠したYAMLエントリの生成、 order.mdタスク仕様書の作成、ステータス遷移ルールの検証を行う。 references\u002Ftaktにあるtaskスキーマ定義・ドキュメントを参照資料として活用する。 トリガー：「タスクを追加」「tasks.yamlを編集」「taktタスクを作成」 「タスク仕様書を書く」「order.mdを作成」「takt task」「タスクを定義」 「pendingタスクを追加」「GitHub Issueからタスク作成」","https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-task-builder\u002FSKILL.md",[],[5,112,113,96,101,99,20,114,115],"j5ik2o takt task builder","task","tasks","github",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":123,"publishedAt":21},"01M6D022WYSR825B6KB2CSNNY0","j5ik2o-takt-skill-updater","nrslib\u002Ftakt の新バージョンリリース時に、takt-*スキル群（j5ik2o-takt-task-builder, j5ik2o-takt-workflow-builder, j5ik2o-takt-facet-builder, j5ik2o-takt-analyzer, j5ik2o-takt-optimizer）を最新のtaktバージョンに追従させるスキル。 TypeScriptスキーマ（taskRecordSchemas.ts \u002F taskExecutionSchemas.ts）、ワークフローYAML、ファセットMarkdownの差分を検出し、 SKILL.md・参照ドキュメント（task-schema.md等）を体系的に更新する。 トリガー：「taktスキルを更新」「takt-*スキルの鮮度チェック」「taktバージョンアップ対応」 「スキルが古くないか確認」「takt skill updater」","https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-skill-updater\u002FSKILL.md",[122],{"categoryNo":70,"categoryName":71,"taxonomyType":72,"taxonomyTypeDesc":73},[5,124,125,98,126,96,113,127],"skill updater","j5ik2o takt skill updater","schema","optimizer",{"skillNo":129,"name":5,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":133,"publishedAt":21},"01M6D01Z6WJEXJTXRKEK6N2NBM","https:\u002F\u002Fgithub.com\u002Fj5ik2o\u002Fai-tools\u002Fblob\u002Fmain\u002Fplugins\u002Ftakt\u002Fskills\u002Fj5ik2o-takt-optimizer\u002Freferences\u002Ftakt\u002Fbuiltins\u002Fskill\u002FSKILL.md",[132],{"categoryNo":70,"categoryName":71,"taxonomyType":72,"taxonomyTypeDesc":73},[5,76,75,20]]