update-project-docs
Skill0 starsChanged 4 months agoMITView on GitHub
Keep this repository's documentation in sync after any change to behavior, configuration, interfaces, events, schema, or features. Use when the user asks to "update the docs / README / wiki / architecture", AND proactively (without being asked) at the end of any change-set that adds or alters an env var, event type, hook behavior, session/agent state transition, API route or response shape, DB schema, WebSocket message, MCP tool, CLI command, or user-facing feature. Knows the full doc surface (README + VN/CN, ARCHITECTURE, root index.html, wiki + i18n, server/client READMEs, docs/*) and which docs each kind of change touches.
- Reads credentials
7 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- waynesutton/convexskillstheir own version, first seen Nov 15, 2026
- waynesutton/builder-skillstheir own version, first seen Nov 15, 2026
- dbosk/claude-skillstheir own version, first seen Nov 3, 2026
- waynesutton/markdown-sitetheir own version, first seen Oct 8, 2026
- hoangsonww/Claude-Code-Agent-Monitoredited, first seen Aug 5, 2026
- acutedev/approval-flowtheir own version, first seen Jul 7, 2026
Other versions7 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- hoangsonww/Claude-Code-Agent-Monitor★ 1.2k53% same
Wrote their own version · 6
- waynesutton/markdown-site★ 628same name
- waynesutton/builder-skills★ 404same name
- waynesutton/convexskills★ 404same name
- acutedev/approval-flow★ 1same name
- dbosk/claude-skills★ 1same name
- OpenGHz/AgentSkills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- defuddleSkill
- json-canvasSkill
- mcp-maintainerSkill
- obsidian-basesSkill
- obsidian-cliSkill
- obsidian-markdownSkill
- release-guardSkill
- repo-onboardingSkill
- debug-live-issueSkill
- mcp-operationsSkill
- repo-onboardingSkill
- ship-featureSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 1 is distinctive, and 5 are very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Update docs in the same change-set (PR/commit) as the code, before claiming done - do not wait for the user to ask - whenever the change is …
- Very specific: line 50
Area READMEs / docs/: update server/README.md, client/README.md, and the relevant docs/*.md per the mapping.
- Very specific: line 51
Diagrams: when a state transition changes, edit every mermaid stateDiagram-v2 block that models it (they are duplicated across …
- Very specific: line 55
Coverage: run scripts/doc-coverage.sh <new-term> [...] (e.g.
- Very specific: line 58
i18n: every new wiki English string resolves to both zh and vi.
- Very specific: line 59
Format/tests: run npm run format (or prettier --check on touched files).
“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Update Project Docs
This repository keeps an unusually large, multi-surface, multi-language doc set. Docs drift silently because a change often belongs in 6–10 files across 3 languages plus two HTML pages. This skill encodes which docs exist, which change-types touch which docs, and how to propagate consistently (including the wiki i18n + cache-bump dance).
Authoritative inventory with exact section anchors lives in references/doc-map.md - read it when deciding where a specific change lands. The repo rule .claude/rules/docs-markdown.md ("update all affected docs together") and .claude/rules/wiki-i18n.md are binding.
When to update (including without being asked)
Update docs in the same change-set (PR/commit) as the code, before claiming done - do not wait for the user to ask - whenever the change is observable from outside the module:
- New/changed env var → every env-var table +
.env.example. - New event type (e.g. an
events.event_typevalue) → every event-type list/table. - New/changed hook behavior or session/agent state transition → hook docs + every state-machine diagram.
- New/changed API route or response shape → API docs + route tables + OpenAPI.
- DB schema change (table/column/index) → database docs + ERD.
- New WebSocket message type → client/server WS docs.
- New MCP tool → MCP docs.
- New CLI command / script / renamed file referenced in docs → command lists + onboarding guides.
- New user-facing feature / page / background service → feature tables + landing + wiki + architecture.
Do NOT auto-update for: pure internal refactors with no observable/interface/config change, test-only changes, comment/typo fixes, or work the user explicitly scoped as "no docs". When unsure whether a change is observable, check the mapping below; if it touches any row, update.
Change → docs mapping
| Change type | Docs to update |
| Env var | README.md, README-VN.md, README-CN.md (env tables), ARCHITECTURE.md (inline), server/README.md, wiki/index.html (env table) + wiki i18n, .env.example |
| Event type | README.md+VN+CN (hook-event table), ARCHITECTURE.md (Event types line), docs/PLUGINS.md, wiki/index.html + i18n, docs/DATABASE.md (if it enumerates types) |
| Hook behavior / state transition | docs/HOOKS.md, state-machine mermaid diagrams in README.md+VN+CN + server/README.md + docs/DATABASE.md + wiki/index.html, ARCHITECTURE.md (hooks.js row) |
| API route / response | docs/API.md, server/README.md (routes), ARCHITECTURE.md (routes row), server/openapi*.js (code) |
| DB schema | docs/DATABASE.md, ARCHITECTURE.md (ERD/schema) |
| WebSocket message | client/README.md (Event Types), server/README.md, wiki/index.html |
| MCP tool | mcp/README.md, docs/MCP.md |
| Feature / page / background service | README.md+VN+CN (feature table + data-flow list), ARCHITECTURE.md (module table), index.html (landing blurb), wiki/index.html + i18n, server/README.md or client/README.md |
| CLI command / script | README.md commands, CLAUDE.md / AGENTS.md, INSTALL.md / SETUP.md |
| New language | docs/I18N.md, client/src/i18n/locales/<xx>/*, client/src/i18n/index.ts, README-<XX>.md, wiki i18n |
Procedure
- Classify the change against the table above. A change can hit multiple rows (a new feature with a new env var hits both).
- Write the canonical English version first - usually
README.mdand/orARCHITECTURE.md. Get the wording right there; it anchors everything else. - Propagate to translations
README-VN.mdandREADME-CN.md: mirror the SAME edits at the corresponding sections. Keep identifiers, env-var names, event names, and code in English; translate only prose. Render "Waiting" as Đang chờ (vi) / 等待中 (zh). Match each file's existing terminology - read the neighboring lines first. - Landing page
index.html: one concise marketing sentence in the most relevant existing feature card - light touch, no new sections. - Wiki
wiki/index.html: add the detailed prose/table/diagram, then follow.claude/rules/wiki-i18n.md- addzh+vientries for every new English string towiki/i18n-content.js, then bump the cache: incrementCACHE_NAMEinwiki/sw.jsand thei18n-content.js?v=query string inwiki/index.html. Skipping the cache bump means returning visitors never see the update. - Area READMEs / docs/: update
server/README.md,client/README.md, and the relevantdocs/*.mdper the mapping. - Diagrams: when a state transition changes, edit every mermaid
stateDiagram-v2block that models it (they are duplicated across README/VN/CN, server/README, docs/DATABASE, wiki). Keep transition labels consistent.
Verify (do not skip)
- Coverage: run
scripts/doc-coverage.sh <new-term> [...](e.g. the new env var / event type / identifier) and confirm every doc the mapping flags shows a HIT. The matrix is advisory - not every term belongs in every file - but a flagged doc reading0is a miss to fix. - Tables: markdown tables stay pipe-balanced (header column count == every row).
- Mermaid: each edited block still parses (valid
source --> target: label). - i18n: every new wiki English string resolves to both
zhandvi; cache versions bumped. - Format/tests: run
npm run format(orprettier --checkon touched files); for any code touched, run the verification fromCLAUDE.md(npm run test:server/test:client/mcp:typecheck). - State exactly which docs were updated and which were intentionally skipped (with reason), mirroring the repo's verification policy.
Tips
- The fastest way to find where something already lives:
grep -n "<existing-neighbor-term>" <doc>(e.g. grep an adjacent env var to find the env table).references/doc-map.mdlists the stable anchors per file. - Parallelize translations + HTML across subagents when the change is large, but write the canonical English edit yourself first so the translations have a faithful source.
- One language/area per subagent keeps edits reviewable and tables un-corrupted.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

