Documentation Finalization
Reusable documentation-finalization process for implementation and design updates.
When to Use
- When implementation changed names, behavior, file paths, or architecture references in docs
- When a design document in
Documents/Design/ must be created or updated for the current domain
- When obsolete placeholders, duplicate guidance, or stale references must be removed before completion
- When documentation work needs a consistent finalization checklist rather than ad hoc edits
Purpose
Make documentation reflect the shipped state of the repository. Treat deletion of stale content as first-class work, and verify every technical statement against implementation before leaving the documentation phase.
Documentation Areas
Development Docs
- Update current-state, setup, architecture, and workflow documents to match the implementation
- Replace outdated file paths, names, timelines, and phase markers
- Remove "not yet implemented" language once behavior exists
Design Docs
- Keep terminology aligned with actual classes, methods, scripts, headings, and behaviors
- Refresh examples, formulas, schemas, and interaction descriptions to match current behavior
- Remove placeholders such as
TBD, coming soon, or obsolete alternative designs
Decision Docs
- Update existing ADRs when a shipped decision changed
- Create or refine decision records only when implementation introduced or documented an actual decision
- Remove obsolete decision records only when a newer source of truth fully supersedes them
Domain Design Docs
- Prefer updating an existing domain file when the feature extends an established design area
- Create a new
Documents/Design/{domain-slug}.md file only when no current domain doc covers the feature area
- Keep domain docs focused on the current design state, not as per-issue changelogs
Documentation Maintenance Responsibilities
The documentation specialist is responsible for maintaining:
- CHANGELOG.md: Update BEFORE merge - add entry during PR documentation finalization.
- NEXT-STEPS.md: Update BEFORE merge - update priorities during PR finalization.
- QUICK-START.md: Update when tooling or setup instructions change.
- Documents/Decisions/: Create new decision records from issue body design content during the implementation phase - keep existing ADRs accurate.
- ROADMAP.md: Update when present - reflect milestone and priority changes from implemented features.
See also: Experience-Owner for customer framing documentation.
Finalization Workflow
- Review the relevant implementation and determine what actually changed.
- Update the affected development and design documents to match shipped behavior.
- Apply any required decision-record updates tied to real implementation decisions.
- Remove obsolete content, duplicate guidance, and placeholder text.
- Verify terminology, file paths, cross-references, and examples against the codebase.
- Run markdown formatting and repo validation before handing off completion.
Quality Checks
- Match code names, signatures, entity names, and workflow labels exactly
- Verify file paths, section cross-references, and command examples still exist
- Remove stale future-tense statements once the work shipped
- Prefer consolidation over duplication when multiple docs describe the same rule
- For domain design docs, describe the stable domain behavior rather than issue-by-issue history
Conciseness Guidelines
- Target roughly 150-250 lines per permanent document when practical
- Split a document when it serves multiple unrelated purposes or becomes hard to navigate
- Prefer linking to the authoritative doc instead of restating the same guidance in multiple places
- Value deletion as much as addition when reducing confusion
Validation
- Run
markdownlint-cli2 --fix "**/*.md"
- Run
pwsh -NoProfile -NonInteractive -File .github/scripts/quick-validate.ps1
- When agent markdown is edited, confirm the
tools: frontmatter still matches the capabilities described in the body
Gotchas
| Trigger |
Gotcha |
Fix |
| Updating docs from intent instead of code |
Documentation drifts toward the plan rather than the shipped state |
Verify names, paths, and behavior against the current implementation |
| Trigger |
Gotcha |
Fix |
| Turning a domain design doc into issue notes |
The file becomes a changelog and stops reflecting the current UX |
Rewrite the doc around current domain behavior and delete drift |
Frame Ports Filled By This Skill
| Port |
Work adapter |
Auto-N/A adapter |
Explicit-skip adapter |
implement-docs |
agents/Doc-Keeper.agent.md; adapters/implement-docs-adapter.md |
adapters/implement-docs-auto-na-adapter.md |
adapters/implement-docs-explicit-skip-adapter.md |
In /spine-run, the implement-docs port resolves through adapters/implement-docs-adapter.md as the work adapter executed by Senior Engineer. Hub-flow dispatch uses agents/Doc-Keeper.agent.md directly. This split-declaration state is documented in Documents/Design/frame-architecture.md; see footnote § (split-declaration #612).
Source: Grimblaz/agent-orchestra — distributed by TomeVault.
1---2name: grimblaz-agent-orchestra-documentation-finalization3description: <!-- platform-assumptions: markdown skill guidance for VS Code custom agents in Agent Orchestra; applies to repository documentation and agent markdown updates. -->4---56<!-- platform-assumptions: markdown skill guidance for VS Code custom agents in Agent Orchestra; applies to repository documentation and agent markdown updates. -->7<!-- markdownlint-disable-file MD041 MD003 -->89# Documentation Finalization1011Reusable documentation-finalization process for implementation and design updates.1213## When to Use1415- When implementation changed names, behavior, file paths, or architecture references in docs16- When a design document in `Documents/Design/` must be created or updated for the current domain17- When obsolete placeholders, duplicate guidance, or stale references must be removed before completion18- When documentation work needs a consistent finalization checklist rather than ad hoc edits1920## Purpose2122Make documentation reflect the shipped state of the repository. Treat deletion of stale content as first-class work, and verify every technical statement against implementation before leaving the documentation phase.2324## Documentation Areas2526### Development Docs2728- Update current-state, setup, architecture, and workflow documents to match the implementation29- Replace outdated file paths, names, timelines, and phase markers30- Remove "not yet implemented" language once behavior exists3132### Design Docs3334- Keep terminology aligned with actual classes, methods, scripts, headings, and behaviors35- Refresh examples, formulas, schemas, and interaction descriptions to match current behavior36- Remove placeholders such as `TBD`, `coming soon`, or obsolete alternative designs3738### Decision Docs3940- Update existing ADRs when a shipped decision changed41- Create or refine decision records only when implementation introduced or documented an actual decision42- Remove obsolete decision records only when a newer source of truth fully supersedes them4344### Domain Design Docs4546- Prefer updating an existing domain file when the feature extends an established design area47- Create a new `Documents/Design/{domain-slug}.md` file only when no current domain doc covers the feature area48- Keep domain docs focused on the current design state, not as per-issue changelogs4950## Documentation Maintenance Responsibilities5152The documentation specialist is responsible for maintaining:5354- **CHANGELOG.md**: Update BEFORE merge - add entry during PR documentation finalization.55- **NEXT-STEPS.md**: Update BEFORE merge - update priorities during PR finalization.56- **QUICK-START.md**: Update when tooling or setup instructions change.57- **Documents/Decisions/**: Create new decision records from issue body design content during the implementation phase - keep existing ADRs accurate.58- **ROADMAP.md**: Update when present - reflect milestone and priority changes from implemented features.5960See also: [Experience-Owner](../../agents/Experience-Owner.agent.md) for customer framing documentation.6162## Finalization Workflow63641. Review the relevant implementation and determine what actually changed.652. Update the affected development and design documents to match shipped behavior.663. Apply any required decision-record updates tied to real implementation decisions.674. Remove obsolete content, duplicate guidance, and placeholder text.685. Verify terminology, file paths, cross-references, and examples against the codebase.696. Run markdown formatting and repo validation before handing off completion.7071## Quality Checks7273- Match code names, signatures, entity names, and workflow labels exactly74- Verify file paths, section cross-references, and command examples still exist75- Remove stale future-tense statements once the work shipped76- Prefer consolidation over duplication when multiple docs describe the same rule77- For domain design docs, describe the stable domain behavior rather than issue-by-issue history7879## Conciseness Guidelines8081- Target roughly 150-250 lines per permanent document when practical82- Split a document when it serves multiple unrelated purposes or becomes hard to navigate83- Prefer linking to the authoritative doc instead of restating the same guidance in multiple places84- Value deletion as much as addition when reducing confusion8586## Validation8788- Run `markdownlint-cli2 --fix "**/*.md"`89- Run `pwsh -NoProfile -NonInteractive -File .github/scripts/quick-validate.ps1`90- When agent markdown is edited, confirm the `tools:` frontmatter still matches the capabilities described in the body9192## Gotchas9394| Trigger | Gotcha | Fix |95| ----------------------------------------- | ------------------------------------------------------------------ | -------------------------------------------------------------------- |96| Updating docs from intent instead of code | Documentation drifts toward the plan rather than the shipped state | Verify names, paths, and behavior against the current implementation |9798| Trigger | Gotcha | Fix |99| -------------------------------------------- | ---------------------------------------------------------------- | --------------------------------------------------------------- |100| Turning a domain design doc into issue notes | The file becomes a changelog and stops reflecting the current UX | Rewrite the doc around current domain behavior and delete drift |101102## Frame Ports Filled By This Skill103104| Port | Work adapter | Auto-N/A adapter | Explicit-skip adapter |105| --- | --- | --- | --- |106| `implement-docs` | [agents/Doc-Keeper.agent.md](../../agents/Doc-Keeper.agent.md); [adapters/implement-docs-adapter.md](adapters/implement-docs-adapter.md) | [adapters/implement-docs-auto-na-adapter.md](adapters/implement-docs-auto-na-adapter.md) | [adapters/implement-docs-explicit-skip-adapter.md](adapters/implement-docs-explicit-skip-adapter.md) |107108In `/spine-run`, the `implement-docs` port resolves through [adapters/implement-docs-adapter.md](adapters/implement-docs-adapter.md) as the work adapter executed by Senior Engineer. Hub-flow dispatch uses `agents/Doc-Keeper.agent.md` directly. This split-declaration state is documented in [Documents/Design/frame-architecture.md](../../Documents/Design/frame-architecture.md); see footnote § (split-declaration #612).109110---111> Source: [Grimblaz/agent-orchestra](https://github.com/Grimblaz/agent-orchestra) — distributed by [TomeVault](https://tomevault.io).112<!-- tomevault:4.0:skill_md:2026-06-15 -->