name: takt-analyze description: > 既存のTAKTピースとファセットを分析し、改善提案を行うスキル。ピースYAMLの構造検証、 ファセット間の整合性チェック、スタイルガイド準拠の確認、未使用ファセットの検出、 ルール設計の最適化提案を実施する。references/taktのスタイルガイド・エンジン仕様を 基準として分析する。 トリガー:「ピースを分析」「taktの設定を確認」「ファセットの品質チェック」 「ピースのレビュー」「takt analyze」「ワークフローの改善提案」 「ピースの整合性チェック」「taktの問題を見つけて」
TAKT Analyzer
既存のTAKTピースとファセットを分析し、問題点の検出と改善提案を行う。
参照資料
| 資料 | パス | 用途 |
|---|---|---|
| YAMLスキーマ | references/takt/builtins/skill/references/yaml-schema.md |
ピース構造の検証基準 |
| エンジン仕様 | references/takt/builtins/skill/references/engine.md |
ルール評価・実行仕様 |
| スタイルガイド群 | references/takt/builtins/ja/*_STYLE_GUIDE.md |
ファセット品質基準 |
| ビルトインピース | references/takt/builtins/ja/pieces/ |
構造パターンの参照 |
| ビルトインファセット | references/takt/builtins/ja/{personas,policies,instructions,knowledge,output-contracts}/ |
ファセット品質の参照 |
分析カテゴリ
1. ピース構造分析
ピースYAMLの構造的な問題を検出する。
チェック項目:
| チェック | 内容 | 重大度 |
|---|---|---|
| initial_movement存在 | initial_movementがmovements配列内に存在するか |
Critical |
| 遷移先の有効性 | 全rules.nextが有効なムーブメント名 or COMPLETE/ABORTか |
Critical |
| セクションマップ整合性 | セクションマップのキーとムーブメント内参照が一致するか | Critical |
| ファイルパス存在 | セクションマップのパスが実在するか | Critical |
| parallel構造 | 親ルールがall()/any()を使用、サブステップにnextがないか |
Warning |
| edit権限 | edit: trueのムーブメントに適切なrequired_permission_modeがあるか |
Info |
| session設定 | 実装系ムーブメントにsession: refreshがあるか |
Info |
2. ファセット品質分析
各ファセットがスタイルガイドに準拠しているか確認する。
Persona チェック:
- ロール定義が1-2文
- 「やること」「やらないこと」に担当エージェント名
- ポリシーの詳細ルール(コード例・テーブル)が混入していない
- ピース固有の概念(ムーブメント名等)がない
- サイズ: simple 100行以内、expert 550行以内
-
####以下のネストがない
Policy チェック:
- 目的説明が1文
- 原則テーブルが存在
- 特定エージェント固有の知識がない
- サイズ: 300行以内
Instruction チェック:
- 冒頭が命令形
-
{task},{previous_response}を手動記述していない - ペルソナ/ポリシーの内容が混入していない
- サイズ: 種別に応じた上限内
Output Contract チェック:
-
```markdownコードブロックで囲まれている - レビュー系にステータスと認知負荷軽減ルール
- ファイル名に番号プレフィックスがない
- サイズ: 30行以内
3. ファセット分離分析
ファセット間の責務が適切に分離されているか検出する。
| 違反パターン | 説明 | 修正方向 |
|---|---|---|
| ペルソナにポリシー詳細 | コード例・テーブル付きのルールがペルソナ内に | → ポリシーに移動 |
| ペルソナにピース概念 | ムーブメント名・レポートファイル名がペルソナ内に | → インストラクションに移動 |
| ポリシーに固有知識 | 特定エージェント固有の検出手法がポリシー内に | → ペルソナのドメイン知識に移動 |
| インストラクションに原則 | 共有コーディング原則がインストラクション内に | → ポリシーに移動 |
| 出力契約に手順 | 実行手順が出力契約内に | → インストラクションに移動 |
4. ルール設計分析
ルール条件の設計を評価する。
| チェック | 内容 |
|---|---|
| タグ vs AI判定 | タグベース条件で対応可能な箇所でai()を使用していないか |
| aggregate使用 | parallelの親でall()/any()を使用しているか |
| 到達不能ルール | どの条件にも該当しないケースがないか |
| ループリスク | fix→review等の循環にloop_monitorsがあるか |
| ABORT条件 | 失敗時のABORT遷移が適切に定義されているか |
5. ビルトイン活用分析
カスタムファセットがビルトインで代替可能か検出する。
手順:
- カスタムファセットの内容をビルトインファセットと比較
- 類似度が高い場合はビルトインへの置き換えを提案
- ビルトインのbare name参照とセクションマップ参照の混在を検出
ワークフロー
Step 1: 対象の特定
分析対象のピースYAMLを特定する。
探索順序:
1. ユーザー指定のパス
2. ~/.takt/pieces/ 内のカスタムピース
3. .takt/pieces/ 内のプロジェクトピース
Step 2: ピースYAML解析
ピースYAMLを読み込み、構造分析を実施する。
- YAML構文の検証
- ムーブメント構成の確認
- ルール条件の型チェック
- セクションマップの参照解決
Step 3: ファセット読み込みと品質チェック
セクションマップとビルトイン参照から全ファセットを読み込み、スタイルガイドに照合する。
Step 4: 分離分析
ファセット間の責務侵犯を検出する。
Step 5: レポート出力
# TAKT分析レポート: {ピース名}
## サマリー
- Critical: {N件}
- Warning: {N件}
- Info: {N件}
## Critical(必須修正)
| # | カテゴリ | 場所 | 問題 |
|---|---------|------|------|
## Warning(推奨修正)
| # | カテゴリ | 場所 | 問題 | 改善案 |
|---|---------|------|------|--------|
## Info(改善提案)
| # | カテゴリ | 場所 | 提案 |
|---|---------|------|------|
## ビルトイン活用の提案
{カスタムファセットのビルトイン置き換え提案}