skill-stocktake について
Skill Stocktake は、スキル集を保守するチーム向けに `.github/skills/` とテンプレートを監査する手順です。目録、メタデータ、整合性、品質、カタログの網羅性を確認し、レポートを作成します。
主な機能
- 01スキルディレクトリの一覧化
- 02SKILL.md のフロントマター検証
- 03スキルとテンプレートの比較
- 04品質基準と参照先の確認
- 05カタログ網羅性の分析
活用シーン
- 01スキル追加前の重複確認
- 02一括変更後のテンプレート同期確認
- 03古いスキルや未完成のスキルの特定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ zereight/ gitlab-mcp --skill skill-stocktakeインストール後、Claude Code で/skill-stocktakeを入力して読み込まれたか確認します。
詳細
スキルの棚卸し
.github/skills/ と vscode-omg/resources/templates/skills/ ディレクトリを監査し、品質と網羅性に関するレポートを作成します。
使用するタイミング
- 新しいスキルを追加する前(重複を避けるため)
- 大規模な変更をまとめて行った後(テンプレートが同期されていることを確認するため)
- 古くなったスキルや不完全なスキルを整理するため、定期的に
監査手順
Step 1: 棚卸し
# List all skill directories
ls -1d .github/skills/*/
# Count total
ls -1d .github/skills/*/ | wc -l
# Check each has a SKILL.md
for dir in .github/skills/*/; do
[ -f "${dir}SKILL.md" ] || echo "MISSING SKILL.md: $dir"
done
Step 2: フロントマターの検証(v1.0.5+)
各 SKILL.md には、有効なフロントマターが必要です。
---
name: skill-name # required, kebab-case, matches directory name
description: > # required, multi-line description with trigger keywords
...
argument-hint: "..." # optional, describes argument
---
v1.0.5 の破壊的変更で確認する項目:
- ❌
hint:フィールド → ✅argument-hint: - ❌
allowed-tools:フィールド → ✅ 削除(サポートされていません) - スキル名
autopilot→omg-autopilotにする必要があります(名前の衝突)
次のコマンドで検証します。
# Find skills using old 'hint:' field
grep -rn "^hint:" .github/skills/
# Find skills using unsupported 'allowed-tools:'
grep -rn "^allowed-tools:" .github/skills/
# Check for old 'autopilot' directory
ls .github/skills/ | grep "^autopilot$"
Step 3: テンプレートの同期チェック
# Skills in .github but not in templates
diff <(ls .github/skills/) <(ls vscode-omg/resources/templates/skills/)
# Skills in templates but not in .github (orphan templates)
diff <(ls vscode-omg/resources/templates/skills/) <(ls .github/skills/)
Step 4: 品質チェック
各スキルについて、次の項目を確認します。
-
name:がディレクトリ名と完全に一致している -
description:にトリガーキーワード(「Activate when: X, Y, Z」)が含まれている - 明確な「使用するタイミング」または「手順」セクションがある
- 「出力形式」または「関連項目」セクションがある
- 名前が変更されたスキルへの相互参照(
/autopilot→/omg-autopilot)が壊れていない - ファイルが空のひな形ではない(20 行未満の場合は不完全な可能性があります)
Step 5: 網羅性の分析
copilot-instructions.md のスキルカタログと照らし合わせて確認します。
# Extract skill names from instructions
grep -o '/[a-z-]*' .github/copilot-instructions.md | sort | uniq
# Compare to actual skill directories
ls -1d .github/skills/*/ | xargs -I{} basename {}
不足している項目を特定します。手順で言及されているもののディスク上に存在しないスキル、またはその逆を確認します。
出力形式
## Skill Stocktake Report
**Date:** [timestamp]
**Total Skills:** X
### Inventory
| Skill | Has SKILL.md | Lines | Frontmatter OK | In Instructions |
|-------|-------------|-------|----------------|-----------------|
| omg-autopilot | ✅ | 120 | ✅ | ✅ |
| [skill] | ❌ missing | — | — | ✅ |
### Issues Found
| Type | Skill | Issue | Severity |
|------|-------|-------|----------|
| Frontmatter | old-skill | Uses `hint:` not `argument-hint:` | MEDIUM |
| Sync | new-skill | In .github but missing from templates | LOW |
| Coverage | planning | Mentioned in instructions but no directory | HIGH |
| Stale | autopilot | Old name — should be omg-autopilot | HIGH |
### Summary
- Skills passing all checks: X/Y
- Issues requiring action: Z
- HIGH: A
- MEDIUM: B
- LOW: C
### Recommended Actions
1. [Action with file path]
2. [Action with file path]
関連項目
@omg-coordinator— 複数のスキルにまたがるワークフローを調整します/verify— 特定のタスクの完了を検証します/status— 現在アクティブなワークフローの状態を表示します/remember— 品質に関する知見をメモリに保存します
コメント
Markdown 対応