agentleFS
Simone-TarantinoSimone-Tarantino/godot-superpowers/skills/update-docs/SKILL.md

update-docs

Skill2 starsChanged 6 months agoMITView on GitHub

Sync project documentation after implementations or design changes — README.md, the GDD under `docs/design/`, plans under `docs/plans/` (whole-game and feature plans), feature surveys and specs under `docs/features/`, PROGRESS.md, CLAUDE.md. Cross-checks divergences between design and code. Only operates on documents that exist; doesn't force-create.

87 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use get-pr-reviews, push-everything and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • saffron-healthSkill

    get-pr-reviews

    Get nicely formatted output of the last review comments on a PR. Used internally by other skills.

    Also in 3 projects that use this

  • saffron-healthSkill

    push-everything

    Stage ALL changes in the repository (not just session changes), commit, and push. Use when you need to commit all pending changes.

    Also in 3 projects that use this

  • TheKREATORSSkill

    instinct-export

    Export instincts from project/global scope to a file

    Also in 3 projects that use this

  • TheKREATORSSkill

    instinct-import

    Import instincts from file or URL into project/global scope

    Also in 3 projects that use this

  • NVIDIASkill

    generate-spec

    Produce a feature specification covering API changes, backward compatibility, cross-language impact, performance, and a file-level change plan. Use when designing a new feature, planning a significant change, or the user asks to spec something out.

    Also in 3 projects that use this

  • belokonmSkill

    fullstack-developer

    End-to-end feature expert specializing in frontend-backend integration, system architecture, and complete application development

    Also in 4 projects that use this

  • +1 more from saffron-health
  • +1 more from TheKREATORS

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 6 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 81 edited versions we read keep these.

  • 6

    Distinctive

    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
  1. Distinctive:

    Always read all docs that exist before modifying any of them:

    line 76
  2. Very specific:

    Don't mark [x] if the feature works but diverges from GDD — use [?] and document.

    line 105
  3. Distinctive:

    If a GDD feature has no entry in PROGRESS.md, add it.

    line 106
  4. Distinctive:

    Update "Last updated: YYYY-MM-DD" at top of file.

    line 107
  5. Distinctive:

    Never edit the GDD to "match the code" — code follows GDD, not vice versa.

    line 118
  6. Distinctive:

    If code intentionally diverges, document in PROGRESS.md "Divergences" section.

    line 119
  7. Very specific:

    Use gdd-writer skill for substantial design additions.

    line 120
  8. Distinctive:

    If divergence found, report to user before fixing — they decide whether to align doc to code or code to doc.

    line 161

“Common” is measured: kept by at least 6 in 10 of the 81 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Update Project Docs

Keeps every project doc in sync — both the core docs (README, GDD, whole-game plan, PROGRESS, CLAUDE) and any feature artifacts (surveys, specs, feature plans) that exist. Only touches the ones that are present; does not force a project to adopt every doc type.

Doc set (core + feature artifacts)

DocPurposeUpdate when
README.mdWhat the project is, how to run it, top-level overviewTech stack changes, install steps change
docs/design/<YYYY-MM-DD>-<slug>-gdd.mdGame Design Document — design intentDesign decisions made (use gdd-writer)
docs/plans/<YYYY-MM-DD>-<slug>-plan.mdWhole-game implementation plan — milestones, skills, deliverablesPlan revised (use writing-game-plan)
docs/features/<YYYY-MM-DD>-<slug>-survey.mdFeature codebase survey — files / APIs / hotspotsWhenever a new feature lands on existing code (use codebase-survey)
docs/features/<YYYY-MM-DD>-<slug>-feature.mdFeature spec — design delta on top of GDDNew feature designed (use feature-spec)
docs/plans/<YYYY-MM-DD>-<slug>-feature-plan.mdFeature implementation planFeature plan revised (use feature-plan)
PROGRESS.mdStatus: GDD/spec → code mapping, divergencesAfter every implementation
CLAUDE.mdArchitecture and conventions for Claude CodeNew subsystem, new convention, new module

