# Workflow: スキルを監査する
**今すぐこれらのリファレンスファイルを読んでください:**
1. references/recommended-structure.md
2. references/skill-structure.md
3. references/use-xml-tags.md
## ステップ1: 利用可能なスキルをリストする
**AskUserQuestionを使用しないでください** - 多くのスキルがあるかもしれません。
チャット内でスキルを番号付きリストとして列挙します:
```bash
ls ~/.claude/skills/
```
次のように表示します:
```
利用可能なスキル:
1. create-agent-skills
2. build-macos-apps
3. manage-stripe
...
```
「どのスキルを監査しますか?(番号または名前を入力してください)」と尋ねます。
## ステップ2: スキルを読む
ユーザーが選択した後、完全なスキル構造を読みます:
```bash
# メインファイルを読む
cat ~/.claude/skills/{skill-name}/SKILL.md
# ワークフローとリファレンスを確認
ls ~/.claude/skills/{skill-name}/
ls ~/.claude/skills/{skill-name}/workflows/ 2>/dev/null
ls ~/.claude/skills/{skill-name}/references/ 2>/dev/null
```
## ステップ3: 監査チェックリストを実行する
各基準に対して評価します:
### YAMLフロントマター
- [ ] `name:`フィールドがある(小文字-ハイフン区切り)
- [ ] 名前がディレクトリ名と一致する
- [ ] `description:`フィールドがある
- [ ] 説明が何をするかといつ使用するかを説明している
- [ ] 説明が三人称である(「...whenを使用する」)
### 構造
- [ ] SKILL.mdが500行未満
- [ ] 純粋XML構造(本文にMarkdown見出し#がない)
- [ ] すべてのXMLタグが適切に閉じられている
- [ ] 必須タグがある: objective または essential_principles
- [ ] success_criteriaがある
### ルーターパターン(複雑なスキルの場合)
- [ ] 基本原則がSKILL.md内にインラインである(別ファイルにない)
- [ ] インテーク質問がある
- [ ] ルーティングテーブルがある
- [ ] 参照されているすべてのワークフローファイルが存在する
- [ ] 参照されているすべてのリファレンスファイルが存在する
### ワークフロー(存在する場合)
- [ ] 各ワークフローにrequired_readingセクションがある
- [ ] 各ワークフローにprocessセクションがある
- [ ] 各ワークフローにsuccess_criteriaセクションがある
- [ ] required_readingの参照が存在する
### コンテンツ品質
- [ ] 原則が実行可能である(曖昧な理念ではない)
- [ ] ステップが具体的である(「それをやる」ではない)
- [ ] 成功基準が検証可能である
- [ ] ファイル間で冗長なコンテンツがない
## ステップ4: レポートを生成する
所見を次のように表示します:
```
## 監査レポート: {skill-name}
### ✅ 合格
- [合格項目のリスト]
### ⚠️ 発見された問題
1. **[問題名]**: [説明]
→ 修正: [具体的なアクション]
2. **[問題名]**: [説明]
→ 修正: [具体的なアクション]
### 📊 スコア: X/Y 基準合格
```
## ステップ5: 修正を提案する
問題が見つかった場合、尋ねます:
「これらの問題を修正しますか?」
オプション:
1. **すべて修正** - すべての推奨修正を適用
2. **1つずつ修正** - 適用前に各修正をレビュー
3. **レポートのみ** - 変更不要
修正する場合:
- 各変更を実施
- 各変更後にファイルの有効性を確認
- 何が修正されたかを報告
## フラグすべき一般的なアンチパターン
**スキップ可能な原則**: 基本原則がインラインではなく別ファイルにある
**モノリシックなスキル**: 500行を超える単一ファイル
**関心事の混合**: 手順と知識が同じファイルにある
**曖昧なステップ**: 「エラーを適切に処理する」
**テスト不可能な基準**: 「ユーザーが満足している」
**本文内のMarkdown見出し**: XMLタグの代わりに#を使用
**ルーティングなし**: インテーク/ルーティングがない複雑なスキル
**壊れた参照**: 言及されているが存在しないファイル
**冗長なコンテンツ**: 同じ情報が複数の場所にある
監査は以下が完了したときに完了です:
- [ ] スキルが完全に読み取られ、分析された
- [ ] すべてのチェックリスト項目が評価された
- [ ] レポートがユーザーに提示された
- [ ] 修正が適用された(要求された場合)
- [ ] ユーザーがスキルの状態を明確に把握している