tuning-panel について
tuning-panelは、開発時のみ表示するパラメータパネルを構築するスキルです。視覚的な調整と、変更分だけをLLM向け形式で出力する方法を案内し、React、SwiftUI、Vanilla JavaScriptを扱います。
主な機能
- 01出力に関わるパラメータの特定
- 02開発時限定パネルの設計
- 03コントロールのグループ化とプリセット
- 04デフォルト値へのリセット
- 05変更値のみをエクスポート
活用シーン
- 01アニメーションやレイアウト値の調整
- 02ビジュアルスタイルやタイポグラフィの変更
- 03変更した設定のLLMへの共有
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ petekp/ agent-skills --skill tuning-panelインストール後、Claude Code で/tuning-panelを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
examples/export-format.mdreact-leva-animation.tsxreferences/parameter-categories.mdreact-leva.mdswiftui.mdvanilla-js.md詳細
チューニングパネルスキル
ユーザーが調整中の値を視覚的に操作できる、カスタムのパラメータチューニングパネルを作成します。これらのパネルでは、現在のタスクに関連するすべてのパラメータを表示し、リアルタイムで調整できるようにして、チューニングした値をLLMが扱いやすい形式でエクスポートします。
基本理念
網羅性を優先してください。 ユーザーが何かを調整する場合、結果に影響する可能性のあるパラメータはすべて表示してください。パラメータが不足するとコンテキストの切り替えが必要になりますが、「多すぎる」場合のコストはスクロール量だけです。
デバッグモードでのみ表示してください。 チューニングパネルを本番環境で表示してはいけません。環境チェック、ビルドフラグ、またはURLパラメータを使用してください。
変更した値のみをエクスポートしてください。 LLM向けのエクスポートには、100個以上のパラメータすべてではなく、調整した値のみを表示してください。
プラットフォームの選択
| プラットフォーム | ライブラリ | リファレンス |
|---|---|---|
| React | Leva(推奨) | references/react-leva.md |
| SwiftUI | ネイティブコントロール | references/swiftui.md |
| Vanilla JS | Tweakpane または dat.GUI | references/vanilla-js.md |
実装ワークフロー
ステップ 1: 調整可能なパラメータをすべて特定する
チューニング対象のコードを分析し、出力に影響するすべてのパラメータを抽出します。ドメインごとの網羅的な一覧については、references/parameter-categories.md を参照してください。
一般的なカテゴリ:
- アニメーション: duration、delay、easing、スプリング物理特性(stiffness、damping、mass)
- レイアウト: padding、margin、gap、width、height、position
- ビジュアル: 色、不透明度、シャドウ、ボーダー、変形
- タイポグラフィ: フォントサイズ、行の高さ、文字間隔、ウェイト
調査方法:
- マジックナンバー(ハードコードされた数値)を検索します
- スタイルオブジェクト(CSS-in-JS、インラインスタイル、テーマ値)を探します
- アニメーションの定義(Framer Motion、CSS トランジション、SwiftUI アニメーション)を見つけます
- ファイル内の色の値(hex、RGB、HSL)を特定します
- 数値または色のデフォルト値を持つコンポーネントの props を確認します
- CSS カスタムプロパティ(
--var-name宣言)を調べます
ステップ 2: デバッグモードのパネルを作成する
チューニングパネルが開発環境でのみ表示されるようにします。
- React:
process.env.NODE_ENV === 'development' - SwiftUI:
#if DEBUG - Vanilla JS: URL パラメータ
?debugまたは環境チェック
コードパターンについては、プラットフォーム別のリファレンスを参照してください。
ステップ 3: コントロールを実装する
以下の原則に従ってください。
- フォルダーやセクションを使って、関連するパラメータをグループ化します
- 適切なコントロールの種類を使用します。数値にはスライダー、色にはカラーピッカー、列挙型にはドロップダウンを使います
- パラメータのドメインに基づいて、適切な最小値、最大値、ステップ値を設定します
- よく使われる設定用のプリセットを含めます
- デフォルト値に戻すリセットボタンを追加します
ステップ 4: LLM 向けエクスポートを追加する
重要な要件:
- 比較できるよう、初期化時にデフォルト値を保存します
- 浮動小数点数には許容誤差を使用します(例:
Math.abs(a - b) > 0.001) - 変更された値のみをフィルタリングして表示します。変更されていないパラメータは表示しません
- カテゴリごとにグループ化し、人が読みやすい名前を使って、読みやすい形式にします
エクスポート形式:
## Tuned Parameters for [ComponentName]
### Changed Values
- Duration: 300 → 450
- Spring Damping: 0.80 → 0.65
- Corner Radius: 12 → 16
### Apply These Values
Update the component at `src/components/Card.tsx:42` with the values above.
重要な理由:
- パネルに100個以上のパラメータを表示する場合があります
- すべての値をエクスポートするとトークンを浪費し、変更箇所がわかりにくくなります
default → current形式にすると、差分をすばやく確認できます
その他のリソース
リファレンスファイル
- references/react-leva.md - React/Leva の完全な実装ガイド
- references/swiftui.md - SwiftUI のネイティブコントロールとエクスポートパターン
- references/vanilla-js.md - プレーンな JS 向けの Tweakpane と dat.GUI
- references/parameter-categories.md - ドメインごとの網羅的なパラメータ一覧
サンプルファイル
- examples/react-leva-animation.tsx - アニメーションチューニングパネルの完全な例
- examples/export-format.md - LLM 向け完全なエクスポートテンプレート