ドキュメント&知識ベース · daymade/claude-code-skills

docs-cleaner

すべての価値あるコンテンツを保持しながら冗長なドキュメントを統合し、変更後もドキュメントセットの正確性を維持します。モード: (1) POST-CHANGE GOVERNANCE — コード、スクリプト、設定、環境変数、ポート、パス、デプロイ、認証、テスト、または文書化された手順が変更された場合。「どのドキュメントが間違っているか」、「不整合のチェック」、「過時の命令/パス」、「ドキュメント同期」などの指示にも対応。ユーザーが変更点のみに言及しドキュメントに触れていない場合でも使用します(更新は変更作業の一部であり、任意のクリーンアップではありません)。(2) CONSOLIDATION — 「ドキュメントの整理」、「ドキュメントの肥大化」、「無秩序な拡大の抑制」、「ドキュメント統合」、「ファイルが多すぎる」、「冗長なドキュメントのマージ」、「ドキュメントが多すぎる/乱雑」、同一トピックを扱う複数ファイル、類似トピックで合計500行を超える複数ファイルに適用。一箇所のみ変更された古い事実のコピー、永続化すべきでなかった値(カウント、合計値、「N件」、重複要約)、乖離した競合定義、孤立した相互参照を検出します。

L4 高権限 · 段階的認可と監査V1 コミット固定コマンド実行ネットワーク通信ファイル書き込みDual-pass Audit
Author daymadeGitHub daymade/claude-code-skills ↗Stars 1385License MIT(仓库根 LICENSE;Copyright (c) 2025 daymade;GitHub API spdx MIT)Commit d5c4678cb5
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

完全な指示ベースのスキル(スクリプトゼロ):すべてのメカニズムは SKILL.md 本文に記述されており、その価値は「ドキュメントが劣化する理由」の分類体系とそれに対応する対処ワークフローにあります。実行者はエージェント自身です。

daymade-docs/docs-cleaner/SKILL.md
They trace to one root cause: **a fact was written down in more places than it was defined.** Everything below follows from fixing that.
ディレクトリには SKILL.md + references/value_analysis_template.md のみが含まれ、scripts/ は存在しません。ドキュメント操作(rg/git/lychee/ファイル書き換え)はすべて本文のコマンドに従ってエージェントがホスト上で直接実行します。

コア判定器は Drift Test の3つの問い(順次評価し最初に該当した時点で停止):既存の詳細から計算可能か→derived(記述しない);計算不可だが他に権威ある定義があるか→copy(リンクに置換);それ以外で「特定時点の事実の記録」か→記述可(ドリフトとして削除してはならない)。

daymade-docs/docs-cleaner/SKILL.md
ask these three questions **in order, and stop at the first hit**: **1. Can this be computed from details already recorded here or in the authoritative source?**
問い3(履歴/監査記録の優先)は本文で繰り返し強調され、直感に反する優先順位が付与されています。changelog や決定ログは、問い1や2に該当する場合でも再計算やリンク化を行ってはなりません。

Mode 1(変更後ガバナンス)は7段階の手順で実行され、その順序自体が論理的根拠を構成:変更から影響を受ける事実を列挙→SSOTの確定→実装とドキュメントの乖離を解決→各ドキュメントの処分(更新またはアーカイブ)を決定→変更前にリポジトリ全体で各事実のコピーを検索→ついでに derived 値を整理→固定構造で報告。

daymade-docs/docs-cleaner/SKILL.md
**2. Identify the authoritative source (SSOT) for each affected fact.** Which file *defines* this port / path / procedure — as opposed to mentioning it?
「変更前のコピー検索」(ステップ5)と「リナンバリングされた事実ファミリ」の検索漏れ防止戦略(本文の計数単語 rg パターン、エイリアス一覧、未カバー範囲の明示)は、全文の中で最もエンジニアリングされた部分です。

削除は規律ある儀式として構成:アーカイブ=履歴を保持したまま読者の導線から外す(git mv で _archive/ へ移動し、すべての被リンクを張り替え)。status: deprecated のまま配置放置することは禁止され、未確認のまま他者管理のドキュメントをアーカイブすることも禁じられています。