PROGRESS.md and CLAUDE.md are optional but recommended on any project larger than ~10 scenes. The docs/features/* trio only exists on projects that adopt feature-mode (trail B).

Decision flow

digraph update_flow {
    rankdir=TB;
    node [shape=diamond];
    start [label="What changed?" shape=doublecircle];
    impl [label="Code\nimplemented?"];
    design [label="Design\nchanged?"];
    arch [label="Architecture\nchanged?"];
    setup [label="Setup/install\nchanged?"];
    check [label="Cross-check"];
    node [shape=box];
    progress [label="Update PROGRESS.md\n(checkbox feature)"];
    gdd [label="Update GDD\n(docs/design/...-gdd.md)"];
    claudemd [label="Update CLAUDE.md\n(arch / convention)"];
    readme [label="Update README.md\n(install / overview)"];
    cross [label="Verify docs agree"];

    start -> impl;
    impl -> progress [label="yes"];
    impl -> design [label="no"];
    design -> gdd [label="yes"];
    progress -> design;
    gdd -> arch;
    design -> arch [label="no"];
    arch -> claudemd [label="yes"];
    arch -> setup [label="no"];
    claudemd -> setup;
    setup -> readme [label="yes"];
    setup -> check [label="no"];
    readme -> check;
    check -> cross;
}

Modes

InvocationAction
/update-docs or /update-docs allRead all docs + relevant code, cross-check, update everything that needs updating
/update-docs progressPROGRESS.md only (after implementation)
/update-docs gddGDD only (after design decision)
/update-docs claude-mdCLAUDE.md only (after architecture change)
/update-docs readmeREADME.md only (after setup/tech stack change)
/update-docs checkCross-check only — flag divergences without writing

Step 1 — Read current state

Always read all docs that exist before modifying any of them:

1. Read README.md                                                  -> overview baseline
2. Read docs/design/*-gdd.md (latest)                              -> design baseline (if exists)
3. Read docs/plans/*-plan.md  (latest, EXCLUDING *-feature-plan.md) -> whole-game plan baseline (if exists)
4. Read docs/features/*-survey.md  (each)                          -> feature surveys (if any)
5. Read docs/features/*-feature.md (each)                          -> feature specs (if any)
6. Read docs/plans/*-feature-plan.md (each)                        -> feature plans (if any)
7. Read PROGRESS.md                                                -> implementation status (if exists)
8. Read CLAUDE.md                                                  -> architecture baseline (if exists)

Glob discipline: the *-plan.md glob in step 3 also matches *-feature-plan.md files because the latter ends in -plan.md. Step 6 owns feature plans; step 3 must filter them out to avoid reading the same file twice. Use a globber that supports negation (docs/plans/*-plan.md minus docs/plans/*-feature-plan.md) or, in shell, ls docs/plans/*-plan.md | grep -v -- '-feature-plan\.md$'. In tooling-free contexts, list whole-game plans manually after enumerating with ls docs/plans/.

Then read code in scripts/, autoload/, scenes/ to verify what's actually implemented.

Step 2 — Update PROGRESS.md

For each feature touched, update its status:

- [ ]  -> not implemented (no code)
- [~]  -> partial (code exists but incomplete vs GDD)
- [x]  -> complete and matches GDD
- [?]  -> intentional divergence from GDD (document below)

Rules:

  • Don't mark [x] if the feature works but diverges from GDD — use [?] and document.
  • If a GDD feature has no entry in PROGRESS.md, add it.
  • Update "Last updated: YYYY-MM-DD" at top of file.

Step 3 — Update GDD (only when design changed)

Modify only if:

  • A mechanic was redefined
  • A balance value was intentionally changed
  • A new feature was designed (not just implemented)
  • A [HYPOTHESIS] section was confirmed or discarded

Rules:

  • Never edit the GDD to "match the code" — code follows GDD, not vice versa.
  • If code intentionally diverges, document in PROGRESS.md "Divergences" section.
  • Use gdd-writer skill for substantial design additions.

Step 4 — Update CLAUDE.md (only when architecture changed)

Modify only if:

  • New autoload added
  • New component / system module added
  • New convention introduced (naming, file structure, signal pattern)
  • New directory in project structure
  • Tooling changed (new lint rule, new test framework)

Step 5 — Update README.md (only when overview changed)

Modify only if:

  • Tech stack changed (Godot version bump, new addons required)
  • Install / build / run command changed
  • Project name, description, license, badges
  • Quickstart broken

Step 6 — Cross-check

Verify pairwise consistency:

CheckExpected
GDD says XPROGRESS tracks X, code implements X
PROGRESS [x] for YCode in scripts/ actually has Y
CLAUDE.md describes class ZClass Z still exists
README install stepsMatch project.godot, addons, dependencies
Feature spec acceptance criteriaAll present in PROGRESS or marked [?] divergence
Feature plan "Files: edit"Each path exists; plan-stated diff intent matches code reality
Feature spec [HYPOTHESIS] mechanic, status DonePromote into the GDD's Mechanics section, drop the [HYPOTHESIS] tag
Feature survey hotspotsRegression tests listed in the feature plan exist under test/

Common divergences to flag:

  1. Feature [x] in PROGRESS but no code reference
  2. Class described in CLAUDE.md but renamed/deleted in code
  3. GDD value (e.g., "10 levels") differs from code constant (MAX_LEVELS = 12)
  4. README mentions addon not in addons/

If divergence found, report to user before fixing — they decide whether to align doc to code or code to doc.

Divergences section in PROGRESS.md

Template:

## Divergences (GDD ↔ code)

1. **{Name}** — GDD says {X}. Code does {Y}.
   - Reason: {why we diverged}
   - Decision: {keep / align to GDD / update GDD}
   - Date: {YYYY-MM-DD}

Common mistakes

MistakeConsequencePrevention
Update ROADMAP/PROGRESS without code checkDoc says "done", code says noRead code before writing checkbox
Edit GDD to match codeDesign loses authorityUse divergences section
Mark [x] for partial featuresFalse completenessUse [~] with note on what's missing
Forget CLAUDE.md after new autoloadFuture Claude doesn't know it existsAlways recheck CLAUDE.md after architecture change

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.