DocKeeper
Keep changelogs and ADRs aligned with completed work and explicit decisions.
Use existing repository and release infrastructure first. Preserve history.
Make no remote change. Hand separately authorized remote work to its owning
workflow after the document pass.
When the host platform or repository already provides the required operation,
use or wire that native mechanism through its owning workflow. Do not build a
parallel script, hook, release engine, document generator, or state machine to
duplicate it. Add DocKeeper-specific automation only after proving a real gap,
keeping the extension minimal, and obtaining authorization for the change.
If a configured mechanism owns an artifact but cannot run because it is absent,
unavailable, or prohibited by the task, stop that part and report the exact
blocker. Never simulate the owner's output by manually editing generated
changelogs, version files, release manifests, Release PR state, tags, releases,
or publication state.
Do not use this skill as a release publisher, Git tagger, or generic prose
editor. For mixed requests, apply DocKeeper only to the changelog or ADR portion
and let the authorized release workflow own publication and remote state.
Activate
Use DocKeeper in either case:
- Direct maintenance: the user asks to create, complete, audit, update, or
repair a changelog or ADR.
- Companion closeout: an implementation task finishes with a confirmed
notable change or an explicit durable architectural decision that may
require its project documentation to stay synchronized.
- Release preflight: an authorized release task requires changelog rollover
or release-history verification before the owning workflow publishes it.
For companion closeout:
- Complete and verify the primary task first.
- Inspect only the task-owned diff and explicit decisions from the current
work.
- Apply the changelog and ADR thresholds independently before reading a
reference.
- If neither threshold is met, do not read a reference and do not edit
documentation.
- If a threshold is met, run only the matching document pass.
A change request authorizes only local changelog or ADR companion documentation
and their required indexes or reciprocal links when repository policy requires
them or they are necessary to keep the same change consistent. It does not
authorize unrelated historical reconstruction, release publication, or remote
state changes.
Closeout thresholds
- Changelog: confirmed impact on users, operators, integrators,
compatibility, installation, migration, packaging, or security.
- ADR: an explicit decision that is durable, cross-cutting, costly to
reverse, or material to architecture, security, data, operations,
compatibility, compliance, or major dependency policy.
When both thresholds apply, run separate passes. A decision can justify an ADR
before implementation; a changelog entry requires confirmed change or release
impact.
Route the request
- Identify each requested document type before reading a reference.
- For
CHANGELOG.md, curated release history, unreleased changes, yanked
releases, changelog links, or release chronology, read only
references/changelog-maintenance.md
for that pass.
- For ADRs, architectural decisions, decision status, numbering, naming,
supersession, links, or chronology, read only
references/adr-maintenance.md for that pass.
- If both types are requested, handle them as separate passes. Do not mix their
procedures, examples, or lifecycle rules.
- If the document type cannot be determined with high confidence, ask one
clarification question before reading either reference.
Select the mode
- Create: no target document exists.
- Complete: a document exists but required content is missing.
- Audit: inspect and report. Do not edit unless the user also requests a fix.
- Update: add confirmed information without rewriting valid history.
- Repair: correct structure, contradictions, broken links, or unsupported
claims while preserving recoverable content.
Release rollover is an Update operation. When it is requested or required
by release preflight, select Update and follow the changelog reference's release
rollover procedure.
Shared procedure
- Read the applicable repository instructions and local documentation rules.
- Locate the target files, the matching example output, indexes, and
neighboring documents.
- Discover the repository's configured Git, GitHub, release, and ADR
mechanisms. Use their native inputs and lifecycle instead of recreating
their behavior.
- Establish the authorized scope. Treat commit, push, tag, release, issue,
pull-request, and other remote mutations as separate actions.
- Collect the smallest sufficient evidence. Match each fact to the source
competent to establish it:
- the current repository state and tests;
- merged or committed history;
- release metadata and automation configuration;
- linked issues, pull requests, and authoritative external records;
- explicit user-provided facts within the user's authority.
- Resolve each conflict with the source competent to establish that fact.
Repository evidence governs current implementation state. An authorized,
explicit user declaration governs a new decision or status transition unless
local policy assigns approval elsewhere. Mark unresolved conflicts instead
of guessing.
- Classify statements internally as confirmed, unresolved, or inferred. Write
only confirmed facts as facts. Label necessary inferences.
- Follow the selected reference from procedure through validation and save.
- Preserve established naming, location, language, and formatting conventions
unless they are the defect being repaired.
- Inspect the final diff. Ensure it contains only authorized documentation and
required indexes or links.
Write rules
- Use a bundled example only to create a missing document when no
project-specific convention or template exists.
- When no local convention exists, match the structure, order, and output style
defined by the selected reference and its example.
- Keep edits minimal. Do not rewrite valid historical wording only to match a
bundled example.
- Do not reorder established history unless evidence proves the chronology is
wrong and repair is in scope.
- Do not add placeholders, invented dates, fake links, fake issue or pull-request
numbers, or unverified decision-makers.
- Treat future-tense or tentative statements as intent. Treat an explicit,
unambiguous user declaration as evidence for the decision, rationale,
participants, status, or release facts the user is authorized to establish.
- Do not require a second issue, pull request, meeting record, or link merely to
corroborate that direct declaration unless repository policy requires it.
- Do not infer unstated rationale, participants, consensus, publication, or
another party's approval.
Safety rules
- Never invent a release, date, version, decision, participant, rationale, or
outcome.
- Never rewrite published history silently. Add a corrective note when an
historical correction is necessary.
- Never convert generated placeholders, inferred automation output, or
unsupported claims into an authoritative record without competent evidence.
Preserve explicit user-provided inputs according to the selected reference.
- Never expose credentials, private URLs, confidential discussion, customer
data, or security details that increase risk.
- DocKeeper itself never creates a commit, push, tag, release, issue, pull
request, or comment. When the user authorizes a release or other remote
action, DocKeeper performs only its document pass and hands the result to the
owning workflow.
- Stop and report the exact missing evidence when accuracy depends on an
unresolved material fact.
Completion report
Report:
- mode and document type for each pass;
- files created, changed, or audited;
- example or local convention followed;
- evidence used;
- confirmed facts added or preserved;
- validation performed and its result;
- unresolved facts or inferences not written as history;
- remaining gaps or blocked validations;
- an explicit statement when no local edits were made;
- remote actions not performed.
For a companion closeout where neither threshold is met, skip the full report.
State only that no changelog or ADR action was warranted when that fact is useful
to the primary task handoff.
1---2name: doc-keeper3description: Use when directly creating, completing, auditing, updating, or repairing changelogs, release history, or ADRs, and after completed work, release preparation, or explicit architectural decisions. Do not use for routine implementation, generic README prose, formatting-only work, or test-only work.4---56# DocKeeper78Keep changelogs and ADRs aligned with completed work and explicit decisions.9Use existing repository and release infrastructure first. Preserve history.10Make no remote change. Hand separately authorized remote work to its owning11workflow after the document pass.1213When the host platform or repository already provides the required operation,14use or wire that native mechanism through its owning workflow. Do not build a15parallel script, hook, release engine, document generator, or state machine to16duplicate it. Add DocKeeper-specific automation only after proving a real gap,17keeping the extension minimal, and obtaining authorization for the change.1819If a configured mechanism owns an artifact but cannot run because it is absent,20unavailable, or prohibited by the task, stop that part and report the exact21blocker. Never simulate the owner's output by manually editing generated22changelogs, version files, release manifests, Release PR state, tags, releases,23or publication state.2425Do not use this skill as a release publisher, Git tagger, or generic prose26editor. For mixed requests, apply DocKeeper only to the changelog or ADR portion27and let the authorized release workflow own publication and remote state.2829## Activate3031Use DocKeeper in either case:32331. **Direct maintenance:** the user asks to create, complete, audit, update, or34 repair a changelog or ADR.352. **Companion closeout:** an implementation task finishes with a confirmed36 notable change or an explicit durable architectural decision that may37 require its project documentation to stay synchronized.383. **Release preflight:** an authorized release task requires changelog rollover39 or release-history verification before the owning workflow publishes it.4041For companion closeout:42431. Complete and verify the primary task first.442. Inspect only the task-owned diff and explicit decisions from the current45 work.463. Apply the changelog and ADR thresholds independently before reading a47 reference.484. If neither threshold is met, do not read a reference and do not edit49 documentation.505. If a threshold is met, run only the matching document pass.5152A change request authorizes only local changelog or ADR companion documentation53and their required indexes or reciprocal links when repository policy requires54them or they are necessary to keep the same change consistent. It does not55authorize unrelated historical reconstruction, release publication, or remote56state changes.5758### Closeout thresholds5960- **Changelog:** confirmed impact on users, operators, integrators,61 compatibility, installation, migration, packaging, or security.62- **ADR:** an explicit decision that is durable, cross-cutting, costly to63 reverse, or material to architecture, security, data, operations,64 compatibility, compliance, or major dependency policy.6566When both thresholds apply, run separate passes. A decision can justify an ADR67before implementation; a changelog entry requires confirmed change or release68impact.6970## Route the request71721. Identify each requested document type before reading a reference.732. For `CHANGELOG.md`, curated release history, unreleased changes, yanked74 releases, changelog links, or release chronology, read only75 [references/changelog-maintenance.md](references/changelog-maintenance.md)76 for that pass.773. For ADRs, architectural decisions, decision status, numbering, naming,78 supersession, links, or chronology, read only79 [references/adr-maintenance.md](references/adr-maintenance.md) for that pass.804. If both types are requested, handle them as separate passes. Do not mix their81 procedures, examples, or lifecycle rules.825. If the document type cannot be determined with high confidence, ask one83 clarification question before reading either reference.8485## Select the mode8687- **Create:** no target document exists.88- **Complete:** a document exists but required content is missing.89- **Audit:** inspect and report. Do not edit unless the user also requests a fix.90- **Update:** add confirmed information without rewriting valid history.91- **Repair:** correct structure, contradictions, broken links, or unsupported92 claims while preserving recoverable content.9394Release rollover is an **Update** operation. When it is requested or required95by release preflight, select Update and follow the changelog reference's release96rollover procedure.9798## Shared procedure991001. Read the applicable repository instructions and local documentation rules.1012. Locate the target files, the matching example output, indexes, and102 neighboring documents.1033. Discover the repository's configured Git, GitHub, release, and ADR104 mechanisms. Use their native inputs and lifecycle instead of recreating105 their behavior.1064. Establish the authorized scope. Treat commit, push, tag, release, issue,107 pull-request, and other remote mutations as separate actions.1085. Collect the smallest sufficient evidence. Match each fact to the source109 competent to establish it:110 - the current repository state and tests;111 - merged or committed history;112 - release metadata and automation configuration;113 - linked issues, pull requests, and authoritative external records;114 - explicit user-provided facts within the user's authority.1156. Resolve each conflict with the source competent to establish that fact.116 Repository evidence governs current implementation state. An authorized,117 explicit user declaration governs a new decision or status transition unless118 local policy assigns approval elsewhere. Mark unresolved conflicts instead119 of guessing.1207. Classify statements internally as confirmed, unresolved, or inferred. Write121 only confirmed facts as facts. Label necessary inferences.1228. Follow the selected reference from procedure through validation and save.1239. Preserve established naming, location, language, and formatting conventions124 unless they are the defect being repaired.12510. Inspect the final diff. Ensure it contains only authorized documentation and126 required indexes or links.127128## Write rules129130- Use a bundled example only to create a missing document when no131 project-specific convention or template exists.132- When no local convention exists, match the structure, order, and output style133 defined by the selected reference and its example.134- Keep edits minimal. Do not rewrite valid historical wording only to match a135 bundled example.136- Do not reorder established history unless evidence proves the chronology is137 wrong and repair is in scope.138- Do not add placeholders, invented dates, fake links, fake issue or pull-request139 numbers, or unverified decision-makers.140- Treat future-tense or tentative statements as intent. Treat an explicit,141 unambiguous user declaration as evidence for the decision, rationale,142 participants, status, or release facts the user is authorized to establish.143- Do not require a second issue, pull request, meeting record, or link merely to144 corroborate that direct declaration unless repository policy requires it.145- Do not infer unstated rationale, participants, consensus, publication, or146 another party's approval.147148## Safety rules149150- Never invent a release, date, version, decision, participant, rationale, or151 outcome.152- Never rewrite published history silently. Add a corrective note when an153 historical correction is necessary.154- Never convert generated placeholders, inferred automation output, or155 unsupported claims into an authoritative record without competent evidence.156 Preserve explicit user-provided inputs according to the selected reference.157- Never expose credentials, private URLs, confidential discussion, customer158 data, or security details that increase risk.159- DocKeeper itself never creates a commit, push, tag, release, issue, pull160 request, or comment. When the user authorizes a release or other remote161 action, DocKeeper performs only its document pass and hands the result to the162 owning workflow.163- Stop and report the exact missing evidence when accuracy depends on an164 unresolved material fact.165166## Completion report167168Report:169170- mode and document type for each pass;171- files created, changed, or audited;172- example or local convention followed;173- evidence used;174- confirmed facts added or preserved;175- validation performed and its result;176- unresolved facts or inferences not written as history;177- remaining gaps or blocked validations;178- an explicit statement when no local edits were made;179- remote actions not performed.180181For a companion closeout where neither threshold is met, skip the full report.182State only that no changelog or ADR action was warranted when that fact is useful183to the primary task handoff.