cutting-skills について
重要なルールと動作を保ちながら、エージェントスキルを監査または短縮するスキルです。提案のみの監査モードと明示的な依頼による編集モードを分け、計測、分類、検証、報告の手順を定めています。
主な機能
- 01監査モードでは削減案のみ提示
- 02明示的な依頼がある場合のみ短縮
- 03文字数と行数の計測
- 04内容を分類してから取捨選択
- 05リンク、メタデータ、リポジトリ検査の検証
- 06変更点と未解決の不確実事項を報告
活用シーン
- 01スキル内の重複や不要な記述の確認
- 02重要な制約を保ったスキルの短縮
- 03編集後の行番号参照の更新
- 04改訂したスキルの検証と変更内容の要約
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bostonaholic/ skills --skill cutting-skillsインストール後、Claude Code で/cutting-skillsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/classification-table.mdcutting-as-a-hillclimb.mdskill-rules.mdshared/skill-calls.md詳細
Skill Cutter
スキルは、作成者が重視することをモデルに伝え、その後はモデルの邪魔をしません。優れた最先端モデルでも誤りやすい内容だけを含めます。
- 目標、品質基準、既定の動作とは異なる設定
- 見落としやすい注意点、専門分野の事実、安全性や認可の境界
- 壊れやすいコマンドや、解析されるコマンドと形式
どのように削っても、スキルはスキルのルールを満たします。エージェントに依存せず、短いチェックリスト形式の SKILL.md に詳細を references/ に記載します。
モード
- 監査:レビュー、批評、削減箇所の特定を求められた場合は、編集せずに提案する対応を報告します。ヒルクライムや評価は実行せず、件数は推定でもかまいません。
- 削減:削減、圧縮、短縮、簡素化、冗長さの解消を明示的に依頼された場合、そのスキル内に限ってローカル編集を行い、
SKILL.md:NNを参照する評価用グレーダーがあれば、同じ内容の新しい行番号に更新できます。コミット、プッシュ、公開、その他スキル外の変更は許可されません。
測定
- 対象の
SKILL.mdの文字数(wc -c)と本文の行数を記録します。文字数を4で割ると、トークン数の目安になります。行数だけでは実態を誤ります。 - フロントマターの説明はリクエストごとに読み込まれ、文字数にも含まれます。長い説明は削減の下限を引き上げます。
削減前の分類
SKILL.md全体、agents/openai.yaml、およびリソースを読みます。- このスキルが起動すべきタスクと、十分な能力を持つエージェントでもこれがなければ誤る判断を挙げます。
- 各要素に分類を付け、分類表に従って既定の扱いを決めます。
削減
- 圧縮より削除を優先します。正しいというだけの理由で文章を残してはいけません。
- 大きく削減できる箇所は、次の順です。リンク先の内容の繰り返し、箇条書きと同じ語句で表せる冗長なMarkdown表、説明文を言い換える導入、ルールの背景説明、一般的なエンジニアリングの助言です。さらに、モデルがすでに実行する手順、チェックリストや完了時の儀式、サブエージェントへの割り当て方法、繰り返される要約、パーサーやユーザーの好みに必要とされない報告テンプレート、実行に影響しない履歴も削除します。
- ユーザーが重視する厳密な形式、値、エッジケースは一字一句そのまま残します。緩い要約ではモデルが内容を落とすため、言い換えは気付かれない削減になります。
- 一般的なスキルは、最終的に約25~30%小さくなります。残すのはコマンド、ガード、解析されるテンプレート、評価対象となる動作です。数値目標に合わせてガードや指示を密度の高い標語に圧縮してはいけません。Keepクラスの内容まで削らなければ達成できない目標は、分類によって証明された削減不可の目標です。
- 長い散文の段落は、すべての節を残した箇条書きに組み替えます。
- 詳細をリファレンスに移すのは、特定の分岐、手順、バリエーションだけで必要になる場合に限ります。その手順から、参照すべきタイミングを示してリンクします。手順、ガード、停止条件は
SKILL.mdに残し、短く見せるために移してはいけません。 - 使われていないように見えるスクリプト、アセット、リファレンスは削除しません。テストも含め、まず呼び出し元を確認します。
ヒルクライムによる削減
削減モードでは、分類後にSkillツールを hillclimbing で呼び出し、ヒルクライムによる削減で定められた目標、ガードレール、反復方法、フォールバックに従います。Skillツールがない場合は、スキル呼び出しのルールに従います。
トリガーメタデータ
- 説明は常時読み込まれるルーティングコンテキストです。このスキルを起動する具体的な意図や成果物を挙げ、「あらゆるタスク」のようなトリガーは削除し、近接するタスクを対象外とする短い説明を加えます。
- 明示的な依頼のみを対象とするガードはすべて維持します。明示的な依頼がトリガーに一致しなくなるほど消極的にしてはいけません。
agents/openai.yamlも説明に合わせます。
検証
- リンクと
agents/openai.yamlを修正します。 - リポジトリ独自のスキルチェックを実行します(
AGENTS.md、CONTRIBUTING.md、またはパッケージマニフェストに記載されているもの。インストール済みの場合はskills-ref validate <target-skill>)。コマンドを推測して作らないでください。 - 該当するものがない場合は、フロントマターが解析できること、すべての相対パスが解決できること、スキルのルールに従っていることを確認します。
- スキル内の不具合を修正し、問題がなくなるまで再実行します。スキル外の不具合は報告します。
- 最後に、どのクラスも正当化できない削除された動作がないか、差分を確認します。
報告
- モード、SKILL.md の行数と文字数、および変更前後の合計行数(Audit モードでは推定値)。
- スキルが引き続き提供する動作と、クラスを明記した、重要な保持・移動・削除の各項目。
- トリガーの変更、検証および評価結果(ケースごとの実行をまとめた結果)、スキルのルールに従っているかどうか。
- 判断に迷ったため、変更しなかった項目。
コメント
Markdown 対応