mcpField
F
fixing-broken-links

fixing-broken-links

github.com/spencerpaulyテスト・品質868399 回インストール13 週間前に更新
リポジトリ

fixing-broken-links について

ファイル内のリンクを見つけて修正するスキルです。複数形式のリンク抽出、外部 URL とローカルパスの確認、リンクの置換や削除を行い、結果を表にまとめます。

主な機能

  1. 01複数形式からリンクを抽出
  2. 02外部 URL のステータスコードを確認
  3. 03ローカル相対パスを検証
  4. 04リンクの置換・削除・アーカイブ
  5. 05確認結果と対応を集約

活用シーン

  1. 01Markdown や HTML ファイルのリンク監査
  2. 02存在しないローカルファイル参照の発見
  3. 03使えなくなった URL の更新または削除

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/spencerpauly/awesome-cursor-skills --skill fixing-broken-links

インストール後、Claude Code で/fixing-broken-linksを入力して読み込まれたか確認します。

詳細

壊れたリンクの修正

ファイル(または複数のファイル)をスキャンして URL を取得し、すべてのリンクをテストして、壊れているリンクを修正します。

ワークフロー

1. すべてのリンクを抽出する

対象ファイルを読み込み、すべての URL を収集します。

  • Markdown リンク:[text](url)
  • URL の直書き:https://...
  • HTML の href 属性と src 属性
  • 参照形式のリンク定義:[id]: url
  • ローカルの相対パス:./path/to/file、resources/foo/SKILL.md
2. 各リンクをテストする

外部 URL の場合:

  • curl -sL -o /dev/null -w "%{http_code}" --max-time 10 "<url>" を使用して HTTP ステータスコードを取得します。
  • 独立したチェックを並行して(複数の curl コマンドを並行実行するか、短い間隔で続けて実行して)まとめて行い、速度を上げます。
  • 結果を分類します。
    • 200~299 → OK
    • 301/302 → OK。ただし、リダイレクト先を記録します。
    • 403 → 有効な可能性があります(一部のサイトは curl をブロックします)。ブラウザーのユーザーエージェントヘッダーを指定して試してください。
    • 404 → 壊れています
    • 429 → レート制限です。少し待ってから一度だけ再試行します。
    • 000 またはタイムアウト → 一度再試行し、それでも失敗する場合は到達不能として記録します。

ローカルファイルパスの場合:

  • [ -f "path" ] を使用して、ファイルがディスク上に存在するか確認します。
  • 相対パスの場合は、ファイルのディレクトリを基準に解決します。
3. 壊れたリンクを修正する

壊れたリンクごとに、次の手順を行います。

  1. ウェブで正しい URL/現在の URL を検索します(リソースの移動先が変わっている可能性があります)。
  2. 見つかった場合は、古い URL を新しい URL に置き換えます。
  3. リソースが存在しなくなっている場合は、その旨を記録し、次のいずれかを行います。
    • リンクを削除し、テキストは残す
    • メモを付けてコメントアウトする
    • アーカイブ版(web.archive.org)に置き換える
4. 報告

概要表を作成します。

| URL | Status | Action |
|-----|--------|--------|
| https://example.com/page | 200 | OK |
| https://old.example.com/moved | 404 → 301 | Updated to https://new.example.com/page |
| ./docs/missing.md | MISSING | Removed link |

ヒント

  • リンクが多い大きなファイルでは、処理が遅くならないよう curl の呼び出しをまとめて実行します。
  • 一部のサイト(GitHub、npm)は頻繁にレート制限を行うため、リクエストの間隔を空けます。
  • 変更後は必ずファイルを再度読み込み、置換によって書式が崩れていないことを確認します。
  • Markdown ファイルではリンクの構文が維持されていることを確認します。[text](url) の形式にし、[text]( url ) のように余分なスペースを入れないでください。

コメント