link-validator について
link-validatorは、Claude Codeスキル内のMarkdownリンクの移植性を検査するスキルです。別の場所へのインストールで使えなくなるリポジトリ絶対パスを検出し、スキルやプラグインの検証と修正手順を示します。
主な機能
- 01Markdownリンクパスの検査
- 02リポジトリ絶対パスの検出
- 03相対パス、URL、アンカーの許可
- 04スキルとプラグインのディレクトリ検証
- 05違反の修正と再検査手順
活用シーン
- 01スキルやプラグインの配布前チェック
- 02Markdownリンク追加後の検証
- 03CIのリンク検証失敗の調査
- 04既存スキルのパス移植性監査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill link-validatorインストール後、Claude Code で/link-validatorを入力して読み込まれたか確認します。
同梱ファイルreferences/evolution-log.mdreferences/link-patterns.md
詳細
リンクバリデーター
Claude Code スキル内の Markdown リンクを検証し、インストール先が変わっても正しく動作することを確認します。
自己進化するスキル:このスキルは使用を通じて改善されます。手順に誤りがある場合、パラメーターにずれが生じた場合、または回避策が必要になった場合は、先送りせず、すぐにこのファイルを修正してください。実際に再現可能な問題がある場合のみ更新してください。
問題点
リポジトリ内の絶対パスを使用したスキルは、別の場所にインストールすると動作しなくなります。
| パスの種類 | 例 | インストール後の動作 |
|---|---|---|
| 絶対パス | /skills/foo/SKILL.md | いいえ - パスが存在しません |
| 相対パス | ./references/guide.md | はい - 常に解決されます |
| 親ディレクトリへの相対パス | ../sibling/SKILL.md | はい - 常に解決されます |
このスキルを使うタイミング
- スキル/プラグインを配布する前
- スキルに新しい Markdown リンクを作成した後
- CI でリンク検証の失敗が報告されたとき
- 既存のスキルにポータビリティの問題がないか監査するとき
TodoWrite タスクテンプレート
テンプレート A:単一のスキルを検証
1. Identify skill path to validate
2. Run: uv run scripts/validate_links.py <skill-path>
3. Review violation report (if any)
4. For each violation, apply suggested fix
5. Re-run validator to confirm all fixed
テンプレート B:プラグインを検証(複数のスキル)
1. Identify plugin root directory
2. Run: uv run scripts/validate_links.py <plugin-path>
3. Review grouped violations by skill
4. Fix violations skill-by-skill
5. Re-validate entire plugin
テンプレート C:違反を修正
1. Read violation report output
2. Locate file and line number
3. Review suggested relative path
4. Apply fix using Edit tool
5. Re-run validator on file
変更後のチェックリスト
このスキルを変更した後:
- スクリプトが最新のパターンと同期している
- 新しいパターンを追加した場合、リファレンスを更新した
- 違反のある実際のスキルでテストした
クイックスタート
# Validate a single skill
uv run scripts/validate_links.py ~/.claude/skills/my-skill/
# Validate a plugin with multiple skills
uv run scripts/validate_links.py ~/.claude/plugins/my-plugin/
# Dry-run in current directory
uv run scripts/validate_links.py .
終了コード
| コード | 意味 |
|---|---|
| 0 | すべてのリンクが有効(相対パス) |
| 1 | 違反が見つかりました(リポジトリ内の絶対パス) |
| 2 | エラー(無効なパス、または Markdown ファイルがありません) |
チェック対象
違反として検出されるもの:
/skills/foo/SKILL.md- リポジトリ内の絶対パス/docs/guide.md- リポジトリ内の絶対パス
許可されるもの(合格):
./references/guide.md- 同じディレクトリへの相対パス../sibling/SKILL.md- 親ディレクトリへの相対パスhttps://example.com- 外部 URL#section- アンカーリンク
リファレンスドキュメント
- リンクパターンのリファレンス - パターンの詳しい説明と修正方法
トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
| スクリプトが見つからない | パスが正しくない、またはプラグインが未インストール | claude plugin list でプラグインがインストールされていることを確認してください |
| 終了コード 2 | パスが無効、または .md ファイルがありません | 対象パスが存在し、Markdown ファイルを含んでいることを確認してください |
| URL が誤検出される | 正規表現が外部リンクに一致した | http で始まる URL は無視されるはずです |
| アンカーリンクが検出される | スクリプトが # をパスとして扱っている | アンカーリンク(#section)は仕様上許可されています |
| 相対パスでも失敗する | 相対パスの向きが間違っている | 同じディレクトリには ./、親ディレクトリには ../ を使用してください |
| ローカルでは検証に合格する | CI で異なる作業ディレクトリが使われている | CI が正しいリポジトリのルートから実行されるようにしてください |
| 違反が多すぎる | レガシーなコードベース | 優先度の高いファイルから段階的に修正してください |
| 修正方法がわからない | パス構造が複雑 | 修正方法の詳細は link-patterns.md を参照してください |
実行後の振り返り
このスキルの実行後、完了する前に次の点を確認してください。
- コマンドは成功しましたか? — 失敗した場合は、原因となった手順またはエラー表を修正してください。
- パラメーターや出力に変更はありましたか? — 基盤となるツールのインターフェースにずれが生じた場合は、使用例とパラメーター表を実際の内容に合わせて更新してください。
- 回避策が必要でしたか? — 臨機応変な対応(異なるフラグ、追加手順など)が必要だった場合は、次回同じ回避策が不要になるよう、この SKILL.md を更新してください。
実際に再現可能な問題がある場合のみ更新してください。推測に基づいて更新しないでください。
コメント
Markdown 対応