Setup Matt Pocock Skills
ywwynm/EverythingDone
Sets up an Agent skills block in AGENTS.md/CLAUDE.md and docs/agents/ so the engineering skills know this repo's issue tracker (GitHub or local markdown), triage label vocabulary, and domain doc…
把长期项目的文档当成一个小系统来维护,防止文档腐烂——四份各司其职的脊柱文件(CLAUDE.md 共享章程 / CLAUDEMAP.md 地图 / PROJECTSTATUS.md 健康仪表盘 / PROJECTLOG.md 流水账)+ Codex 的 AGENTS.md 入口桥接 + 固定读序,并按需连接 ARCHITECTURE、CONTEXT、ADR、契约、测试、回归和 Issue…
$ npx skills add qshanx/docs-governance --skill living-docs-governance -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install qshanx/docs-governance living-docs-governance --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/qshanx/docs-governance.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/documentation/living-docs-governance .claude/skills/living-docs-governance && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "living-docs-governance" agent skill from https://github.com/qshanx/docs-governance/tree/main/skills/documentation/living-docs-governance into .claude/skills/living-docs-governance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "living-docs-governance", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/qshanx/docs-governance/tree/main/skills/documentation/living-docs-governanceType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add qshanx/docs-governance --skill living-docs-governance -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install qshanx/docs-governance living-docs-governance --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qshanx/docs-governance.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/documentation/living-docs-governance .agents/skills/living-docs-governance && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "living-docs-governance" agent skill from https://github.com/qshanx/docs-governance/tree/main/skills/documentation/living-docs-governance into .agents/skills/living-docs-governance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "living-docs-governance", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add qshanx/docs-governance --skill living-docs-governance -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install qshanx/docs-governance living-docs-governance --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qshanx/docs-governance.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/documentation/living-docs-governance .cursor/skills/living-docs-governance && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "living-docs-governance" agent skill from https://github.com/qshanx/docs-governance/tree/main/skills/documentation/living-docs-governance into .cursor/skills/living-docs-governance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "living-docs-governance", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/qshanx/docs-governance.git --path skills/documentation/living-docs-governance--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add qshanx/docs-governance --skill living-docs-governance -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install qshanx/docs-governance living-docs-governance --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qshanx/docs-governance.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/documentation/living-docs-governance .gemini/skills/living-docs-governance && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "living-docs-governance" agent skill from https://github.com/qshanx/docs-governance/tree/main/skills/documentation/living-docs-governance into .gemini/skills/living-docs-governance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "living-docs-governance", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install qshanx/docs-governance living-docs-governanceInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add qshanx/docs-governance --skill living-docs-governance -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/qshanx/docs-governance.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/documentation/living-docs-governance .github/skills/living-docs-governance && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "living-docs-governance" agent skill from https://github.com/qshanx/docs-governance/tree/main/skills/documentation/living-docs-governance into .github/skills/living-docs-governance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "living-docs-governance", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add qshanx/docs-governance --skill living-docs-governance -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install qshanx/docs-governance living-docs-governance --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qshanx/docs-governance.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/documentation/living-docs-governance .opencode/skills/living-docs-governance && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "living-docs-governance" agent skill from https://github.com/qshanx/docs-governance/tree/main/skills/documentation/living-docs-governance into .opencode/skills/living-docs-governance/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "living-docs-governance", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
living-docs-governance把长期项目的文档当成一个小系统来维护,防止文档腐烂——四份各司其职的脊柱文件(CLAUDE.md 共享章程 / CLAUDEMAP.md 地图 / PROJECTSTATUS.md 健康仪表盘 / PROJECTLOG.md 流水账)+ Codex 的 AGENTS.md 入口桥接 + 固定读序,并按需连接 ARCHITECTURE、CONTEXT、ADR、契约、测试、回归和 Issue…
Living Docs Governance is an agent skill from qshanx/docs-governance. 把长期项目的文档当成一个小系统来维护,防止文档腐烂——四份各司其职的脊柱文件(CLAUDE.md 共享章程 / CLAUDEMAP.md 地图 / PROJECTSTATUS.md 健康仪表盘 / PROJECTLOG.md 流水账)+ Codex 的 AGENTS.md 入口桥接 + 固定读序,并按需连接 ARCHITECTURE、CONTEXT、ADR、契约、测试、回归和 Issue Tracker。用于治理初始化、只读审计、阶段同步、LOG 复盘与超过 200 条事件后的归档索引。中文触发:文档治理、活文档、防文档漂移、治理初始化、治理审计、治理同步、治理复盘、AGENTS.md、项目状态追踪、项目地图、架构图、模块流转图、健康仪表盘、流水账、日志归档、长期项目治理。English triggers: living documentation, docs governance, governance init, governance audit, governance sync, governance retrospective, AGENTS.md bridge, architecture document…
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Agent instruction files, Architecture decision records and Issue triage. The repository describes itself as: Claude Code、Codex 与 ChatGPT 的文档驱动开发治理插件:防文档腐烂、维护上下文与决策、契约协作、测试与回归证据。 The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 44eb491. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
python3gitbashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Living Docs Governance loads about 3.7k tokens when it runs. Until then it costs about 166 tokens; SKILL.md has 832 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from qshanx/docs-governance at commit 44eb491, republished under its MIT licence (© qshanx). 832 words, ~3,707 tokens.
.claude/skills/living-docs-governance/SKILL.md (or your agent's skills folder).长期项目最先腐烂的是文档层:README 在撒谎、架构笔记描述着一次从没上线的重构、每次进会话 agent 都在重新推导本该一读就懂的上下文。活文档治理把项目文档当成一个小的、各司其职的系统,而不是一堆散文件:四份互相链接的文档,每份只干一件事,外加一个 agent 进会话时读它们的固定顺序。
本技能覆盖首次 setup 与后续维护。setup 把真实项目资料接成可维护的文档入口;维护让它在几个月的改动后依然为真。只想了解陌生代码库、不准备配置文档时,用代码库 onboarding 类技能。
在 Claude Code 中,可由配套的
docs-governor/docs-auditoragent 执行;在 Codex 或没有这些自定义 agent 的宿主中,由当前 agent 直接按本 skill 执行,必要时再使用宿主提供的只读探索或执行型子 agent。本 skill 始终是方法论唯一来源。
满足任一条就启用:
不要在用完即弃的脚本、或活不过这周的仓库上用——那是过度治理。
别一上来铺满四件套——那本身就是过度治理。从最小起步,真正关键的不是"按需补",是提前认出"下一级快需要了"的预警信号,在它真痛之前就备好。等漂移出事(STATUS 撒谎、重建已删文件)才补,文档已经烂了一轮、返工已经发生——治理的价值在防患,不在救火。
| 当前规模 | 该有 | 下一级的预警信号(看到就准备上) |
|---|---|---|
| 单文件 / 用完即弃 | 什么都不用 | —— |
| 长过几个模块、要维护一阵 | CLAUDE.md(几条硬规则 + 路标) | 开始有人问"这项目现在健康吗" → 备 STATUS |
| 有健康 / 风险 / 待删要追 | + PROJECT_STATUS.md | AI/新人开始"找不到某功能""改错地方" → 备 MAP |
| 找东西 / 跨 Module 改开始费劲 | + CLAUDE_MAP.md | Module 权责、状态归属、依赖或主流程开始说不清 → 备 ARCHITECTURE |
| Module 架构需要共享 | + ARCHITECTURE.md(可选血肉) | 反复问“为什么这样设计” → 备 ADR;要追历史 → 备 LOG |
| 要追溯决策与历史 | + PROJECT_LOG.md(四件套齐) | 分出前后端、接口字段对不上 → 备 CONTRACT |
| 分前后端 / 多服务 | + CONTRACT.md(见 contract-first) | —— |
预警信号的意义:让你在痛之前上对应那一级,而不是等它腐烂出事再救火。
四件套是项目级、团队共享的——进 git,所有协作者 / agent 共用,写的是"团队共识的真相"。个人临时偏好别塞进去(会污染团队视图):那些放 CLAUDE.local.md(同目录、不提交)或 ~/.claude/(全局个人)。判据一句话:帮整个团队一致 → 进项目四件套;只是你一个人的习惯 → 进 .local / 全局。
这套系统 = 四份脊柱文档(角色严格分离)+ 分级读取协议 + 让它们保持最新的更新规则 + 阶段收尾时的查漏补缺矩阵。CONTEXT.md、docs/adr/、契约、测试和回归台账都是按真实需要长出的血肉,不是第五到第九份必建脊柱。
本文以插件现有的 CLAUDE 主源布局说明文档角色;项目若已有 AGENTS 主源,沿用其约定。入口具体写什么、依据什么事实生成、如何精简与检查,统一执行 skills/documentation/agent-entrypoints/SKILL.md;本文继续负责其他载体及读序。审计脚本和模板仍有 CLAUDE 默认布局,采用不同布局时按目标项目核对适配,不自动迁移规则主源。
两端共用本 skill,不复制方法论:
| 用户意图 | Claude Code 入口 | Codex / ChatGPT 入口 | 详细执行流程 |
|---|---|---|---|
| 新项目、讨论后项目或已有项目首次配置 | /governance-setup(/governance-init 为兼容别名) | $living-docs-governance + “setup 当前项目” | 本文“统一 setup”执行模式 |
| 已有项目治理 | /governance | $living-docs-governance + “治理当前项目” | 本文“已有项目治理”执行模式 |
| 只读审计 | /governance-audit | $living-docs-governance + “只读审计” | 本文“只读审计”执行模式 |
| 阶段同步 | /governance-sync | $living-docs-governance + “阶段收尾同步” | 本文“阶段同步”执行模式 |
| LOG 复盘 | /governance-retro | $living-docs-governance + “复盘 PROJECT_LOG” | 本文“日志复盘”执行模式 |
所有宿主直接执行本文对应模式。Claude commands/agents 只选择模式和执行角色;Codex / ChatGPT 由当前 agent 执行,不反向读取 commands/agents。只读审计、只读复盘保持只读。
审计支持 spine、context、adr、artifacts、full 五种范围。先运行 scripts/audit-cheap.sh <scope> 做确定性检查;断链失败就短路,只有通过后才进入语义判断。默认只读;只有用户明确要求保存时,才把报告写入 docs/audits/YYYY-MM-DD-*.md。
| 文档 | 唯一职责 | 该放什么 | 绝不能放什么 |
|---|---|---|---|
CLAUDE.md | 宪法:永远生效的硬规则和路标 | 不可妥协的约定、读序、指向其他文档的路标 | 长篇解释(链接出去)、实时状态、历史 |
CLAUDE_MAP.md | 地图:只记文件树看不出来的导航语义 | 非显然定位跳转表、架构/决策/契约等知识入口、"树真实但误导"清单(废弃/生成物/兼容目录)、别动区 | 目录树镜像(ls 就有)、Module 权责与流程图(属 ARCHITECTURE)、接口字段细节(属 CONTRACT/代码 Interface)、健康指标(属 STATUS)、历史(属 LOG) |
PROJECT_STATUS.md | 健康仪表盘:当前状态一眼看清 | 指标对阈值、删除区(故意删掉别重建的文件)、未决违规、P0 行动 | 项目是什么(属 MAP)、发生了什么的叙事(属 LOG) |
PROJECT_LOG.md | 流水账:只追加的历史 | 每件有意义的事一行(## [日期] 类型 | 摘要),新条目追加到底 | 当前状态(属 STATUS)、结构(属 MAP);永不改/删旧行 |
让它生效的纪律是非重叠:每个事实只有一个权威来源,其他载体只引用。"auth 模块在哪?"→ 地图。"覆盖率现在健康吗?"→ STATUS。"旧解析器啥时候删的、为啥?"→ LOG。每份只干一件事,就不会一起烂。
事实按类型认来源:规则、决策与历史由相应文档维护,接口字段由唯一机器契约定义;测试与审查结论引用实际运行的版本、范围、结果和证据位置。项目已有工程 Skill 继续负责代码审查,治理层只核对与引用其证据。STATUS 保存带来源的健康快照,相关实现或验收条件变化后标待复验,不把旧绿色结果延续为当前结论;无法确认版本或范围时明确写未验证。
skills/documentation/architecture-docs/SKILL.md;返回必要性、依据和主记录位置。CONTEXT.md;它不写实现、状态、任务、需求全文或决策。具体边界见 context-and-decisions。docs/adr/README.md 和一项决策一个 ADR 文件。MAP 只指向 ADR 索引,不枚举所有决策。.scratch/。PROJECT_STATUS.md 只保留当前健康快照,不承担排期。不要每次进会话把四份全量灌进上下文——那是把"文档存在"当成"此刻相关"。读取按分级,判别只有一句话:需求会不会自己报到?
按这个分,四份文档各自的读取策略:
| 文档 | 进会话默认读 | 何时读完整 |
|---|---|---|
CLAUDE.md | 全文必读(小、是规则,违章无信号) | —— |
PROJECT_STATUS.md | 只读顶部红线块:删除区 + 未决 P0/违规(几行;危险不报到) | 需要看健康度/指标时,读其余部分 |
CLAUDE_MAP.md | 默认不读(它只记树里看不出来的导航、误导清单和别动区;目录树本身按需 ls) | 找不到东西、要跨 Module 改、新建/删/重命名文件前,读它 |
ARCHITECTURE.md(若存在) | 默认不读 | 要理解整体结构、改变 Module 权责/状态/Interface/依赖/核心流转,或做跨 Module 设计时,读它 |
PROJECT_LOG.md | 不读(transcript) | 排查 bug、追溯"为什么删 / 为什么这么做"时,grep 或读尾部 |
使用 Codex 或多个宿主时,由 agent-entrypoints 确定实际入口与共享主源,并挂上本文的分级读取路标。项目以 CLAUDE 为主源时才使用 templates/AGENTS.example.md 薄桥接;已有完整 AGENTS 主源时保留正文,不套桥接模板覆盖。
常驻成本压到最小:CLAUDE 全文 + STATUS 红线几行。大头(完整 MAP、ARCHITECTURE、STATUS 指标、整本 LOG)全按需。LOG 之外的当前真相载体是 projection(决定此刻喂什么),LOG 是 transcript(记录发生了什么)。
两条护栏(防"该读没读"——这是按需读唯一的真风险):
CLAUDE_MAP.md 对应段 + PROJECT_STATUS.md 删除区,确认没踩禁区、没复活已删文件。LOG 防腐:按事件计数 + 复盘 + 可重建索引。
PROJECT_LOG.md的事件格式是## [日期] 类型 | 摘要;阈值按事件数计算,不按原始行数。活跃事件不超过 200 条时只用 Markdown;超过 200 条后:
- 先只读复盘:识别重复问题和应下沉的 lint / TEST-ID / 回归保护。
- 经用户确认再归档:运行
python3 <插件目录>/scripts/project-log-index.py archive --root <项目根> --yes。旧事件原样进入PROJECT_LOG.archive.md,活跃 LOG 默认保留最近 100 条;归档是受控压缩例外,不得手工删改历史。- 建立派生索引:脚本从活跃 LOG + archive 重建
.governance/project-log.sqlite。数据库默认进.gitignore,不是唯一事实源;损坏或删除后运行rebuild即可恢复。- 分类不猜:类型取事件头;模块只在明确写出或能从真实路径解析时登记,否则为
unclassified;引用只提取 commit、TEST-ID、ADR、CONTRACT 和明确路径。内容哈希保证幂等。- 失败不伤原文:解析、归档或建库失败时,不得留下被截断的
PROJECT_LOG.md。审计以活跃文件和 archive 的事件合集判断只追加完整性。- 目录 + 内容分层:主 LOG 只当目录——每条一行(
## [日期] 类型 | 一句话),需要长详情(完整审计报告、大段修复记录)时下沉到独立文件(如docs/log-details/2026-07-03-audit.md),目录行尾挂链接。主 LOG 永远短、可整读;详情按需点开。这就是「脊柱保持瘦、血肉下沉」用在 LOG 自己身上。- 复盘统计(LOG 不只是负担,是资产):归档前跑一次
/governance-retro,统计哪个模块出错最多、哪类错误重复出现、标准变更了几次——重复 TOP 的错误 = "该下沉成 lint / 回归测试"的候选清单(见module-regression铁律"坑必下沉")。同一个坑在 LOG 里出现第二次,说明它还没被机器接管。
CLAUDE_MAP.md。architecture-docs 核对受影响的架构记录。PROJECT_STATUS.md,并把路径加进删除区,免得被重建。PROJECT_LOG.md 追加一行,说明结果与必要理由;写入前按阶段归纳,不为重复读取、重试或相同结论另写流水账。已有提交护栏仍按项目约定执行。AGENTS.md / CLAUDE.md 的长度与精简按 agent-entrypoints 第 1 条执行,每份不超过 200 行;关键约束留在入口,细节下沉并保留路标。<0.01 放宽到 <0.1、REGRESSION 联动规则改松),必须在 PROJECT_LOG.md 追加一条「标准变更:旧值 → 新值 + 理由」。审计时对照 Git 历史检查标准变化和对应记录;缺失时报告具体变化、可能影响和待补依据,按下述规则分级,不直接认定为 P0。agent-entrypoints 的 200 行硬验收,不能降为建议。越线不凭单一数值自动定为 P0,严重级别仍看实际影响;普通验证缺口和维护建议放按需读取区,任务安排仍归 Issue Tracker。当用户说"同步一下"、"整理文档"、"收尾"、"这个阶段做完了"、"新人能接手",或运行 /governance-sync 时,不要只追加 PROJECT_LOG.md。先按 references/governance-sync-matrix.md 判断本次变化应该影响哪份治理文档:
CLAUDE_MAP.mdARCHITECTURE.md(若已启用或已达到启用条件)PROJECT_STATUS.mdCLAUDE.mdPROJECT_LOG.md(只追加)CONTRACT.md(若项目有契约治理)CONTEXT.md(若存在且证据已确认)docs/adr/(若触发 ADR)product-evolution;复用 docs 下产品入口,任务状态留在 Tracker关键区别:PROJECT_LOG.md 是记录员,只追加历史;CLAUDE_MAP.md / ARCHITECTURE.md / PROJECT_STATUS.md / CLAUDE.md 是编辑过的当前真相,发现旧事实过期要修正、合并或删除。
四件套是脊柱,但真实项目还有规范、设计记录、参考、审计产物等一大堆血肉文档。治理纪律(一文一职、非重叠、按需读、防漂移)对全体文档都适用,不止四份。给任意一份文档定位,用一条判据 + 三条纪律。
| 它回答 | 角色 | 谁来当 |
|---|---|---|
| 该遵守什么(永久铁律) | 宪法 | CLAUDE.md(脊柱) |
| 在哪找、树看不出的语义 | 地图 | CLAUDE_MAP.md(脊柱) |
| 当前 Module 怎么分工、怎样依赖和流转 | 架构 | ARCHITECTURE.md(按需血肉) |
| 现在健康吗、啥是禁区 | 仪表盘 | PROJECT_STATUS.md(脊柱) |
| 发生过什么 | 流水账 | PROJECT_LOG.md(脊柱) |
| 要做什么 / 怎么做 | 规范 | spec / plan / 模块规则 |
| 为什么这么做 | 决策 / 修复记录 | docs/adr/ / FIX- / CHECK- |
| 照着抄的真相 | 参考 / 契约 | 数据源图 / CONTRACT.md / references |
| 某次结果 | 产物 / 审计 | 带日期的审计或报告 |
| 过期但留着 | 归档 | */archive/ |
前 4 行是脊柱(固定 4 份,每次进会话相关),后面是血肉(按项目长,不限层数)。判据是"它回答哪个问题",不是"必须凑成 N 层"。
四份文档的可直接套用模板在 templates/ 下,按项目实情填括号/示例部分:
templates/CLAUDE.example.mdtemplates/CLAUDE_MAP.example.mdtemplates/ARCHITECTURE.example.md(多个长期 Module 且架构不再直观时才用)templates/PROJECT_STATUS.example.mdtemplates/PROJECT_LOG.example.mdtemplates/context.example.md(稳定领域语言出现时才用)templates/adr-index.example.md / templates/adr.example.md(难回退决策出现时才用)按 templates/PROJECT_STATUS.example.md 填写实际指标、风险影响和删除理由;模板示例不代表项目已发生对应问题或必须采用其数值。
legacy_parser.py 被删两次、重建两次。把它记进 STATUS 删除区(连同原因和替代物),循环就断了。docs-governor agent —— 照本方法论去扫项目、生成/更新四件套的执行者。docs-auditor agent —— 照本方法论只读审计四件套是否漂移、重复、虚构路径或指标未验证。references/governance-sync-matrix.md —— 阶段收尾时判断"本次变化应同步哪份治理文档"的影响矩阵。contract-first skill —— 当项目分前后端两层、需要防接口字段漂移时,那套契约方法论的姊妹篇。context-and-decisions skill —— 管稳定领域语言与架构/数据库等难回退决策。change-impact skill —— 修改前收集影响证据,实施后对照实际 diff、验证与文档同步。以下流程是两端共用的唯一执行规则;命令参数由宿主适配层转成模式、范围、日期或本阶段说明。
为新项目、已讨论项目和已有代码项目配置产品文档包与 Agent 入口,不实现业务功能。Claude Code 由 docs-governor 编排,Codex / ChatGPT 由当前 Agent 编排;按下面顺序读取并执行专项 Skill,不复制其方法论。旧“空项目初始化”“已有项目首次接入”都进入本模式;日常维护走下一节。
只读识别项目。 定位目标根与 Git 边界,读取现有规则主源、文档入口、已确认讨论及 PRD/Spec、代码与包配置、验证命令、Tracker、hooks/CI 和治理配置。先核对已有资料,再判断场景:
| 场景 | 配置依据与结果 |
|---|---|
| 从零开始,尚无已确认规格 | 用用户已给的目标、对象与约束建立产品草稿;缺失的目标或范围影响建档时才问,未知技术栈、方案和命令明确待定 |
| 已讨论或已有 PRD/Spec,尚未实现 | 复用已确认来源与验收条件,登记生效范围和未决项;不重新发明需求,不将计划标为已实现 |
| 已有代码/文档 | 将现有产品资料、实现与验证证据映射进文档包;保留原路径与主源,冲突标待核实,不用代码现状反向批准需求 |
确认文件范围。 给出“保留”“新增/更新”“不创建”清单,注明每项职责、依据和验证方式。复用用户对同一对象与范围的明确授权;尚未授权的文件先确认,部分批准就只做该部分。“看看怎么接入”保持只读。setup 本身不授权 Git 初始化、提交、推送、依赖安装或 hooks/位置护栏配置。
产品文档先行。 将目标根、来源、确认范围、现有主记录和获准文件清单交给 skills/documentation/product-evolution/SKILL.md。完整 setup 建立或补齐产品入口、十阶段导航、PRD/Spec 基线与来源关系;已有阶段材料只映射,不复制。新阶段写真实状态和待补问题,不输出空模板或虚构调研/验收。该步骤返回实际路径、修订、未决项;入口写入与最终审计交回编排者。只批准入口配置时跳过产品写入并说明边界。
按需补治理载体,再配置入口。 按本文渐进条件与授权补充 MAP、STATUS、LOG 等载体,不预建空目录或整套四件套。将真实项目事实、验证入口、保留的规则和已存在的产品/治理路径交给 skills/documentation/agent-entrypoints/SKILL.md,维护共享主文件及所需宿主桥接;采用本插件开发流程时,由该 Skill 接入总路由的“模块变更流程”指针。已有主源不能改成空桥接。专项 Skill 不可用时报告该步未完成,不用临时复制的方法论冒充调用成功。
验证并交接。 对实际写入的每份入口执行 agent-entrypoints 的检查;运行 python3 <插件目录>/scripts/audit-docs.py --root <目标根> --scope full。非零先处理,布局不受检查器支持时报告限制,不为消警报造空文件。安全且在授权内的项目验证按真实命令运行,未运行就标未验证。交付项目场景、复用/增改文件、PRD/Spec 与十阶段入口、实际验证结果和待决项;仅部分配置不能称完整 setup。重复运行应复用既有来源、编号和路径,不增建另一套文档。未实测宿主加载时不声称 slash command 或 hook 端到端通过。
专项调用只处理传入范围后返回,不递归启动 setup。可选 hooks 仅在明确授权后安装:检查 core.hooksPath,否则用 git rev-parse --git-path hooks/pre-commit 定位,尊重 worktree 和既有 hook;不得覆盖已有脚本。
尚未建立文档体系时执行“统一 setup”;已有体系的日常更新转交 skills/documentation/docs-maintenance/SKILL.md,传递项目根、任务范围、实际 base/head、读写权限与已有证据。只读请求转“只读审计”;日志归档仍按本文日志管理执行。
默认范围 full;支持 spine/context/adr/artifacts。先执行 bash <插件目录>/scripts/audit-cheap.sh <范围>,任何非零退出码都先报告并短路;只有通过后进入语义审计。指定对象时在选定范围内重点核对,仍保持只读。
日志默认比较工作区与 HEAD。审查已提交变更时必须指定原始基线:python3 <插件目录>/scripts/audit-docs.py --root <项目根> --scope full --base-ref <基线提交>;Shell 入口可用 DOCS_GOVERNANCE_BASE_REF。PR 使用目标分支基线,push 使用推送前提交。显式基准不可解析时失败;无 Git 历史时标未验证。
工具需要复用结果时加 --format json,读取 references/audit-result-format.md。同一检查结果可渲染为文字或 JSON;按 check、status、evidence 读取,不解析中文提示。退出码 1 表示已发现文档问题,2 表示检查未完成;0 仍可能包含警告或未验证项,继续按覆盖范围做语义核对。
可选的代码路径引用按行声明:<!-- governance: optional=CONTEXT.md,ARCHITECTURE.md -->。只豁免列出的路径尚不存在,不豁免文件已存在后的内容检查。活动文件和普通 Markdown 链接不得用可选标记隐藏断链。删除区使用标题以“删除区”开头的章节;表格第一列为已删路径,替代物放后续列;列表每行只列一个删除目标。
语义层按范围检查:
agent-entrypoints 只读检查。architecture-docs 只读审查;README、过期文档、误导目录与当前代码冲突时报告。context-and-decisions 检查 accepted ADR 冲突、替代关系、理由、后果和退出路径。contract-first:检查唯一机器来源、消费方与提供方证据、版本与真实序列化结果,不把手写字段表或内部类型检查当联调。.claude/ 时检查死配置、模糊命名、个人偏好混入团队、空目录及规则过载。针对具体变更时执行 skills/engineering/change-impact/SKILL.md 的“按事实核对文档”,并检查超范围改动、迁移尾项和遗留临时代码。输出总体可信度、P0/P1/P2 发现、具体证据、影响、建议、通过项及待人工确认项。未测量不背书,建议不写成已修复。默认在回复输出,用户要求保存时才写审计报告。
执行 skills/documentation/docs-maintenance/SKILL.md,传递项目根、阶段说明、实际 base/head、读写权限和已有证据;由它同步主记录、验证并说明剩余差异。只读请求不写文件。
采用 PR 护栏的项目仍须在创建或更新 PR 前运行 scripts/check-pr-docs.py --base <实际目标分支>;非零先修复。安装与参数见 references/document-policy.md。
默认只读全量;指定起始日期时仅统计该日期起的事件。先运行 project-log-index.py status --root <项目根>,再读活跃 LOG;全量模式存在 archive 时一并读。索引可辅助查询,证据必须能回到 Markdown;LOG 不存在时报告缺失。
按真实类型和明确路径统计模块 fix 热点前五、出现至少两次的错误类型、标准变更的旧值/新值/理由和审计间隔;对照期间 commit 数,不凭目录名猜模块。连续放宽标准要提示;重复错误提出回归测试/lint/schema 的下沉候选,并关联 test-collaboration。
输出分布、重复错误、标准审查和候选清单。修复、补测及经确认归档是后续写入动作,不混入只读复盘;不把任务排期写入 SQLite。
© qshanx, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/documentation/living-docs-governance of qshanx/docs-governance.
Open the folder on GitHubat commit 44eb491
Living Docs Governance next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Living Docs Governance this skillqshanx/docs-governance | 137 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Setup Matt Pocock Skillsywwynm/EverythingDone | 144 | 8 repos | ~1.7k | Automated safety check: Pass | GPL-3.0 | |
| Setup Matt Pocock Skillsyamcodes/arkenv | 147 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Tasksgenkovich/sdd | 171 | — | ~4.8k | Automated safety check: Pass | MIT | |
| Ad ReviewCorridorTech/PoseCap | 224 | — | ~2.4k | Automated safety check: Notes | Apache-2.0 | |
| Ad Driftalexandremendoncaalvaro/CorridorKey-Runtime | 756 | 1 repos | ~1.6k | Automated safety check: Pass | Custom licence |
ywwynm/EverythingDone
Sets up an Agent skills block in AGENTS.md/CLAUDE.md and docs/agents/ so the engineering skills know this repo's issue tracker (GitHub or local markdown), triage label vocabulary, and domain doc…
yamcodes/arkenv
Sets up an Agent skills block in AGENTS.md/CLAUDE.md and .agent/docs/ so the engineering skills know this repo's issue tracker (GitHub or local markdown), triage label vocabulary, and domain doc…
genkovich/sdd
A skill your agent uses to break a designed feature into atomic, ≤1-day tasks with a dependency graph, a per-task Definition of Done, and a machine-readable tasks.json that the implement engine…
CorridorTech/PoseCap
Two-axis fresh-context code review per WORKFLOW §10. An agent skill from CorridorTech/PoseCap.
alexandremendoncaalvaro/CorridorKey-Runtime
Read-only drift audit — compare AGENTS.md, ARCHITECTURE.md, and ADR statuses against what the code actually does.
Mathews-Tom/armory
Scaffolds per-repository agent context so coding agents share the same issue tracker rules, triage label vocabulary, domain glossary, ADR layout, and handoff conventions.
qshanx/docs-governance
根据项目事实与已确认讨论生成、精简或审查 AGENTS.md / CLAUDE.md,明确共享规则主文件、可执行约束、PRD / Spec 读取路标和验证入口。用于项目入口只有空模板、规范含糊、双入口冲突或需要设置 Agent 项目说明时。English triggers: AGENTS.md, CLAUDE.md, project instructions, agent entrypoint…
qshanx/docs-governance
在改代码、数据、接口或治理文档前做有证据的影响分析,并在实施后把计划影响与实际 diff 对照;覆盖代码调用、数据/Schema、API 契约、测试、文档、ADR、部署、迁移和回滚。用于跨模块修改、高风险变更、数据库迁移、认证、公共接口、用户问“会影响哪里”“改之前检查一下”或实施后需要反思偏差时。English triggers: change impact analysis, blast…
qshanx/docs-governance
大项目模块间联动回归——一份 REGRESSION.md 回归台账登记"每个模块的下游消费者 + 可执行的回归验收命令",每次改动后照台账跑回归审计,防"改一个模块悄悄弄坏其他模块"。判决靠退出码,不靠 AI 看着没问题。中文触发:模块回归、回归台账、回归审计、改A坏B、模块联动检查、影响面检查、模块牵连、下游验证、大项目改动检查。English triggers: module…
qshanx/docs-governance
分前端/后端(或多个服务)多端开发的项目,用 CONTRACT.md 指向的唯一机器契约,各端只照它各做各的,防止字段漂移导致集成时白屏。支持单会话多 agent 和多终端各自跑两种模式。只要项目有前后端/多服务、接口字段老对不上、各端联调卡住、某端改了字段忘了通知别人、或前端为渲染一个页面要调一堆接口拼数据,就用这个…
qshanx/docs-governance
作为面向长期 AI 协作项目的知识、决策与验证治理总入口,把优秀 Agent 的一次性工作沉淀为可继承、可验证、可持续演进的项目集体能力;根据用户意图把任务路由到活文档、领域上下文与 ADR、变更影响、接口契约、测试资产、模块回归或闭环设计能力,并在大型变更中组织正确顺序。用于用户只说“文档治理”“项目治理”“帮我整理项目知识”“改完怎么收尾”而未指定具体…
qshanx/docs-governance
把一个任务"写成"一个目标导向的 loop,并"检查"这个 loop 写得对不对、会不会跑飞——防止空转烧钱 / Goodhart 作弊 / 把错的干到底。两个动作:① 写 loop(先做减法判该不该建 → 定可判定目标 → 选回路类型 → 选骨架)② 体检 loop(过五个崩法 + 可判定性 + 边界 + 降级 + judge 独立 + 判断留人红线)。中文触发:写 loop、设计…
把长期项目的文档当成一个小系统来维护,防止文档腐烂——四份各司其职的脊柱文件(CLAUDE.md 共享章程 / CLAUDEMAP.md 地图 / PROJECTSTATUS.md 健康仪表盘 / PROJECTLOG.md 流水账)+ Codex 的 AGENTS.md 入口桥接 + 固定读序,并按需连接 ARCHITECTURE、CONTEXT、ADR、契约、测试、回归和 Issue…. Living Docs Governance is an agent skill from qshanx/docs-governance.
Living Docs Governance fits situations like: tasks that involve Agent instruction files; tasks that involve Architecture decision records; tasks that involve Issue triage.
Run `npx skills add qshanx/docs-governance --skill living-docs-governance -a claude-code`. Or copy the skill folder (skills/documentation/living-docs-governance in qshanx/docs-governance) into .claude/skills/living-docs-governance in your project. Claude Code loads it when a task matches its description.
Run `npx skills add qshanx/docs-governance --skill living-docs-governance -a codex`. Or copy the skill folder (skills/documentation/living-docs-governance in qshanx/docs-governance) into .agents/skills/living-docs-governance in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add qshanx/docs-governance --skill living-docs-governance -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/living-docs-governance, .gemini/skills/living-docs-governance, .github/skills/living-docs-governance and .opencode/skills/living-docs-governance in your project.
Going by SKILL.md and its folder, Living Docs Governance needs the command-line tools its instructions call (python3, git and bash).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Living Docs Governance is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Living Docs Governance: Setup Matt Pocock Skills (ywwynm/EverythingDone, 144 stars), Setup Matt Pocock Skills (yamcodes/arkenv, 147 stars), Tasks (genkovich/sdd, 171 stars) and Ad Review (CorridorTech/PoseCap, 224 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
qshanx (a GitHub user) maintains it in qshanx/docs-governance, which has 137 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 11, 2026.
Source: qshanx/docs-governance on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.