AgentSkillsCN

doc-quality-keeper

针对 main 分支中发生变动的 Markdown 文件,检查并修正 .dodo.yaml 中的遗漏注册、前端内容缺陷以及错别字等问题。最后,通过 dodo check 验证配置的一致性。

SKILL.md
--- frontmatter
name: doc-quality-keeper
description: "mainブランチから変更のあったMarkdownファイルを対象に、.dodo.yamlへの登録漏れ、フロントマターの不備、誤字脱字をチェック・修正します。最後に dodo check で設定の整合性を検証します。"
allowed-tools:
  - Bash(git diff:*)
  - Bash(dodo check)

変更のあったドキュメントの品質を体系的にチェック・修正する。

PHASE 1: .dodo.yaml カバレッジチェック

  1. 新規ファイルの特定:

    • git diff --name-status main で新規追加されたMarkdownファイル(ステータス "A")を抽出する
    • .md, .mdx 拡張子でフィルタする
  2. .dodo.yaml の読み取り:

    • .dodo.yaml を読み、pagesセクションの構成を把握する
    • 明示的に定義されたMarkdownファイル(例:markdown: "README.md")を抽出する
    • matchパターン(例:match: "/notes/*")を抽出する
  3. カバレッジの検証:

    • 新規Markdownファイルごとに:
      • pagesセクションに明示的に登録されているか確認
      • またはmatchパターンに一致するか確認
      • どちらにも該当しないファイルを報告する
    • 未登録ファイルがある場合:
      • 追加すべきエントリやパターンを提案する

PHASE 2: Markdownファイルの品質チェック

  1. 変更ファイルの特定:

    • mainブランチから変更されたMarkdownファイルを特定する
  2. 各ファイルに対して:

    a. フロントマターの検証:

    • フロントマター(---で囲まれたYAML)の有無を確認
    • フロントマターがない場合:
      • 必須フィールドを生成して追加する:
        • title: 最初の見出しまたはファイル名から抽出
        • path: ファイル名から生成(拡張子除去、小文字化、スペースをハイフンに)
        • description: 最初の段落から抽出
    • フロントマターがある場合:
      • 必須フィールド(title, path, description)の有無を確認
      • 不足しているフィールドを補完
      • タイトルがドキュメント内容と一致しているか確認

    b. 誤字脱字の検出:

    • ファイル全体を読み通す
    • チェック項目:
      • スペルミス(技術用語と区別する)
      • 文法の誤り
      • 句読点の誤り
      • Markdown構文のエラー
    • コードブロック、技術用語、固有名詞は保持する
    • 修正は即座に適用する

PHASE 3: dodo check による検証

  1. dodo check を実行する
  2. エラーがあれば原因を特定し修正する
  3. 修正後に再度 dodo check を実行し、エラーが解消されたことを確認する
  4. エラーがなくなるまで繰り返す

品質基準

  • 正確性最優先: 修正で新たなエラーを生まない
  • 文脈を理解: ドキュメントの目的を理解してからタイトルを変更する
  • フロントマターの完全性: すべてのMarkdownファイルに必須フィールドがあること
  • 徹底的に: 変更ファイルのすべての単語を読む
  • 非破壊的: フォーマット、コードブロック、意図的なスタイルを保持する

出力

以下を含むレポートを出力する:

  1. .dodo.yamlカバレッジ:
    • 新規Markdownファイルの一覧と登録状況
    • 未登録ファイルへの具体的な提案
  2. レビューしたファイルの一覧
  3. ファイルごとの修正内容:
    • フロントマターの状態と追加・更新したフィールド
    • 修正した誤字脱字の数と一覧
  4. dodo check の結果と適用した修正
  5. 全体の統計(チェックしたファイル数、検出した問題数、修正した問題数)