AgentSkillsCN

doc-check

检测受代码变更影响的 Markdown 文档,并在用户确认后进行更新。根据 md 文件 YAML frontmatter 中声明的 depends-on(文件路径或 glob 表达式)以及正文中的 Markdown 链接构建依赖关系图,再结合 git diff 进行比对,精准定位受影响范围。可选择在 /doc-check 中手动启动,或在包含代码变更的任务完成后自动执行。

SKILL.md
--- frontmatter
name: doc-check
description: >-
  コード変更に影響を受ける md ドキュメントを検出し、ユーザー承認後に更新する。
  md ファイルの YAML frontmatter に宣言された depends-on(ファイルパス・glob)と
  本文中の Markdown リンクから依存グラフを構築し、git diff との突合で影響範囲を特定する。
  /doc-check で起動、またはコード変更を含むタスク完了時に実行を検討する。

コード変更に影響を受ける md ドキュメントを検出し、ユーザー承認後に更新する。

フロー

  1. scripts/doc-check.sh を実行する
  2. 出力を解釈し、影響ドキュメント一覧をユーザーに提示する
  3. ドキュメントごとにユーザーの判断を確認する
  4. 承認されたドキュメントを更新し、差分を提示する

スクリプト実行

スキルディレクトリからの相対パスで実行する:

bash
# デフォルト: staged + unstaged の変更に対してチェック
bash "$(dirname "$SKILL_PATH")/scripts/doc-check.sh"

# コミット範囲を指定
bash "$(dirname "$SKILL_PATH")/scripts/doc-check.sh" --range HEAD~3..HEAD

# ファイルを直接指定
bash "$(dirname "$SKILL_PATH")/scripts/doc-check.sh" --files src/api.ts src/handler.ts

終了コード

  • 0: 影響なし → 「影響を受けるドキュメントはありません」と報告して終了
  • 1: 影響あり → 次のステップへ
  • 2: エラー → エラー内容を報告して終了

ユーザー確認

影響を受ける各ドキュメントについて、AskUserQuestion で以下を確認する:

  • 更新する — ドキュメントと変更コードを読み込み、更新差分を提示する
  • スキップ — このドキュメントは更新不要と判断
  • 後で対応 — 今回は更新せず、次回のチェックで再検出される

更新処理

「更新する」が選ばれた場合:

  1. 対象ドキュメントを Read で読み込む
  2. 変更されたコードファイルを Read で読み込む
  3. コード変更の内容に基づきドキュメントを更新する
  4. Edit で更新差分を適用する前に、変更内容をユーザーに提示する
  5. ユーザー承認後に書き込む

連鎖影響(参照リンク経由)のドキュメントも同じ手順で処理する。

制約

  • doc-check.sh スクリプトの出力をそのまま解釈する。独自にファイル走査しない
  • ドキュメント更新前に必ずユーザー承認を得る。自動更新は禁止
  • 設定されている言語で出力する