agentleFS
tykisgodtykisgod/quick-question/skills/doc-sync/SKILL.md

doc-sync

Skill12 starsChanged 8 months agoMITView on GitHub

Local on-demand doc-sync: detect doc↔code drift, draft the reconciling updates (anchors + prose), present them as a reviewable diff, and land only what the human approves. Goes beyond qq:doc-drift's report-only by closing the loop — but never auto-commits and never touches code.

34 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use api-endpoint, perf-budget and 6 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.
  • tadoEngSkill

    api-endpoint

    Add or change a backend API endpoint on this product, keeping Pydantic as the single contract authority and regenerating the TypeScript client. Use when asked to add an endpoint, expose data to the frontend, change a request or response shape, or wire a new backend capability into a page.

    Also in 4 projects that use this

  • vindreshsinghSkill

    perf-budget

    Optimizes performance by measuring first and fixing the real bottleneck. Use when something is slow, before optimizing, when setting latency or bundle targets, or reviewing changes for performance traps — not for speculative micro-tuning.

    Also in 3 projects that use this

  • AnasX7Skill

    improve

    Survey any codebase as a senior advisor and produce prioritized, self-contained implementation plans for OTHER models/agents to execute. Strictly read-only on source code — never implements, fixes, or refactors anything itself. Use when asked to audit a codebase, find improvement opportunities (bugs, security, performance, test coverage, tech debt, migrations, DX), suggest features or where to take the project next (roadmap, product direction), or generate handoff plans for another agent to implement.

    Also in 3 projects that use this

  • dillonluiSkill

    design-review

    Review a view or flow for UX and UI issues. Provides severity-ranked, actionable findings grounded in established design heuristics. Use when the user asks for design feedback, UX review, or UI critique.

    Also in 3 projects that use this

  • NVIDIASkill

    research

    Before designing a feature, research how comparable libraries solve the problem, check best practices, known pitfalls, and upstream changes. Use when starting a new feature, investigating an unfamiliar area, or the user asks to research something.

    Also in 3 projects that use this

  • MicrosoftSkill

    release

    Use ONLY when the user explicitly asks to cut/publish a Huabu desktop release or tag a version. Performs an outward action — bumps the version in apps/desktop/package.json, commits + annotated-tags vX.Y.Z, and pushes the branch + tag. That tag push auto-builds the macOS/Windows installers and publishes a GitHub Release. Provides `status`, `bump`, `tag-push`, and a one-command `run` (bump → tag-push).

    Also in 4 projects that use this

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 1 is distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 27 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    No arguments: full sweep of the project's living docs

    line 10
  2. Very specific:

    Keep the approved subset; git checkout -- the rest.

    line 62
  3. Very specific:

    Notion-exported docs are in scope: if the project keeps them under Docs/: reconcile them, don't freeze them.

    line 67
  4. Very specific:

    If ${CLAUDE_PLUGIN_ROOT}/bin/qq-run-record.py is available, persist a doc-sync run record after the sweep so controller state can advance.

    line 68

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

Respond in the user's preferred language (detect from their recent messages, or fall back to the language setting in CLAUDE.md).