daymade-docs/docs-cleaner/SKILL.md
"Archive" means: out of the reader's path, still in history. Concretely: look for a convention the project already has (`_archive/`, `archive/`, `deprecated/`, or whatever it uses) and follow it; if there is none, create `_archive/` at the same level as the file. Either way move it with `git mv` so history follows
無人実行時の勝手な削除/アーカイブは禁止されています('leave the document untouched and report it as needing retirement')——「許可なき削除の禁止」をハードルールとして明記。

Mode 2(統合・収縮)のコンテンツ欠落防止ゲート:書き換え前に「耐力項目リスト」(結果節、症状→原因のマッピング、順序制約、スコープ修飾子、閾値の個別抽出)を逐条作成し、削除前のこのリストが書き換え後の検証仕様となります。

daymade-docs/docs-cleaner/SKILL.md
**The consequence clause.** "Roll back before retrying" is an instruction; "retrying on a half-applied migration corrupts the `events` table and there is nothing that repairs it automatically" is the reason anyone obeys it.
同節では、このリストが recall(想起)の失敗は防げるものの judgment(判断)の失敗は防げない(自己評価の限界を明示)と言及されています。検証には rg -U -F を用いて元の文章を1行ずつ完全一致で照合します。

検証コマンドには実測に基づく落とし穴の記録が多数記載:rg はパス未指定時に stdin を検索する、リテラル・複数行マッチには -F/-U が必須、--no-ignore --hidden と -g '!.git' のトレードオフ、git grep は追跡中ファイルのみ対象、lychee の '0 Total' は成功とみなさないなど。

daymade-docs/docs-cleaner/SKILL.md
`rg` skips VCS-ignored files *and* hidden ones by default, and `.github/` — full of documented commands — is hidden. A search without them is looking at a strict subset of the docs (measured: 4 files instead of 6).
すべての主張に 'measured:' による実測値が記載されており、本文書は「検索ツールの失敗モード」を一級の知識資産として管理しています。

機能境界の内蔵:単一ファイルの過大化に対する「階層的圧縮」は claude-md-progressive-disclosurer(daymade-claude-code スイート)に委ね、本スキルは正確性の維持と重複排除のみを担当します。

daymade-docs/docs-cleaner/SKILL.md
That is what daymade-claude-code's `claude-md-progressive-disclosurer` skill is built for; prefer it when the problem is size and layering rather than truth or duplication.
これはスイートエコシステム内における責務分離の明示的な記録であり、同様の思想は docx-creator/pdf-creator のルーティングテーブルにも見られます。

2コア機能

