MTP Skill のカスタマイズ
このページは、MTP Skill の挙動をカスタマイズしたい開発者向けの資料です。
通常の利用では、これらのファイルを編集しなくても /mtp を利用できます。
対象ファイル
Section titled “対象ファイル”skills/mtp/nodes/*skills/mtp/references/presets.yamlskills/mtp/scripts/mtp_compiler.pyノード定義とプリセットは、コンパイラが読むソースです。
これらを編集すると、MTP Skill が出力する制約が変わります。
各軸は skills/mtp/nodes/ 配下の Markdown ファイルで定義されています。
これらのファイルは説明資料であるだけでなく、コンパイラが読み取る制約ソースです。
ファイル先頭には、単純な frontmatter を置きます。
---axis: rednode_positive: powernode_negative: voiddescription: "Axis of force and void. Controls whether to push output and assert strongly or strip it back to create margin."---必須キー:
axisnode_positivenode_negative
推奨キー:
description
frontmatter は単純な形式にしてください。
1 行につき key: value を 1 つだけ書きます。
リスト、ネストした YAML、複数行の値は使わないでください。
コンパイラは、次の見出し構造を前提にしています。
## Side A
### Low
- ...
### Mid
- ...
### High
- ...
## Side B
### Low
- ...
### Mid
- ...
### High
- ...tier の抽出は累積的に行われます。
| 強度 | 抽出される tier |
|---|---|
1-30 | Low |
31-70 | Low + Mid |
71-100 | Low + Mid + High |
上位 tier は、下位 tier を強めるか補足する内容にしてください。
下位 tier と矛盾する制約は避けてください。
プリセットは skills/mtp/references/presets.yaml で定義します。
synthesizer: "D:16 A:1"strategist: "P:16 P:4"maverick: "D:4 A:19"concierge: "J:13 D:10"各値は、空白区切りの MTP トークン列です。
スライダーとグリッドを組み合わせることもできます。
プリセットはパース前に展開されるため、同一軸の競合解決は展開後の最後のトークン順に従います。
Skill ルートからコンパイラを実行します。
python3 scripts/mtp_compiler.py --args "power:100"python3 scripts/mtp_compiler.py --args "D:16 A:1"python3 scripts/mtp_compiler.py --args "synthesizer yellow:30"コンパイラは stdout に制約 XML を出力します。
警告と短い要約は stderr に出力されます。
詳しいテストケースは GitHub の skills/mtp/USAGE.md を参照してください。