update-project-documentation
Skill47 starsChanged 6 months agoMITView on GitHub
Update existing project documentation to maintain parity with source code changes: the site pages (English and Spanish together) for users, docs/development for contributors. Analyzes code diffs, identifies documentation gaps, and surgically updates affected documents while preserving structure and style.
In this repository22 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- llms-full.txtllms.txt
- llms.txtllms.txt
- create-architectural-decision-recordSkill
- create-implementation-planSkill
- create-mcp-evaluationSkill
- create-mcp-toolSkill
- create-specificationSkill
- generate-project-documentationSkill
- generate-release-notesSkill
- git-commitSkill
- golang-patternsSkill
- golang-testingSkill
- go-safe-move-refactorSkill
- go-source-documentationSkill
- increase-test-coverageSkill
- modularize-go-packageSkill
- review-and-refactorSkill
- update-starlight-docsSkill
- upstream-contributionSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
31 rules. About 0 are common, 29 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈29
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Update existing documentation to reflect current source code changes.
- Distinctive: line 25
Check recent changes using git diff or by examining the files provided
- Distinctive: line 26
If no specific files are indicated, scan all Go source files for modifications
- Distinctive: line 54
Read the current documentation
- Distinctive: line 64
UPD-002: Use surgical edits — replace only the changed sections, not entire files
- Distinctive: line 66
UPD-004: Update Mermaid diagrams if component relationships changed
- Distinctive: line 67
UPD-005: Update tables (parameters, types, functions) to match source
- Distinctive: line 68
UPD-006: Add deprecation notices for removed APIs rather than deleting immediately
- Distinctive: line 69
UPD-007: Never introduce TBD/TODO placeholders in updates
- Very specific: line 71
UPD-009: When creating or editing Markdown pipe tables in README.md, docs/ or the site's pages, run go run ./cmd/format_md_tables/ and …
- Distinctive: line 77
Add new entries to the appropriate reference document tables
- Distinctive: line 78
Add new sections following the existing document pattern and style
- Distinctive: line 79
Update the package documentation if the API belongs to an existing package
- Distinctive: line 80
Add cross-references from related documents
- Distinctive: line 81
Update the documentation index if new documents are created
- Very specific: line 85
Update parameter tables with new/changed/removed parameters
- Distinctive: line 86
Update return type documentation if changed
- Distinctive: line 87
Update code examples to reflect the new signature
- Distinctive: line 88
Add migration notes if the change is breaking
- Distinctive: line 89
Update Mermaid diagrams if type relationships changed
- Distinctive: line 95
Update cross-references that pointed to the removed API
- Distinctive: line 96
After one release cycle, fully remove the deprecated section
- Distinctive: line 100
Update the environment variables table
- Distinctive: line 101
Update default values and descriptions
- Distinctive: line 102
Add migration instructions if existing users need to change their config
- Distinctive: line 103
Update deployment documentation if the change affects deployment
- Distinctive: line 107
After all updates are applied, perform a parity check:
- Distinctive: line 111
Read the updated documentation
- Distinctive: line 113
Verify all code examples are syntactically valid
- Distinctive: line 115
Check all cross-reference links resolve correctly
- Distinctive: line 134
After completing updates, provide a summary:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Update Project Documentation
Primary Directive
Update existing documentation to reflect current source code changes. Perform a delta analysis between the implementation and documentation, then surgically update only the affected sections while preserving the overall document structure, style, and formatting.
The documentation lives in two places, one per audience (ADR-0025):
- User documentation is the site only:
site/src/content/docs/in English and its Spanish twin undersite/src/content/docs/es/, published athttps://docs.jmrp.io/gitlab-mcp-server/. An English page and its twin change together. Follow theupdate-starlight-docsskill for the page map, the generated pages and the site's checks. - Contributor documentation is
docs/development/, plusCLAUDE.md,AGENTS.mdand.github/for the guidance AI assistants read. Besidedocs/development/,docs/holds only a README that points at the site.
Execution Context
This skill is triggered after code changes to ensure documentation stays in sync. It focuses on efficiency — only updating what has changed rather than regenerating entire documents.
Analysis Phase
Step 1: Identify Changed Code
- Check recent changes using git diff or by examining the files provided
- If no specific files are indicated, scan all Go source files for modifications
- Build a list of changed exported types, functions, constants, and configurations
- Identify new, modified, or removed public APIs
Step 2: Map Changes to Documentation
For each code change, identify which documentation files are affected:
Site pages are named by slug: operations/http-server is site/src/content/docs/operations/http-server.mdx and site/src/content/docs/es/operations/http-server.mdx.
| Change Type | Affected Documentation |
| New exported type/function | Its godoc comment (make check-godocs), possibly the tools or resources pages of the site |
| Modified function signature | Godoc comment, tools reference, examples |
| New MCP tool | The site's per-domain tool reference, which is generated: run make gen-tool-reference (a new catalog group first needs its entry in cmd/gen_tool_reference/domains.json), make gen-site-stats for the counts the site prints and make gen-action-grants for the fine-grained table, which holds one row per action |
| New MCP resource or prompt | Site page tools/resources-prompts; docs/development/architecture.md (Resources and prompts: where each lives) |
| Configuration change | Site pages configuration, reference/environment and reference/cli, the variable and flag lists in docs/development/configuration.md and the summary table in CLAUDE.md, and the environment variable and flag tables in .github/copilot-instructions.md |
| New package | The Project Structure of docs/development/development.md, the packages tables of docs/development/architecture.md and the project tree, one line per entry in CLAUDE.md and annotated in docs/development/repository-map.md; docs/development/cmd-utilities.md for a new cmd/ utility |
| Architecture change | Site page architecture for what a user sees (transports, surfaces, security model), diagrams included; docs/development/architecture.md (packages, the path a call takes, handler patterns), docs/development/development.md and docs/development/tool-surfaces-and-action-core.md for how the code is put together |
| Error handling change | Site pages operations/error-handling and operations/troubleshooting; docs/development/error-handling.md for the classification and wrapping functions |
| Capability change | Site pages under capabilities/; docs/development/capabilities.md for the progress, elicitation and completion APIs and the icons |
| Build/deploy change | docs/development/development.md, and docs/development/distribution.md for the bundles and the channel publishers; site pages under install/ and operations/remote-deployment |
| Removed API | All referencing documents |
Step 3: Assess Impact
For each affected document:
- Read the current documentation
- Compare with the current source code
- Classify the update as: Minor (parameter change), Moderate (new section), or Major (restructure)
- Prioritize Critical and High priority documents first
Update Strategy
Principles
- UPD-001: Preserve existing document structure, heading hierarchy, and formatting style
- UPD-002: Use surgical edits — replace only the changed sections, not entire files
- UPD-003: Maintain cross-reference integrity — check all links still work
- UPD-004: Update Mermaid diagrams if component relationships changed
- UPD-005: Update tables (parameters, types, functions) to match source
- UPD-006: Add deprecation notices for removed APIs rather than deleting immediately
- UPD-007: Never introduce TBD/TODO placeholders in updates
- UPD-008: Maintain consistent terminology with the rest of the documentation
- UPD-009: When creating or editing Markdown pipe tables in
README.md,docs/or the site's pages, rungo run ./cmd/format_md_tables/and verify withgo run ./cmd/format_md_tables/ --checkso source tables keep consistent padding and alignment markers - UPD-010: Never hand-edit generator-owned content: the README's token claim block, the managed block of
docs/development/testing/testing.md,model-corpus.mdande2e-coverage.mdbeside it, the managed blocks ofdocs/development/testing/model-results.md,docs/development/token-footprint.md, the site's per-domain tool reference undersite/src/content/docs/reference/tools/(itsindex.mdxincluded) and itses/twin, the site'sreference/fine-grained-permissions.mdxand its twin, the generated block of the site'sperformance/resource-benchmark.mdxwith the charts undersite/public/benchmarks/, the data files undersite/src/data/(stats.json,token-footprint.json,resource-benchmark.json), thellms*.txtfiles at the repository root, andlhm.plugin.json's capability arrays. Run the generator instead (make update-allruns every one of them except the benchmark measurement: it redraws the benchmark withmake bench-resources-render, and onlymake bench-resourcesre-measures and rewritesresource-benchmark.json; ADR-0025 lists which command writes which path). The versions inserver.jsonand the other manifests are stamped by the release, never by hand - UPD-011: A user-facing change updates the English page and its Spanish twin in the same change.
pnpm run i18n:check(insite/) proves that every page has a twin and that the twin's code blocks match the English ones outside their comments, not that the prose agrees
For New APIs
- Add new entries to the appropriate reference document tables
- Add new sections following the existing document pattern and style
- Update the package documentation if the API belongs to an existing package
- Add cross-references from related documents
- Update the documentation index if new documents are created
For Modified APIs
- Update parameter tables with new/changed/removed parameters
- Update return type documentation if changed
- Update code examples to reflect the new signature
- Add migration notes if the change is breaking
- Update Mermaid diagrams if type relationships changed
For Removed APIs
- Mark the API as deprecated with a notice and removal version/date
- Suggest the replacement API if one exists
- Update cross-references that pointed to the removed API
- After one release cycle, fully remove the deprecated section
For Configuration Changes
- Update the environment variables table
- Update default values and descriptions
- Add migration instructions if existing users need to change their config
- Update deployment documentation if the change affects deployment
Parity Verification
After all updates are applied, perform a parity check:
For Each Updated Document
- Read the updated documentation
- Compare every documented API, parameter, and type against source code
- Verify all code examples are syntactically valid
- Confirm Mermaid diagrams reflect current architecture
- Check all cross-reference links resolve correctly
Verification Checklist
- All changed exported types/functions are documented correctly
- Parameter tables match current function signatures
- Return types and error handling match implementation
- Code examples compile and reflect current API
- Mermaid diagrams reflect current component relationships
- Cross-reference links are valid
- No TBD/TODO placeholders in updated sections
- Consistent terminology and style with surrounding content
- Deprecation notices added for removed APIs
- Every site page changed has its Spanish twin changed with it
- Markdown pipe tables in
README.md,docs/and the site were verified withgo run ./cmd/format_md_tables/ --check make check-doc-linksandmake check-doc-tool-namespass, and, when a site page changed,cd site && pnpm run build && pnpm run lint
Output Format
After completing updates, provide a summary:
## Documentation Update Summary
### Documents Updated
| Document | Sections Changed | Change Type |
|----------|-----------------|-------------|
| `site/src/content/docs/reference/tools/branch.mdx` | Regenerated with `make gen-tool-reference` for `branch.new_action` | New API |
| `site/src/content/docs/configuration.mdx` and `es/configuration.mdx` | New variable in the settings table | Modified API |
### Parity Status
- [x] All changes documented
- [x] Examples validated
- [x] Diagrams updated
- [x] Cross-references verified
### Notes
[Any observations, recommendations for follow-up, or areas needing manual review]Error Handling
- ERR-001: Source file not found — report the expected path and skip
- ERR-002: Documentation file not found — recommend running
generate-project-documentationskill first - ERR-003: Ambiguous change — document both interpretations and flag for manual review
- ERR-004: Breaking change detected — add prominent migration notice with before/after examples
- ERR-005: Diagram rendering failure — provide the Mermaid source and flag for manual validation
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.