01ドキュメントドリフトの3分類(derived value / copy / 履歴記録)による判定、分類後の対処決定
02変更後ガバナンス Mode 1: SSOTの特定、ドキュメント処分(更新/アーカイブ)、変更前のリポジトリ全域コピー検索、リナンバリング事実ファミリの漏れ防止
03統合・収縮 Mode 2: セクションごとの価値分析(Keep/Condense/Delete/Archive)、Phase 3 計画の事前人間承認
04削除前の耐力項目リスト作成 + 書き換え後の逐条保真検証(Preservation check)
05被リンク/発リンクの双方向検証: rg による多形態被リンク検索(.md/[[/ (/ プレフィックス)、発リンクは lychee に委託
067項目による構造化レポート(不整合、SSOTの根拠、変更内容、削除内容、検索証拠、修正後フロー、未解決事項)
07参照/テンプレート資産: references/value_analysis_template.md によるセクション別分析テーブル形式の提供

3外部依存関係

KindDependency / Endpoint
cliripgrep (rg)
clilychee(可选外链检查器,brew/cargo install)
cligit(git grep / git mv / git show 归档与恢复)

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
段階的・都度認可、サンドボックス推奨
管理者向け
承認フロー、ロールバック可能、全履歴監査
判定根拠(ファイルパスと抜粋)
  • scripts/: ローカルスクリプトまたはコマンドの実行: スキル自体にスクリプトはなし。SKILL.md はエージェントに対し、ホスト環境で rg/git grep/lychee などの読み取り専用検索と git mv/ファイル書き換えを実行するよう指示。
  • 网络端点: 外部ネットワークアクセスの宣言: デフォルトではなし。lychee を --offline なしで実行した場合、ドキュメント内の外部URLへリクエストを送信(ドキュメントに 'also checks external URLs' と明記)。
  • 本地工作目录: ファイルの読み書きと成果物出力: Phase 3 計画に従ってドキュメントファイルを修正/統合/削除;git mv による _archive/ へのアーカイブ移動;CLAUDE.md/AGENTS.md などのガバナンスファイルも同様の管理対象として書き換え。
監査ノート: 外部へのネットワーク送信、認証情報の読み取り、独自スクリプトの実行はありません。ただし、実行時にユーザーのドキュメントに対する削除/アーカイブ/書き換えといった破壊的な書き込み(Mode 1 のアーカイブ、Mode 2 の元ファイル削除)が発生します。スキル自体が Phase 3 計画に対するユーザーの事前同意を要求し、無人実行時には停止する設計となっています。注意(黄色)の主因は、コードレベルの危険性ではなく、この書き込み操作に人手による確認と Git の保護が不可欠であるためです。lychee の完全モードは外部URLを検証するため、デフォルトでは --offline が推奨されます。

5二重目の独立検証

  • [ok] 纯指令无脚本(资产面) — glob 全量文件:SKILL.md + references/value_analysis_template.md,无 scripts/ 目录。
  • [ok] Drift Test 三问与顺序规则 — 原文 'in order, and stop at the first hit' 与 Q1/Q2/Q3 全在;第 3 问优先级说明亦逐字存在。
  • [ok] Mode 1 七步与 SSOT 判定 — 步骤编号 1-7 与 SSOT 'defines vs mentioning' 判据原文在。
  • [ok] 归档纪律(git mv + 不就地 deprecated) — 'out of the reader's path, still in history'、'git mv'、'do **not** settle for adding status: deprecated frontmatter' 均命中。
  • [ok] 删除需人门 / 无人值守停手 — 'Present the Phase 3 plan and get agreement before step 3' 与 'Running unattended and cannot ask: leave the document untouched and report it' 存在。
  • [ok] preservation check 防 recall 不防 judgment 的自评缺口 — 'It catches *recall* failures ... It cannot catch *judgment* failures' 原文在,未见自我拔高。
  • [ok] 搜索命令面防坑(rg/lychee) — pathless-rg/stdin 陷阱、-F -U、--no-ignore --hidden、lychee '0 Total' 各段均在,附 measured 数字。
  • [ok] 网络面仅 lychee 外链可选检查 — 代码零命中;唯一网络点是 SKILL 对 lychee 非 --offline 模式的说明,且推荐先 --offline。

6結論

  • 「ドキュメントが劣化する理由」を判定可能な3分類(derived/copy/history)に整理し、対処ルールをほぼ機械的に実行可能。
  • 極めて慎重な削除文化: Phase 3 計画の人手承認、無人実行時の中断、履歴を保持するアーカイブなど、誤削除を最も恐れるツールにふさわしい設計。
  • 書き換え前の耐力項目リストと書き換え後の逐条 rg 検証により、「保真性」を単なるスローガンから検証可能なプロセスへと昇華。
  • 検索ツールの失敗モードを実測・文書化(stdinの罠、偽の成功、隠しファイルなど)し、ツールの誤用による偽陰性を抑制。
  • 最適な用途: コード/設定/手順の変更後にドキュメントを同期させたい、あるいはドキュメントの肥大化を収縮・統合したい中〜大規模リポジトリのメンテナーに最適。「ドキュメントの一貫性」をCIや変更プロセスに組み込みたいチームにも適しています。強力なホストモデル、Git管理下のリポジトリ、Phase 3 の手動確認を行う意思のあるユーザーが必要です。
    不向きな用途: 無人自動実行には不適(スキル自体が削除前の人手確認を要求);Git履歴の保護がないディレクトリには不適;単一ファイルの過大化による階層的圧縮が必要な場合は claude-md-progressive-disclosurer に委ねるべき;ドキュメントではなくコード修正が必要なタスクには不適(Mode 1 はドキュメントタスクを実装プロジェクト化することを明確に禁止)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-09
    Option A · Direct DownloadDownload docs-cleaner.tar.gz
    sha256: 91fa2a6f6082c893…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit d5c4678cb5.