Community寫作與編輯github.com

E0min/docanchor

將文檔錨定到其所描述的程式碼。提供十三項提交時檢查、連結圖譜,以及為您重寫連結的移動/分割工具——適用於以AI代理為主要讀者的儲存庫。

docanchor 是什麼?

E0min/docanchor 是一個專為 AI 代理(如 Claude Code, Cursor, Codex)設計的開發技能,旨在確保文檔與程式碼之間的緊密對齊。它在部署前執行一系列共十三項的提交時檢查,涵蓋雙向不一致檢測(發現程式碼中的遺漏與文檔中的幻覺)、ADR 矛盾候選、程式碼與文檔重複的值表、過期的計劃書與提案等。此外,該技能提供了連結圖譜(link graph)以及移動/分割工具,能自動重寫文件間的連結,簡化重構時的文件維護。它只讀取與本次部署相關的路由文件及關鍵參考文件(如 ADR、活動計劃),避免因廣泛閱讀而引入噪聲。最後,檢查結果會以標準格式寫入 `docs/findings.md`,並且僅更新實際與程式碼比對過的文件驗證日期,防止虛假的最新標記。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add E0min/docanchor

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

文檔 lint

在部署批次前夕執行一次。只檢查結構驗證(pnpm docs:validate)無法捕捉的問題。

請使用最強的模型執行。 找出規則的能力和遵循規則的能力是兩回事。

閱讀範圍

不讀取全部內容。廣泛閱讀會增加干擾文件,降低準確度。

  1. 將本次部署涉及的程式碼路徑透過 pnpm docs:related <路徑…> 輸入,取得路由到的文檔。
  2. 該文檔所連結的 ADR 以及該領域的有效計劃書。
  3. pnpm docs:validate 因驗證日期超過 90 天而發出警告的永久文檔。
  4. docs/findings.md 中的開放項目。

檢查項目

  • 文檔與程式碼的雙向不一致。 分別檢視程式碼中存在但文檔中缺少的部分(遺漏),以及文檔中存在但程式碼中沒有的部分(幻覺)。只檢查單一方會遺漏一半。
  • ADR 矛盾候選。 同領域的兩個 Accepted ADR 得出相反結論,且彼此沒有替代關係的情況。 使用 pnpm docs:links <ADR> 確認替代鏈。
  • 與程式碼重複的值表。 檢查文檔是否複製了可從程式碼中讀取的值或列表。
  • 超過 90 天的待辦計劃書。 提出應關閉或恢復的項目。
  • 超過 14 天的 Proposed ADR。 裁決已被延遲。
  • 混入手冊的經驗記錄。 「嘗試過但失敗了」之類的內容應移至 docs/flows/。
  • docs/operations/current-state.md 中過期的行。 確認日期久遠的行不代表成功,而是未確認。

輸出

在 docs/findings.md 中新增項目。每個項目為五行。

- 發現 2026-09-04 · docs/policies/xxx.md
  主張:(文檔的聲明為何)
  依據:(程式碼路徑或 ADR 編號)
  建議:(應採取的行動)
  範圍:(此次部署修復,或延後)

不做修正。解決由負責該工作的 PR 進行,該 PR 會刪除該項目。

將已讀取的永久文檔的 驗證日期 更新為今天。僅更新實際與程式碼對照過的文檔。 未對照的文檔若標上今天日期,會產生已是最新的錯誤信號。

預算

預設認為每三個發現中有一個是誤報。LLM 單獨進行不一致檢測的精確度約為 0.6。 如果不確定,請在項目中註明。

報告第一行應寫明「開放 findings 數量以及最舊項目的年齡」。

增刪規則

若要在本列表新增項目,必須提供該項目所捕捉到的實際案例。不接受無根據的項目。 若同一類失敗在 12 個月內未發生,且 pnpm docs:harness-eval 中無幫助,則予以刪除。

相關技能