claude/skills/takt/SKILL.md
TAKT ピースエンジン。Agent Team を使ったマルチエージェントオーケストレーション。ピースYAMLワークフローに従ってマルチエージェントを実行する。
npx skillsauth add kazuph/dotfiles taktInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
$ARGUMENTS を以下のように解析する:
/takt {piece} [permission] {task...}
--permit-full — 全権限付与(mode: "bypassPermissions")--permit-edit — 編集許可(mode: "acceptEdits")"default"(権限確認あり)例:
/takt coding FizzBuzzを作って → coding ピース、default 権限/takt coding --permit-full FizzBuzzを作って → coding ピース、bypassPermissions/takt /path/to/custom.yaml 実装して → カスタムYAML、default 権限手順を開始する前に、以下の2ファイルを Read tool で読み込む:
~/.claude/skills/takt/references/engine.md - プロンプト構築、レポート管理、ループ検出の詳細~/.claude/skills/takt/references/yaml-schema.md - ピースYAMLの構造定義あなたは Team Lead(オーケストレーター) である。 ピースYAMLに定義されたワークフロー(状態遷移マシン)に従って Agent Team を率いる。
重要: ユーザーが明示的に指示するまで git commit を実行してはならない。実装完了 ≠ コミット許可。
| やること | 使うツール | 説明 | |---------|-----------|------| | チーム作成 | TeamCreate tool | 最初に1回だけ呼ぶ | | チーム解散 | TeamDelete tool | 最後に1回だけ呼ぶ | | チームメイト起動 | Task tool (team_name 付き) | movement ごとに呼ぶ。結果は同期的に返る |
TeamCreate / TeamDelete でチームメイトを個別に起動することはできない。 チームメイトの起動は必ず Task tool を使う。 Task tool は同期的に結果を返す。 TaskOutput やポーリングは不要。呼べば結果が返ってくる。
引数の第1トークンからピースYAMLファイルを特定して Read で読む。
第1トークンがない場合(ピース名未指定):
→ ユーザーに「ピース名を指定してください。例: /takt coding タスク内容」と伝えて終了する。
ピースYAMLの検索順序:
.yaml / .yml で終わる、または / を含む → ファイルパスとして直接 Read~/.takt/pieces/{name}.yaml (ユーザーカスタム、優先)~/.claude/skills/takt/pieces/{name}.yaml (Skill同梱ビルトイン)YAMLから以下を抽出する(→ references/yaml-schema.md 参照):
name, max_movements, initial_movement, movements 配列personas, policies, instructions, output_contracts, knowledgeピースYAMLのセクションマップ(personas:, policies:, instructions:, output_contracts:, knowledge:)から全ファイルパスを収集する。
パスは ピースYAMLファイルのディレクトリからの相対パス で解決する。
例: ピースが ~/.claude/skills/takt/pieces/default.yaml にあり、personas: に coder: ../facets/personas/coder.md がある場合
→ 絶対パスは ~/.claude/skills/takt/facets/personas/coder.md
重複を除いて Read で全て読み込む。読み込んだ内容はチームメイトへのプロンプト構築に使う。
今すぐ TeamCreate tool を呼べ:
TeamCreate tool を呼ぶ:
team_name: "takt"
description: "TAKT {piece_name} ワークフロー"
initial_movement の名前を確認し、movements 配列から該当する movement を取得する。
以下の変数を初期化する:
iteration = 1current_movement = initial_movement の movement 定義previous_response = ""permission_mode = コマンドで解析された権限モード("bypassPermissions" / "acceptEdits" / "default")movement_history = [](遷移履歴。Loop Monitor 用)実行ディレクトリ: いずれかの movement に report フィールドがある場合、.takt/runs/{YYYYMMDD-HHmmss}-{slug}/ を作成し、以下を配置する。
reports/(レポート出力)context/knowledge/(Knowledge スナップショット)context/policy/(Policy スナップショット)context/previous_responses/(Previous Response 履歴 + latest.md)logs/(実行ログ)meta.json(run メタデータ)レポート出力先パスを report_dir 変数(.takt/runs/{slug}/reports)として保持する。
次に 手順 5 に進む。
iteration が max_movements を超えていたら → 手順 8(ABORT: イテレーション上限)に進む。
current_movement のプロンプトを構築する(→ references/engine.md のプロンプト構築を参照)。
プロンプト構築の要素:
persona: キー → personas: セクション → .md ファイル内容policy: キー → policies: セクション → .md ファイル内容(複数可、末尾にリマインダー再掲)knowledge: キー → knowledge: セクション → .md ファイル内容instruction: キー → instructions: セクション → .md ファイル内容(テンプレート変数展開済み)通常 movement の場合(parallel フィールドなし):
Task tool を1つ呼ぶ。Task tool は同期的に結果を返す。待機やポーリングは不要。
Task tool を呼ぶ:
prompt: <構築したプロンプト全文>
description: "{movement名} - {piece_name}"
subagent_type: "general-purpose"
team_name: "takt"
name: "{movement の name}"
mode: permission_mode
Task tool の戻り値がチームメイトの出力。手順 5a に進む。
parallel movement の場合:
1つのメッセージで、parallel 配列の各サブステップに対して Task tool を並列に呼ぶ。 全ての Task tool が結果を返したら 手順 5a に進む。
// サブステップの数だけ Task tool を同時に呼ぶ(例: 2つの場合)
Task tool を呼ぶ(1つ目):
prompt: <サブステップ1用プロンプト>
description: "{サブステップ1名} - {piece_name}"
subagent_type: "general-purpose"
team_name: "takt"
name: "{サブステップ1の name}"
mode: permission_mode
Task tool を呼ぶ(2つ目):
prompt: <サブステップ2用プロンプト>
description: "{サブステップ2名} - {piece_name}"
subagent_type: "general-purpose"
team_name: "takt"
name: "{サブステップ2の name}"
mode: permission_mode
レポート抽出(current_movement に report フィールドがある場合のみ):
チームメイト出力から ```markdown ブロックを抽出し、Write tool で {report_dir}/{ファイル名} に保存する。
詳細は references/engine.md の「レポートの抽出と保存」を参照。
Loop Monitor チェック(ピースに loop_monitors がある場合のみ):
movement_history に current_movement の名前を追加する。
遷移履歴が loop_monitor の cycle パターンに threshold 回以上マッチした場合、judge チームメイトを起動して遷移先をオーバーライドする。
詳細は references/engine.md の「Loop Monitors」を参照。
Task tool から返ってきたチームメイトの出力から matched_rule を決定する。
通常 movement:
[STEP:N] タグがあるか探す(複数ある場合は最後のタグを採用)parallel movement:
all("X"): 全サブステップが "X" にマッチしたら trueany("X"): いずれかのサブステップが "X" にマッチしたら trueall("X", "Y"): サブステップ1が "X"、サブステップ2が "Y" にマッチしたら truematched_rule が決まったら 手順 7 に進む。 どの rule にもマッチしなかったら → 手順 8(ABORT: ルール不一致) に進む。
matched_rule の next を確認する:
next が "COMPLETE" → 手順 8(COMPLETE) に進むnext が "ABORT" → 手順 8(ABORT) に進むnext が movement 名 → 以下を実行して 手順 5 に戻る:
previous_response = 直前のチームメイト出力current_movement = next で指定された movement を movements 配列から取得iteration を +1 するTeamDelete tool を呼ぶ
| ファイル | 内容 |
|---------|------|
| references/engine.md | プロンプト構築、レポート管理、ループ検出の詳細 |
| references/yaml-schema.md | ピースYAMLの構造定義とフィールド説明 |
tools
X (Twitter) API read-only CLI. Bookmarks retrieval, tweet search, engagement analytics (likes/RT aggregation), mentions, user lookup. Use when: reading X bookmarks, searching tweets, aggregating likes/retweets, checking mentions, looking up users. Triggers: bookmark, bookmarks, X search, Twitter search, likes count, RT count, engagement, tweet analytics.
testing
単体テスト方針の要約。Kiro流で使うときは本文を必ず参照・展開する。
tools
Send prompts to other AI CLIs (Codex, Claude Code) running in sibling tmux panes and receive results back. Use this skill when the user asks to send a question or task to Codex or another Claude Code instance in a tmux pane. Handles pane discovery, CLI startup if needed, prompt delivery with proper Enter timing, delivery verification, and result return via tmux send-keys.
tools
Send messages and files to Slack using the existing bot token and the single configured channel. Never use browser automation for this skill. Do not send to any other channel.