mcpField
L
link-validator

link-validator

github.com/terrylicaテスト・品質2126 回インストール1 日前に更新
リポジトリ

link-validator について

link-validatorは、Claude Codeスキル内のMarkdownリンクの移植性を検査するスキルです。別の場所へのインストールで使えなくなるリポジトリ絶対パスを検出し、スキルやプラグインの検証と修正手順を示します。

主な機能

  1. 01Markdownリンクパスの検査
  2. 02リポジトリ絶対パスの検出
  3. 03相対パス、URL、アンカーの許可
  4. 04スキルとプラグインのディレクトリ検証
  5. 05違反の修正と再検査手順

活用シーン

  1. 01スキルやプラグインの配布前チェック
  2. 02Markdownリンク追加後の検証
  3. 03CIのリンク検証失敗の調査
  4. 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

変更後のチェックリスト

このスキルを変更した後:

  1. スクリプトが最新のパターンと同期している
  2. 新しいパターンを追加した場合、リファレンスを更新した
  3. 違反のある実際のスキルでテストした

クイックスタート

# 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 を参照してください

実行後の振り返り

このスキルの実行後、完了する前に次の点を確認してください。

  1. コマンドは成功しましたか? — 失敗した場合は、原因となった手順またはエラー表を修正してください。
  2. パラメーターや出力に変更はありましたか? — 基盤となるツールのインターフェースにずれが生じた場合は、使用例とパラメーター表を実際の内容に合わせて更新してください。
  3. 回避策が必要でしたか? — 臨機応変な対応(異なるフラグ、追加手順など)が必要だった場合は、次回同じ回避策が不要になるよう、この SKILL.md を更新してください。

実際に再現可能な問題がある場合のみ更新してください。推測に基づいて更新しないでください。

コメント