core-fix-skill-docs について
Fix Skill Documentationは、動的スキルに不足している参照ファイルを検出し、ドキュメントの取得による補完や無効な参照の削除を行います。Claudeスキルの文書管理向けで、確認のみや全件・crate指定の実行に対応します。
主な機能
- 01単一または全スキルのスキャン
- 02不足した参照ファイルの検出
- 03エージェントまたはインラインで文書取得
- 04無効な参照の削除
- 05変更せずに状態を報告
活用シーン
- 01スキルの参照先にある不足ファイルの特定
- 02docs.rsからcrate文書を復元
- 03ファイルを変更せずにスキルを点検
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ actionbook/ rust-skills --skill core-fix-skill-docsインストール後、Claude Code で/core-fix-skill-docsを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
Fix スキルのドキュメント
バージョン: 2.1.0 | 最終更新日: 2025-01-27
動的スキル内の参照ファイルの不足を確認し、修正します。
使用方法
/fix-skill-docs [crate_name] [--check-only] [--remove-invalid]
引数:
crate_name:確認する特定のクレート(省略可能。デフォルトではすべて)--check-only:問題を報告するだけで、修正しません--remove-invalid:ファイルを作成する代わりに、無効な参照を削除します
実行モードの検出
重要:エージェントのインフラストラクチャが利用可能か確認してください。
このスキルは、次の2つのモードで実行できます。
- エージェントモード:バックグラウンドエージェントを使用してドキュメントを取得します
- インラインモード:agent-browser CLI または WebFetch を使用して直接実行します
エージェントモード(プラグインインストール)
エージェントのインフラストラクチャが利用可能な場合は、バックグラウンドエージェントを使用して取得します。
手順
1. スキルディレクトリをスキャンする
# If crate_name provided
skill_dir=~/.claude/skills/{crate_name}
# Otherwise scan all
for dir in ~/.claude/skills/*/; do
# Process each skill
done
2. SKILL.md の参照を解析する
Documentation セクションから参照ファイルを抽出します。
## Documentation
- `./references/file1.md` - Description
3. ファイルの存在を確認する
if [ ! -f "{skill_dir}/references/{filename}" ]; then
echo "MISSING: {filename}"
fi
4. 状況を報告する
=== {crate_name} ===
SKILL.md: OK
references/:
- sync.md: OK
- runtime.md: MISSING
Action needed: 1 file missing
5. 不足ファイルを修正する(エージェントモード)
バックグラウンドエージェントを起動してドキュメントを取得します。
Task(
subagent_type: "general-purpose",
run_in_background: true,
prompt: "Fetch documentation for {crate_name}/{module} from docs.rs.
Use agent-browser CLI to navigate to https://docs.rs/{crate_name}/latest/{crate_name}/{module}/
Extract the main documentation and save to ~/.claude/skills/{crate_name}/references/{module}.md"
)
インラインモード(スキルのみのインストール)
エージェントのインフラストラクチャが利用できない場合は、直接実行します。
ステップ 1:スキルディレクトリをスキャンする
# List all skills
ls ~/.claude/skills/
# Or check specific skill
ls ~/.claude/skills/{crate_name}/
ステップ 2:SKILL.md の参照を解析する
SKILL.md を読み込み、すべての ./references/*.md パターンを抽出します。
# Using Read tool
Read("~/.claude/skills/{crate_name}/SKILL.md")
# Look for lines like:
# - `./references/sync.md` - Sync primitives
# - `./references/runtime.md` - Runtime configuration
ステップ 3:ファイルの存在を確認する
# Check each referenced file
for ref in references; do
if [ ! -f "~/.claude/skills/{crate_name}/references/${ref}.md" ]; then
echo "MISSING: ${ref}.md"
fi
done
ステップ 4:状況を報告する
出力形式:
=== {crate_name} ===
SKILL.md: OK
references/:
- sync.md: OK
- runtime.md: MISSING
Action needed: 1 file missing
ステップ 5:不足ファイルを修正する(インライン)
不足しているファイルごとに、次の操作を行います。
agent-browser CLI を使用する場合:
agent-browser open "https://docs.rs/{crate_name}/latest/{crate_name}/{module}/"
agent-browser get text ".docblock"
# Save output to ~/.claude/skills/{crate_name}/references/{module}.md
agent-browser close
WebFetch によるフォールバック:
WebFetch("https://docs.rs/{crate_name}/latest/{crate_name}/{module}/",
"Extract the main documentation content for this module")
次に、コンテンツを書き込みます。
Write("~/.claude/skills/{crate_name}/references/{module}.md", <fetched_content>)
ステップ 6:SKILL.md を更新する(--remove-invalid の場合)
--remove-invalid フラグが設定されていて、ファイルを取得できない場合:
# Read current SKILL.md
Read("~/.claude/skills/{crate_name}/SKILL.md")
# Remove the invalid reference line
Edit("~/.claude/skills/{crate_name}/SKILL.md",
old_string="- `./references/{invalid_file}.md` - Description",
new_string="")
ツールの優先順位
- agent-browser CLI - ドキュメント取得の主要ツール
- WebFetch - agent-browser が利用できない場合のフォールバック
- SKILL.md の編集 - 無効な参照を削除する場合のみ(
--remove-invalid)
例
すべてのスキルを確認する(--check-only)
/fix-skill-docs --check-only
# Output:
=== tokio ===
SKILL.md: OK
references/:
- sync.md: OK
- runtime.md: MISSING
- task.md: OK
=== serde ===
SKILL.md: OK
references/:
- derive.md: OK
Summary: 1 file missing in 1 skill
特定のクレートを修正する
/fix-skill-docs tokio
# Fetches missing runtime.md from docs.rs
# Reports success
無効な参照を削除する
/fix-skill-docs tokio --remove-invalid
# If runtime.md cannot be fetched:
# Removes reference from SKILL.md instead
エラー処理
| エラー | 原因 | 解決策 |
|---|---|---|
| エージェントを利用できない | スキルのみのインストール | インラインモードを使用する |
| スキルディレクトリが空 | スキルがインストールされていない | まず /sync-crate-skills を実行する |
| docs.rs を利用できない | ネットワークの問題 | 再試行するか、--remove-invalid を使用する |
| 権限が拒否された | ディレクトリの問題 | ~/.claude/skills/ の権限を確認する |
| SKILL.md の形式が無効 | スキルが破損している | スキルを再生成する |
コメント
Markdown 対応