Yinyo Skill Craft — Skill 工匠 は何をしますか?
Skill エンジニアリング監査とインタラクティブな修正ツール。Perplexity Agents Team 公式ガイド + Karpathy CLAUDE.md コーディング規約 + yinyo シリーズ実戦経験に基づく。
新機能:自動修正 + ユーザー確認モードをサポート。
コアルール
1. Skill はファイルではなくディレクトリ
- 単一ファイル > 50KB → 必ずハブアンドスポーク構造に分割
- 標準構造:SKILL.md + README.md + docs/ + examples/ + subskills/
- 多段ネスト:300 トピック → 20 ドメイン → 15 トピック/ドメイン
2. Description はルーティングトリガー
- 必ず
Load when...で始める - トリガー条件を説明し、機能リストにしない
- 50 文字以内に収める
3. 3段階プログレッシブロード
| レベル | Token 予算 | 内容 | 読み込み頻度 |
|---|---|---|---|
| Index | ~100 | name + description | セッションごと |
| Body | ~5000 | コアルール + クイックリファレンス | ロード後から compact まで |
| Runtime | 無制限 | docs/ + examples/ + subskills/ | 必要時 |
4. モデルが既知の内容を削除
- 基本概念の説明 → 削除
- 一般的なプログラミング原則 → 削除
- 「If it's easy to explain, the model already knows it. Delete it.」
5. Karpathy コーディング4原則
- Think Before Coding:不確かなら質問
- Simplicity First:200行で書けるなら500行書かない
- Surgical Changes:触る必要があるものだけ触る
- Goal-Driven Execution:検証可能な目標を定義
インタラクティブ修正フロー(新機能)
修正原則
- 低リスク(構造、フォーマット、バージョン)→ 自動実行、事後報告
- 中リスク(説明の書き換え)→ 変更前後を比較表示、ユーザー確認
- 高リスク(コンテンツ削除)→ 削除リストを表示、項目ごとに確認
修正範囲
| 修正タイプ | 例 | リスクレベル |
|---|---|---|
| 構造調整 | 単一ファイルをディレクトリに分割 | 低 |
| 説明の書き換え | Load when... に変更 | 中 |
| コンテンツ削除 | モデル既知の内容を削除 | 高 |
| バージョン同期 | version/last_updated を更新 | 低 |
| フォーマット標準化 | frontmatter を補完 | 低 |
修正フロー
監査 → 問題リスト作成 → リスク分類 → ユーザー確認 → 自動修正 → 二次監査 → 結果報告
修正後検証
- 自動的に二次監査を実行
- 修正前後のスコアを比較
- 修正レポートを生成(何を、なぜ、スコア変化)
監査フロー
入力
ユーザーが提供:
- Skill ディレクトリのパス、または
- SKILL.md の内容
出力
監査レポートを生成:
## 監査レポート:{skill-name}
### 構造監査
- [PASS/WARN/FAIL] ディレクトリ構造
- [PASS/WARN/FAIL] ファイルサイズ
- [PASS/WARN/FAIL] 階層の深さ
### コンテンツ監査
- [PASS/WARN/FAIL] Description の書き方
- [PASS/WARN/FAIL] モデル既知の内容検出
- [PASS/WARN/FAIL] シグナル密度
### バージョン管理
- [PASS/WARN/FAIL] バージョン番号の形式
- [PASS/WARN/FAIL] 同期状態
### 合計スコア:{X}/100
### 提案:{優先アクション}
アンチパターン検出リスト
構造アンチパターン
- 単一ファイル肥大化(> 50KB)
- Description が長すぎる(> 100 tokens)
- 階層なし(> 50 トピックがフラット)
- バージョン管理なし
コンテンツアンチパターン
- モデル既知の内容(基本概念の説明)
- 過度なエンジニアリング(抽象化レイヤー > 実際の要件)
- プロセスのパフォーマンス化(成果物の品質よりコンプライアンス)
- 検証基準なし
yinyo 特有の悪癖
- バージョン戻しのためらい(品質低下時に即座に戻さない)
- プロセスが完全だと品質が低下する(yinyo-writer の教訓)
- 単一ファイル 277KB(yinyo-liuyao の教訓)
修正提案テンプレート
単一ファイル肥大化 → 分割
旧:SKILL.md (277KB)
新:
├── SKILL.md (5KB: コアルール)
├── docs/
│ ├── rules.md (50KB: 120ルール)
│ ├── examples.md (100KB: 412卦例)
│ └── reference.md (30KB: 64卦納甲表)
└── subskills/
├── edge-case-1.md
└── edge-case-2.md
Description の誤り → 修正
❌ "This Skill helps you write articles."
✅ "Load when the user needs to write a WeChat public account article."
クイックリファレンス
Skill 命名
yinyo-{domain}-{action}
ファイルサイズ
- Index: < 1KB
- Body: < 50KB
- Runtime: 無制限
バージョン管理
- SemVer: MAJOR.MINOR.PATCH
- 更新ごとに同期:SKILL.md + README.md + Git commit + memory
修正トリガー
- "このSkillを修正" → インタラクティブ修正モードに移行
- "自動修正" → 低リスク修正を実行
- "修正して" → 修正提案を表示し、確認を待つ