fixing-broken-links について
ファイル内のリンクを見つけて修正するスキルです。複数形式のリンク抽出、外部 URL とローカルパスの確認、リンクの置換や削除を行い、結果を表にまとめます。
主な機能
- 01複数形式からリンクを抽出
- 02外部 URL のステータスコードを確認
- 03ローカル相対パスを検証
- 04リンクの置換・削除・アーカイブ
- 05確認結果と対応を集約
活用シーン
- 01Markdown や HTML ファイルのリンク監査
- 02存在しないローカルファイル参照の発見
- 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→ OK301/302→ OK。ただし、リダイレクト先を記録します。403→ 有効な可能性があります(一部のサイトは curl をブロックします)。ブラウザーのユーザーエージェントヘッダーを指定して試してください。404→ 壊れています429→ レート制限です。少し待ってから一度だけ再試行します。000またはタイムアウト → 一度再試行し、それでも失敗する場合は到達不能として記録します。
ローカルファイルパスの場合:
[ -f "path" ]を使用して、ファイルがディスク上に存在するか確認します。- 相対パスの場合は、ファイルのディレクトリを基準に解決します。
3. 壊れたリンクを修正する
壊れたリンクごとに、次の手順を行います。
- ウェブで正しい URL/現在の URL を検索します(リソースの移動先が変わっている可能性があります)。
- 見つかった場合は、古い URL を新しい URL に置き換えます。
- リソースが存在しなくなっている場合は、その旨を記録し、次のいずれかを行います。
- リンクを削除し、テキストは残す
- メモを付けてコメントアウトする
- アーカイブ版(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 )のように余分なスペースを入れないでください。
コメント
Markdown 対応