Pull drifted docs back in line with the code, run on demand when the human knows they changed something doc-affecting. doc-sync calls /qq:doc-drift (and the project's drift detectors) as its detection stage, then adds the two stages doc-drift lacks: draft the fixes and land what the human approves.

Arguments: $ARGUMENTS

  • No arguments: full sweep of the project's living docs
  • --since <ref>: only docs affected by code changed since <ref> (windowed reconcile)
  • --scope <design|memory|seams|rules>: restrict to one class of living doc
  • --all: also include Docs/archive/ and old review artifacts

Principle

Detectors are read-only; doc-sync is the sole writer, and only of docs — never code; the human is the sole lander. Reference drift (a dead anchor) is auto-drafted; semantic/process drift is only flagged for the human to decide. Graphs say "what is wired now"; the seam registry says "what should be wired / what breaks if missing" — neither overwrites the other.

Execution Flow

1. Discover the project's drift tooling (project-aware)

Probe for these and use whatever exists — degrade gracefully when absent (a generic project just gets doc-drift + git-diff reasoning):

If presentUse it for
Tools/blast_radius.py"changed files → affected docs + code-side ripple" (diff [base] / who <token>)
Tools/check_doc_drift.pysymbol-anchor drift in docs (LINEREF / missing file / missing GUID / 0-hit symbol)
Tools/check_memory.pymemory consistency + staleness (audit); re-stamp via stamp <date> <files>
Tools/check_seams.py.claude/seams.yml anchor drift
.claude/seams.ymlcross-cutting seam registry (fan-out points)
Tools/asset_graph.py / Tools/event_graph.pyUnity asset / event-bus blast-radius

2. Detect (read-only)

  • Scope the work. With --since <ref>, run python Tools/blast_radius.py diff <ref> to get changed-files → affected docs + ripple. Otherwise sweep: check_doc_drift.py over Docs/ + .claude/rules/, check_memory.py audit, check_seams.py.
  • Semantic layer. Invoke /qq:doc-drift (using the Skill tool) for the affected modules — design-doc-vs-code intent mismatches the anchor checkers can't see.
  • Ignore noise. Reconcile only against semantic code changes; skip test-only changes, .meta files, formatting churn, dependency bumps, and pure internal refactors.
  • Classify every finding into two buckets — this decides whether doc-sync may auto-draft:
    • Reference drift (machine-fixable): dead anchor / line-number ref / moved-or-deleted file path / GUID no longer in repo / stale numeric value with an exact code counterpart.
    • Semantic or process drift (NOT machine-fixable): the design intent changed, a formula diverged, a .claude/rules/ process note went stale, an architecture model differs.

3. Draft (only doc / memory / seams / rules)

One concern per pass. Feed the drafting work the project's own context (CLAUDE.md, .claude/rules/, the memory dir) so the prose keeps the author's voice and doesn't repeat known mistakes.

  • Reference drift → auto-draft the fix:
    • Re-point the dead anchor to the current symbol/path.
    • Normalize line-number references (Foo.cs:123) into symbol anchors (a class or method name, a unique string, or a GUID).
    • For renames, use git diff -M rename detection + surrounding-context fingerprint to propose OldSymbol → NewSymbol (confidence) rather than just reporting a 0-hit.
    • For memory only, re-stamp last_verified on facts you re-verified.
  • Semantic / process drift → do NOT edit. Emit a flagged note with the evidence (doc says X, code does Y) for the human to resolve.
  • .claude/rules/ + CLAUDE.md process advice → flag only, never auto-edit.

4. Human review (the local "draft")

The "draft" is uncommitted working-tree changes scoped to doc/config files — not a PR, not a scratch dir. Present git diff grouped by doc class. For each group, ask apply / skip / edit. Never auto-commit.

5. Land

Keep the approved subset; git checkout -- the rest. Re-stamp touched memory: python Tools/check_memory.py stamp <today> <files>. Then offer /qq:commit-push <the approved doc/config files>.

Notes

  • Default scope = Docs/design/, the current branch's Docs/qq/<branch>/, the memory dir, .claude/seams.yml, .claude/rules/.
  • Notion-exported docs are in scope if the project keeps them under Docs/: reconcile them, don't freeze them.
  • If ${CLAUDE_PLUGIN_ROOT}/bin/qq-run-record.py is available, persist a doc-sync run record after the sweep so controller state can advance.
  • Distinguish four situations the same way doc-drift does: outdated docs (code right, doc stale → draft the doc), missing features (doc right, code not built → leave the doc, flag for the human), actual bugs (code wrong → this is out of doc-sync's scope; hand to /qq:plan or /qq:test, never edit code here). And unrequested protections or restrictions (only in code): never draft them into the doc body; draft a "Needs the user's decision" entry for the human to approve.

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.