Install the "doc-sync" agent skill from https://github.com/katopz/katgpt-rs/tree/develop/.agents/skills/doc-sync into .claude/skills/doc-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doc-sync", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add katopz/katgpt-rs --skill doc-sync -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "doc-sync" agent skill from https://github.com/katopz/katgpt-rs/tree/develop/.agents/skills/doc-sync into .agents/skills/doc-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doc-sync", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add katopz/katgpt-rs --skill doc-sync -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "doc-sync" agent skill from https://github.com/katopz/katgpt-rs/tree/develop/.agents/skills/doc-sync into .cursor/skills/doc-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doc-sync", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add katopz/katgpt-rs --skill doc-sync -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "doc-sync" agent skill from https://github.com/katopz/katgpt-rs/tree/develop/.agents/skills/doc-sync into .gemini/skills/doc-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doc-sync", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
GitHub CLI
$ gh skill install katopz/katgpt-rs doc-sync
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add katopz/katgpt-rs --skill doc-sync -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "doc-sync" agent skill from https://github.com/katopz/katgpt-rs/tree/develop/.agents/skills/doc-sync into .github/skills/doc-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doc-sync", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add katopz/katgpt-rs --skill doc-sync -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "doc-sync" agent skill from https://github.com/katopz/katgpt-rs/tree/develop/.agents/skills/doc-sync into .opencode/skills/doc-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doc-sync", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
doc-sync
GitHub stars
135
Token cost
~14k tokens
SKILL.md length
7,345 words
Files
3
Skills in repo
8
Repo updated
First seen
Licence
MIT
At a glance
Synchronize each repo's .docs/ and README.md with recently succeeded plans/issues/benchmarks by diffing git history against the last documented entry.
Works in 6 steps: Find the last documented commit → List landed-but-undocumented work → Classify each landed item → …
Tasks that involve Git workflow
SKILL.md covers When to use, BOUNDARY.md — the 4th doc…, The workspace repos and their… and The sync workflow (per repo), plus 6 more sections
Runs Python scripts from its folder; calls git, python3 and cargo
What it does
Doc Sync is an agent skill from katopz/katgpt-rs. Synchronize each repo's .docs/ and README.md with recently succeeded plans/issues/benchmarks by diffing git history against the last documented entry. Use after landing a GOAT-passing plan, closing a batch of issues, or quarterly as a doc-hygiene gate. Covers every workspace repo and knows each repo's doc layout + where to record what, including each repo's root BOUNDARY.md contract (drift rows vs issue state).
Its SKILL.md is about 14k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `tools/link_fix.py` and `tools/linkcheck_sweep.py`).
It sits in Development, covering Git workflow and Technical documentation. The repository describes itself as: A neuro-symbolic micro-Transformer with speculative decoding, constraint pruning, recurrent attention, and adaptive test-time scaling — built in Rust. The licence is MIT.
When your agent uses it
Tasks that involve Git workflow
Tasks that involve Technical documentation
Example prompts
“s doc layout + where to record what, including each repo”
“/doc-sync”
Requirements
Python 3
Workflow steps
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7e47c8c. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
git
python3
cargo
From the folder's file list and the shell code blocks in SKILL.md.
Network
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Doc Sync loads about 14k tokens when it runs. Until then it costs about 107 tokens; SKILL.md has 7,345 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~107
When it runs· the whole SKILL.md, loaded when a task matches
~14k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/doc-sync/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
doc-sync
description
Synchronize each repo's `.docs/` and `README.md` with recently succeeded plans/issues/benchmarks by diffing git history against the last documented entry. Use after landing a GOAT-passing plan, closing a batch of issues, or quarterly as a doc-hygiene gate. Covers every workspace repo and knows each repo's doc layout + where to record what, including each repo's root BOUNDARY.md contract (drift rows vs issue state).
doc-sync — Keep .docs/ + README.md in sync with landed work
This skill brings a repo's documentation up to date with the work that has
landed in git but not yet been written up. It is the doc equivalent of a
cargo doc rebuild: the code shipped, now make the narrative match.
When to use
After a plan closes with a GOAT/gain verdict (promote, keep-opt-in, or honest fail).
After a batch of issues resolves (especially negative-result issues that move a
primitive's status line).
After a feature is promoted to default-on OR demoted to opt-in.
Quarterly as a doc-hygiene gate.
NOT for speculative work — only landed, committed work counts.
BOUNDARY.md — the 4th doc surface (added 2026-08-21)
Every repo ships a root BOUNDARY.md: Owns / Does not own / May depend on
(crate-granular allowlist) / Inherited (links) / Drift ledger. It is a
doc-sync surface because its drift ledger is a claim about issue state, and
claims rot:
Row ⟺ open issue. A fixable / owner-call row REQUIRES an existing
issue file; a by-design row cites a decision record instead. When an issue
closes, its row must be removed in the same commit — the noise-reduction
rule extended to BOUNDARY.md. A row whose issue is gone is the boundary
equivalent of a stale README claim.
Flag row-without-issue and issue-without-row (a boundary issue that
landed with no ledger row is invisible to the guard).
Don't hand-verify the dep tables — run
riir-ai/scripts/ci_boundary_contract.sh. It fails on an undeclared
cross-repo dep, a stale allowlist row, an unparseable ledger, and on the 4
split-prep invariants. --list-deps prints the measured graph.
Numbers in a contract are measurements, so they carry a date. If a row
cites "N symbols" or "N packages", re-measure before trusting it in a new
decision (riir-ai/BOUNDARY.md D2/D3 are the pattern).
The contract is per-repo; cross-repo rules live in ONE canonical home
(chain admission → riir-chain, dep matrix + split-prep → riir-ai) and
every other repo LINKS. Never copy a cross-repo rule into a second file —
that is the duplication doc-sync exists to catch.
The workspace repos and their doc shapes (derived, never counted — de-counted 2026-09-04)
The header carried a hand-typed count (18, measured 2026-09-01) while the
workspace moved to 16 live repos on 2026-09-04 (three to git/obsolete/) — the
same rot class the boundary-guard skill de-counted in its 21st run. It is 18
again since 2026-09-10 (riir-esp32 moved out of riir-chain 2026-09-06;
riir-kat spun out of riir-clippy 2026-09-10) — same count, different
membership, which is exactly why the count is derived and the census below is
a snapshot; the one-liner derives the membership.
The header said "14 as of 2026-08-28" over a table of 12 rows until
2026-09-01 — wrong twice, and six repos had no row at all, so a sync run that
walked this table skipped them silently. Don't re-type the count; derive the set
the same way the boundary gate does:
bash
cd /Users/katopz/git && for d in */; do
[ -f "$d/BOUNDARY.md" ] && [ -d "$d/.git" ] && echo "${d%/}"
done
12 numbered folders (01_orientation/ … 12_inference/; 02_inference/ was renumbered to 12_inference/ on 2026-08-08 to resolve a 02_ prefix collision with 02_crates/). The private consolidated selling-point book.
Large showcase + crate table.
same .highwater files
develop
riir-chain
7 numbered folders (01_orientation/ … 07_formal_verification/, reindexed from flat on 2026-08-08), unnumbered files inside. Canonical self-description — the chain owns the truth about the chain; riir-ai/.docs/07_neuro_symbolic_chain/ is the consumer/fusion view and links here. Two workspace members (riir-chain lib + riir-chaind daemon). Build surface still lives in README.md; FV invariants in AGENTS.md + .proofs/README.md.
Build commands + feature flags + the wallet/RPC trust surface + the merkle_root lesson.
same
develop
riir-neuron-db
11 numbered folders (01_orientation/ … 11_cli/; the 11th added 2026-09-09 for the ndb CLI — Plan 327, Warm-tier CRUD + identity login + multi-node sync), unnumbered files inside. Covers all src/ modules + examples/. Matches the riir-ai/.docs/ format.
What the crate owns + feature gates (default-on / opt-in) + feature→chain mapping + merkle_root/can_freeze lessons.
same
develop
riir-train
6 numbered folders (01_orientation/ … 06_cross_cutting/, reindexed from flat on 2026-07-15), unnumbered files inside. Training-method research vault.
Role + sibling layout.
same
develop (flipped from main 2026-09-04 — develop created from the main tip and made the default branch, the Issue 704 convention; main frozen)
riir-game-sdk
10 numbered folders (01_orientation/ … 10_multiplayer_topology/; the 10th was added for the two-binary production topology + avatar/game sync facade), unnumbered files inside. Covers all src/ modules + examples/. Matches the riir-ai/.docs/ / riir-neuron-db/.docs/ format.
No .docs/ folder — docs live in AGENTS.md (extensive: role, topology, plans/issues/benchmarks index, canonical-failure lessons) + README.md (status + build commands + env vars) + .plans/ / .issues/ / .benchmarks/ files. POC consumer of riir-game-sdk.
Status + build commands + Plan/Issue index.
same
develop
riir-refine
12 numbered folders (01_orientation/ … 11_domains/ + 12_ane/; the 12th added for the Apple Neural Engine substrate knowledge — private runtime API, MIL/blob formats, M3 Max findings, the Rust-bridge negative result + working ObjC substrate — riir-ai Issue 726 T0 distillation), unnumbered files inside. The code-healer vault — corpus/drafter/pruner/verify/self-evolve/domains narrative. AGENTS.md carries the batch-mining progress notes (the sweep record home for cross-repo clippy heals).
Status + Quick Start + Usage + feature gates.
same
develop
riir-unity
RETIRED 2026-09-04 → git/obsolete/ (owner act). Lineage only; do not route work here. No .docs/ folder — AGENTS.md-centric (domain boundary, Unity MCP rules, issue log) + .benchmarks/. The Unity host; Rust work belongs in riir-viewbridge, so doc-sync here = AGENTS.md issue-log sections + module-map freshness.
Role + boundary + sibling layout.
same
develop
riir-viewbridge
1 numbered folder (.docs/01_orientation/ — README.md + crate_role.md) + a .docs/README.md index; AGENTS.md still carries the workspace layout, boundary rules (latent/raw wall, generated-bindings, catch_unwind) + issue log, and .benchmarks/ the node GOAT. The Rust FFI side of the Unity bridge. This row said "No .docs/ folder" until 2026-09-04 — the folder arrived in the workspace scaffold 2f0257c (Plan 532 P0 part 2), i.e. a shape change that never came back to this contract, which is the failure the Shape-change contract below exists to prevent.
Role + boundary + build commands.
same
develop
mmorpg-remake
1 numbered folder (.docs/01_orientation/ — README.md + unity_host.md, from Plan 031 Phase 5) + AGENTS.md/README.md/BOUNDARY.md. The Bevy/wasm viewer half after the Unity host split out. Row ADDED 2026-09-04 — the repo was enrolled 2026-09-03 and this table never got a row for it, while carrying three retired ones: 18 rows over a 16-repo workspace, wrong in BOTH directions.
Role + boundary + build/run commands + the vessel-texture + present-mode records.
same
develop (highwater: .issues 005, .benchmarks 002)
riir-dapps
1 numbered folder (.docs/11_kat_service/, numbered to MIRROR the kat-service group elsewhere — there is no 01–10 here, so don't read the prefix as a tenth sibling) holding dated evidence bundles (2026-09-10_domain_swap/: a README narrative + 5 manifest/health JSONs), plus the AGENTS.md-centric remainder (the one-way game → dapps → chain invariant, the three-test rule, tiered-durability record) + .plans/ / .issues/ / .benchmarks/. The settlement-composition layer. This row said "No .docs/ folder" until 2026-09-11 — the folder landed tracked in eb85243 (2026-09-10, Plans 023+024, cited from AGENTS.md §Status) and never came back to this contract: the Shape-change contract's exact failure, caught by a doc-sync run deriving the census instead of reading it.
Boundary + build + the direction_gate + kat rail status.
same
develop
riir-dao
No .docs/ folder — AGENTS.md-centric (the KAT tokenomics agent: signals → strategy → guard → advisory → commit; the G5 advisory-only verdict) + .plans/ / .benchmarks/.
Boundary + build + the direction gate.
same
develop
riir-armageddon
RETIRED 2026-09-02 → git/obsolete/ (owner act). Lineage only; do not route work here..docs/ exists but is EMPTY — AGENTS.md-centric in practice (arena/game-product domain types). Added 2026-09-01
yes
.issues 005, .plans 008
main — not develop; check before branching
riir-auth
.docs/ exists but holds only .highwater — i.e. no docs at all, AGENTS.md-centric in practice (the numbering file was created ahead of the folder's first document). Added 2026-09-01
yes
.issues 002, .benchmarks 4, .plans/.docs/.research at 0
develop
riir-burner
RETIRED 2026-09-04 → git/obsolete/ (owner act). Lineage only; do not route work here. Flat numbered FILES, no folders — .docs/001_model_verdict.md … 016_*.md (7 files; two share 016 — the numbering discipline is not enforced here). Added 2026-09-01
yes
.issues 015, .plans 019
develop
riir-deployer
2 numbered folders (01_orientation/, 02_runbooks/) + a .docs/README.md index — the smallest numbered shape in the workspace. No CLAUDE.md. Added 2026-09-01
yes
.issues 003, .plans 002, .benchmarks 001
develop
katgpt-web
No .docs/ folder — AGENTS.md-centric. Added 2026-09-01
yes
none
main — the feat/percepta-arch-diagrams checkout note is history: Issue 002 (2026-09-09, 01a9c51) merged + ff'd main to the working branch and the local feat branch is deleted; the repo sits on its trunk
mmorpg-editor
NAMED (not numbered) .docs/ subfolders — new-game-schema/, registry/, plus loose GAME_ASSETS.md. Carries ARCHITECTURE.md + DESIGN.md alongside AGENTS/README, and ARCHITECTURE.md is where the internal layering lives (BOUNDARY.md covers only the outer edge). Added 2026-09-01
yes
.issues 141, .plans 140
develop
riir-esp32
No .docs/ folder — AGENTS.md/BOUNDARY.md-centric (the ESP32 Satellite device-tier POC: crates/riir-satellite-probe, emulator recipes; explicitly not prod). Row ADDED 2026-09-11 — the repo moved out of riir-chain 2026-09-06 and this census never gained a row (the same silent-skip class the de-counted header warns about).
Role + boundary + domain test.
.issues 110, .proposals 006
develop
riir-kat
No .docs/ folder, no README — AGENTS.md/BOUNDARY.md/HISTORY.md-centric (the KAT network CLIENT + wire-protocol plane, spun out of riir-clippy issue 088 on 2026-09-10; single crate). Row ADDED 2026-09-11 — born 2026-09-10, censused a day late.
none — AGENTS.md §Status is the surface
.issues 1
develop
riir-shader
4 numbered folders (01_orientation/, 02_substrate/, 03_porting_method/, 04_size_budget/), unnumbered files inside — the WebGPU visual-effect substrate as Bevy plugins (ports every vgpu.sh example to wasm32+native as composable plugins; leaf, zero riir-* deps; upstream vercel-labs/vgpu @ 42bc4bc, MIT, attribution header per shader) + the crates/riir-shader-graph serde-only graph medium (Proposal 001 Phase 1, 3aa01ce). Row ADDED 2026-09-12; CORRECTED 2026-09-14 — the 09-12 row said "No .docs/ folder" and the book landed 7h later (2b78bb5, 09-12 07:48, "Phase 2 doc-sync — 4 folders, 10 docs") with the Shape-change contract never run by the producer; the 09-14 run re-derived the census and caught it.
Flat numbered FILES (.docs/00_principal.md … 10_quest_system.md + lessons_code_smell_audit_023.md + task_index.md; design docs from the remaster gap analysis, c0954dc). READ-ONLY to agents (main + develop, owner rule). Row ADDED 2026-09-14 — the repo joined the contract set at katgpt-rs Issue 760 making the workspace 20, but this census table never gained a row (the 09-12 anti-pattern census counted 19), and the flat-numbered-FILES shape it carries was wrongly believed to have left the workspace with riir-burner.
The most recent docs: commit is your baseline. Everything after it is undocumented work.
Step 2 — List landed-but-undocumented work
sh
git --no-pager log --oneline <baseline>..<branch>
Filter for:
feat: / fix: commits that close a plan or issue (grep the message for Plan NNN / Issue NNN).
docs: commits that close research notes or benchmarks (these may already be half-documented).
Promotions / demotions (search for promote, demote, default-on, opt-in).
Cross-reference against the repo's .plans/, .issues/, .benchmarks/,
.research/ folders — read the highwater files to know the current max number.
Step 3 — Classify each landed item
For each undocumented plan/issue, classify it:
Verdict
What to write
GOAT PASS + promoted to default-on
Add to the default-features list in README. Add/update the feature table row in .docs/01_orientation/overview.md (or equivalent). Mark the plan's TL;DR with the promotion date.
GOAT PASS + stays opt-in
Add to the opt-in features table in README. Update the .docs/ feature catalog. Honest about why it stays opt-in (heavy, fusion-pending, diagnostic-only).
GOAT FAIL / negative result
Add to the negative-results section (09_feature_catalog/negative_results.md for katgpt-rs, equivalent elsewhere). Mark the plan with the failure mode. Keep the entry — negative results are load-bearing.
Issue closed (investigation)
If it changes a primitive's status (e.g. "map-fidelity hypothesis exhausted"), update that primitive's README/docs entry. If it's pure investigation with no status change, it may not need a doc writeup — judge case by case.
Research note (PASS/Gain/GOAT)
If it led to a plan, the plan entry is the writeup. If it's a standalone PASS verdict with no plan (e.g. "already shipped"), add a one-liner to the relevant .docs/ group README.
Step 4 — Write the updates
Apply the repo-specific rules:
katgpt-rs (the public engine)
README.md: feature showcase entries (one ### section per primitive with a GOAT gate table), the opt-in features table, the default-features list, the Documentation Index.
.docs/01_orientation/overview.md: the full feature-flag table (one row per flag).
.docs/09_feature_catalog/: opt-in features + negative results.
.docs/<group>/README.md: the group's fusion map + file list.
Numbering: never reuse a plan/issue/benchmark/research number. Read the .highwater file, use value + 1, write it back.
riir-ai (the private runtime)
README.md: crate table + feature showcase.
.docs/: 12 numbered folders — drop new docs in the right group, add one line to the group README.
Cross-repo: if a katgpt-rs primitive was consumed, note the fusion in the riir-ai doc AND the katgpt-rs doc (bidirectional cross-refs).
.docs/: 7 numbered folders mirroring the riir-ai/.docs/ format — 01_orientation (what it is + feature surface + module map + how the ledger works), 02_consensus, 03_economics, 04_daemon (incl. the operator runbook), 05_wallet (trust boundaries, SIWR, node certificates), 06_operations (rolling upgrade across protocol versions, e2e coverage, failure scenarios), 07_formal_verification (pointer — the invariant table stays in AGENTS.md). Drop new docs in the right group folder and add one line to that folder's README.md index table. The top-level .docs/README.md is the entry point.
Division of labour with riir-ai (set 2026-08-08): riir-chain holds the canonical chain docs; riir-ai/.docs/07_neuro_symbolic_chain/ is a fusion map + feature highlights that links here and keeps only what is riir-ai's own (the Egg/Shell raw-vs-latent boundary, latent precision realms, game-layer sync strategy, CF Workers edge topology). Do not re-centralize chain internals in riir-ai — that duplication is what drifted before. Cross-link bidirectionally.
Module map discipline:01_orientation/overview.md claims to list every src/ and crates/riir-chaind/src/ subtree. If a plan adds a module, add the row — a map that silently omits modules reads as "these do not exist".
AGENTS.md: the FV (Lean 4) invariant table lives here (mirrored in .proofs/README.md), NOT in .docs/. Plan 016 spec self-tests live next to each spec module under .proofs/RiirChainProof/.
README.md: build surface — feature gates (default-on / transitive / opt-in / per-feature prose sections for promoted primitives) + Formal Verification summary + License. Prose sections are reserved for promoted default-on features; opt-in features get table rows only.
.docs/: 11 numbered folders mirroring the riir-ai/.docs/ format. Drop new docs in the right group folder (by capability: shard substrate / freeze-thaw / consolidation / vessel / specialized / zone / examples / FV / local-kv Warm tier / CLI), add one line to that folder's README.md index table. The top-level .docs/README.md is the entry point. The 05_secure_vessel/vessel_primitive.md doc is the restored home of the old 15_vessel.md (corrected: riir-neuron-db is "this crate", NOT katgpt-rs per Plan 006). The 10_local_kv/ folder covers the LocalKvStore + CommitLevel/CommitBatch + WAL compaction + BM25 (the Warm tier substrate backing per-player state recovery in riir-mmorpg-examples Plan 013, added Issue 043). The 11_cli/ folder covers the ndb binary (Plan 327: Warm-tier CRUD, identity login via riir-auth account_key, multi-node WAL-mirror sync).
AGENTS.md: the FV (Lean 4) invariant table lives here (mirrored in .proofs/README.md), NOT in .docs/. The .docs/09_formal_verification/ folder is the narrative overview; AGENTS.md is the authoritative invariant table.
Cross-repo: if a primitive was consumed by riir-ai or riir-chain, the fusion is documented bidirectionally.
.docs/: 10 numbered folders mirroring the riir-ai/.docs/ / riir-neuron-db/.docs/ format. Drop new docs in the right group folder (by capability: spatial-entity / tick-world / rules-ai / game-builder / zone-living-world / gm-dashboard / examples / lessons / multiplayer-topology), add one line to that folder's README.md index table. The top-level .docs/README.md is the entry point. The 10_multiplayer_topology/ folder covers the two-binary authority/player production model + avatar/game sync facade (the consumer pattern for the documented C1/C2/C4 chain topologies).
AGENTS.md: authoritative repo-local context (phase status, boundary rule rationale, leaf-constraint argument, the canonical-failure lessons). The 09_lessons/ folder is the narrative mirror of those lessons.
examples/: showcase examples are part of the doc surface (Issue 517 rule) AND documented in .docs/08_examples/.
Leaf constraint reminder: this crate has zero sibling path deps. Docs that reference sibling repos use relative links only — never imply a code dependency.
riir-mmorpg-examples (no .docs/ folder — AGENTS.md-centric)
The AGENTS.md is large (~1000+ lines) and IS the doc surface — doc-sync for this repo means keeping AGENTS.md sections current with landed plans.
riir-refine (12-folder .docs/ book)
.docs/: 12 numbered folders mirroring the riir-ai/.docs/ format — corpus / drafter / pruner / verify / ruliology / examples / benchmarks / lessons / self-evolve / domains / ANE substrate knowledge (12_ane/, riir-ai Issue 726 T0 distillation). Drop new docs in the right group folder, add one line to that folder's README.md index table.
AGENTS.md: the batch-mining progress notes + sweep records live here (the cross-repo clippy-heal record home). A landed heal slice in a sibling repo (katgpt-rs, riir-train, riir-ai) gets its progress note in the SAME commit as the heal — a later doc-sync run defers to the healing session (never write progress notes for someone else's in-flight sweep).
README.md: Status + Quick Start + Usage + feature gates.
riir-unity — RETIRED 2026-09-04 (git/obsolete/), lineage only
AGENTS.md: domain boundary (no Rust crates here; UPM package is build output; no engine substrate in C#) + the Unity MCP rules + the issue log. Doc-sync = issue-log sections for resolved issues + module-map freshness (the Packages/com.riir.viewbridge/ population + scene wiring notes).
The Rust side of any feature lives in riir-viewbridge — cross-repo arcs (e.g. Issue 004) document on BOTH sides at arc close.
riir-viewbridge (.docs/01_orientation/ + an AGENTS.md-centric remainder)
Every repo not subsectioned above (riir-dapps, riir-dao, riir-auth, riir-deployer, riir-esp32, riir-kat, katgpt-web, mmorpg-remake, mmorpg-editor)
Follow the census-table row — these are AGENTS.md/BOUNDARY.md-centric: doc-sync = AGENTS.md/BOUNDARY.md status sections + numbering highwater + README freshness (riir-kat has no README; its AGENTS.md is the surface). The repo's own AGENTS.md supersedes this skill.
katgpt-web checkout may sit on a feature branch (see census row) — sync the branch you find, and say which one in the run log.
Step 5 — Verify
No broken links: every [...](.plans/NNN_*.md) must point to a file that exists.
No stale numbers: if a README entry says "ratio 0.01" but the benchmark says "0.27", the README is wrong — update it.
Numbering discipline: .highwater files must be bumped when new plans/issues land.
Honesty: a GOAT FAIL stays a GOAT FAIL in the docs. A "stays opt-in" primitive is documented as opt-in with the reason. Never upgrade a verdict in the docs without the benchmark to back it.
Step 6 — Commit
Per the global AGENTS.md rule: always commit at task completion. Use docs:
prefix. Stay on the repo's working branch (develop for most, main for
riir-train). Do not push.
The 5-repo (now 10-repo) family shares numbering namespaces for
plans/issues/benchmarks/research within each repo but NOT across repos.
When a katgpt-rs primitive is consumed by riir-ai, the fusion is documented
bidirectionally: the katgpt-rs doc notes "consumed by riir-ai/NNN", and the
riir-ai doc notes "consumes katgpt-rs/NNN".
Formal verification (Lean 4) has its own cross-repo pattern (Research 351):
each repo's .proofs/ instance is self-documenting via its invariant table in
AGENTS.md. The doc-sync skill does NOT cross-port Lean files between repos
(coordinator rule C4: private proofs stay private).
Shape-change contract (when .docs/ grows a new top-level NNN_* folder)
This is the root-cause guard for skill drift. The recurring failure mode: a
plan adds a top-level .docs/NNN_*/ folder to a repo, lands the commit, and
nobody updates this skill file — so the next doc-sync run operates on a
stale folder-count assumption (canonical drifts: riir-neuron-db 9→10 via
Issue 043, riir-game-sdk 9→10 via the multiplayer-topology docs, riir-chain
flat→7 via the 2026-08-08 reindex, riir-ai 11→12 via Plan 455's orphaned
02_inference/ folder discovered 2026-08-08). This contract makes the update a
grep-able checklist instead of an implicit expectation.
Trigger: any plan/issue/commit that adds a new top-level .docs/NNN_*/
folder to any repo that already has numbered folders — measured 2026-09-14 as
12 of the 20: katgpt-rs, riir-ai, riir-chain, riir-clippy,
riir-dapps, riir-deployer, riir-game-sdk, riir-neuron-db, riir-shader,
riir-train, riir-viewbridge, mmorpg-remake. Or that gives a .docs/ to
one of the five with none (katgpt-web, riir-dao, riir-esp32,
riir-kat, riir-mmorpg-examples) or the one whose .docs/ holds no document
(riir-auth) — creating the folder is itself a shape change and requires this
contract. Derive the split rather than reading it here (ls */.docs); the
previous version of this trigger named riir-viewbridge as having none while
its .docs/01_orientation/ had shipped in the repo's own scaffold commit —
and the version before that kept riir-shader in the "none" list for two
days after its 4-folder book landed (2b78bb5), because a census row nobody
re-derived beats no row at all for hiding a shape change.
Checklist (run in the SAME pass as the folder-adding commit):
Verify ground truth.ls <repo>/.docs/ and count the NNN_*
folders. Do not trust the skill's current number — it may already be stale.
Update the table row in ## The workspace repos and their doc shapes above: bump the folder count, extend the range
(…NN_<new-folder>/), and add a short provenance note
(plan/issue number + one-phrase capability description).
Update the Step 4 section for that repo: change the header
count, add the new folder's name to the capability list, and add a
one-sentence description of what the folder covers.
Grep-verify zero stale counts. After the edit, run
grep -nE "<old_count> (numbered|folder)" ~/.agents/skills/doc-sync/SKILL.md
for the repo you touched — it MUST return zero hits. (Example: after
bumping riir-neuron-db from 9 to 10, grep -nE "9 (numbered|folder)"
filtered to the neuron-db rows must be empty.)
Commit. This file is NOT in a git repo (~/.agents/ is on-disk
only), so the update lands by saving — but the repo-side commit that adds
the folder should reference this contract in its message (e.g.
docs: add .docs/10_local_kv/ (shape-change contract: doc-sync SKILL.md updated)).
Who runs this: the agent executing the plan that adds the folder — NOT a
later doc-sync run. doc-sync is the consumer of the skill; the contract is
the producer-side obligation. A doc-sync run that discovers a stale count
(row says 9, disk says 10) is a SIGNAL that the producer skipped this
contract — fix the skill then, but also note the gap.
Anti-patterns
Do not write a doc entry for a plan that hasn't landed yet. Speculative docs go in .proposals/.
Do not remove a negative-result entry when closing its issue — the negative result is load-bearing documentation.
Do not upgrade a GOAT FAIL to a PASS in the docs without the benchmark file to back it.
Do not impose a .docs/ shape that differs from the repo's existing convention — respect the shape you find. Re-measured 2026-09-14 over the live 20 (the 09-12 measurement read 19 — it had no row for mmorpg-remaster, which joined at Issue 760): 12 numbered folders (katgpt-rs 10, riir-ai 12, riir-chain 7, riir-clippy 12, riir-dapps 1, riir-deployer 2, riir-game-sdk 10, riir-neuron-db 11, riir-shader 4, riir-train 6, riir-viewbridge 1, mmorpg-remake 1), 5 with no .docs/ at all (katgpt-web, riir-dao, riir-esp32, riir-kat, riir-mmorpg-examples), 1 whose .docs/ holds no document (riir-auth — only .highwater, which reads as a shape and is not one), 1 NAMED subfolders (mmorpg-editor), 1 flat numbered FILES (mmorpg-remaster — the shape did NOT leave the workspace with riir-burner; the 09-12 version of this sentence was wrong because that repo had no census row to be counted through). Don't re-type this census: the one-liner in the trigger above derives it, and every hand-written version of it in this file's history has been wrong within days — the previous one said "8 numbered / 8 AGENTS.md-centric" over a table whose membership differed from the workspace in BOTH directions. A shape change is a deliberate, committed decision governed by the Shape-change contract above.
Do not renumber existing docs — the numbering discipline is monotonic and never reused.
Do not document trivial mechanical commits (lockfile bumps, clippy fixes) unless they close a tracked issue.
Standing lessons (distilled from the run log — the load-bearing process rules)
Per-file logs + pickaxe are the reliable baseline tools.git log -- .docs README.md AGENTS.md once reported 5a1330b as game-sdk's newest doc-touching commit while git log -- AGENTS.md + git log -S '<landed-string>' -- <file> proved 1977d83 (two days newer) had touched AGENTS.md. Always re-verify a suspicious baseline per-file before declaring a range clean.
Narrow producer-side syncs leave holes the baseline heuristic can't see. A narrow sync fixes its own feature and skips everything else, so the strict baseline..HEAD range can be empty while the book still misses older landings. Gate runs GREP the book for recently-landed headline features; don't just trust the range. The inverse gap exists too: code landing to MATCH an already-documented row (mmorpg ?transport=local) is invisible to any baseline heuristic — nothing to fix, but don't declare a gap either.
Grep extraction regex must include digits.^[a-z_]+ = over [features] silently dropped avatar_sync_ed25519 and game_sync_p2p — nearly filed phantom "documented-but-dead feature" findings. Use ^[a-z0-9_]+ =.
The staged-index check must GATE the commit, not precede it. One run saw two sibling-staged files in git diff --cached --name-only output and then sailed past them because the check was ;-chained ahead of git add + git commit — the sibling's WIP landed inside the run-log commit (benign outcome, luck not process). The correct form: run the check as its OWN command and read it, or use git commit -- <paths> (a partial commit builds a temporary index from HEAD + the named paths, leaving anyone else's staged hunks intact — the safe form on shared checkouts). scripts/staged_set_audit.py (katgpt-rs) reports the same signal class pre-commit.
A doc claim of determinism is a claim about a proof. When a fix refutes the proof (the ndb Bm25 tie-truncation class), grep the book for the CLAIM, not just for coverage of the fix — the fix landed with in-source comments only and the book kept asserting the falsified invariant.
False positives: grep the repo's OWN .benchmarks/ before declaring coverage. Different repos (and even different series in one repo) reuse bench numbers — the overview's only "Bench 025" hit was a different numbering series.
Broken links: prose citations survive file removal, markdown links do not. The noise-reduction rule removes record files but no link-fix pass followed, so every closed issue left ](.issues/NNN…) links dangling. Standing tools (committed in katgpt-rs .agents/skills/doc-sync/tools/ — moved out of a repo-root tools/ that no longer exists; the 2026-09-04 landing row below still says tools/ and is history, not a path): python3 .agents/skills/doc-sync/tools/linkcheck_sweep.py (census) + python3 .agents/skills/doc-sync/tools/link_fix.py <repo> (auto R1-repoint / R3-delink), re-sweep to verify, commit pathspec'd .md only. Guards baked into the tools: absent-repo (a link into a workspace repo not checked out on the running box is UNVERIFIABLE, not broken — exists() is box-relative), backtick (link text already code-marked is emitted unwrapped), EOL (the fixer reads/writes with newline="" since 2026-09-22 — CRLF/mixed files round-trip byte-exact; before that the read_text/write_text pair LF-normalized whole files, measured on a CRLF .research/200, and the old 'restore EOL to HEAD convention manually' workaround is retired), and a markdown link split across lines is invisible to one-line fix regexes (NOMATCH → manual two-line edit).
Never cite "Plan/Research NNN" without naming the repo when the number exists in more than one namespace — and never link a path you haven't verified (ls it first; per-repo numbering namespaces collide constantly).
Classification against dirty trees uses git show <rev>: content, never the working tree. Sync remotes first; git show -1 <sha> mis-parses (the -1 overrides the sha — pass the sha alone). The reliable per-file baseline is the 4-surface set (AGENTS.md / README.md / .docs/ / the feature file) + a since-count.
"0 passed" in a baseline run is the reliable gate detector — grep on attribute FORMS lies (whole-file #![cfg] gates sit below doc-comment headers, mod-level cfg(any(feature…)) compiles empty under default).
Show full SKILL.md (2,728 more words)Show less
Run log (compact — full narratives live in git history)
Each row's durable record is the named docs:/fix commit(s) in the repo it
touched, plus this file's own history
(git log -p -- .agents/skills/doc-sync/SKILL.md — rows carried full
narratives until the 2026-09-05 compaction; git log -S '<date>' -- <this file> recovers any of them). Re-compacted 2026-09-11 — the rows appended
after 09-05 had regressed to full narratives again; same recovery applies.
New rows append ONE compact line each (hashes + one phrase — never narratives; the 09-05 and 09-11 compactions both followed regressions to full narratives). Pruned 2026-09-21: 119 → 15 rows, 104KB → 51KB — this time the one-line convention HELD but the cadence didn't: ~8 rows/day × ~1KB/row re-bloated the file in 10 days (67 file-touching commits 09-11→09-19). Pruned 2026-09-23: 25 → 15 rows, 59.1KB → 49.2KB — trip-preempting at 59.1KB, ~2 idle-pass rows under the 60KB threshold (the 04:49 idle-pass proximity note; the ~8-rows/day cadence lesson stands). Pruned 2026-09-28: 25 → 15 rows, 56.9KB → 50.4KB — same trip-preempt precedent at a full-gate run (fetch sweep 26/26 + linkcheck 0 breaks / 5894 files + dirty sweep all sibling-WIP). Maintenance rule: whenever this file exceeds 60KB, prune the run log to the newest 15 rows (checked at any full-gate run); every removed row is recoverable via git log -S '<date>' -- <this file>.
Date
Scope
Verdict
Record (primary fix commits)
2026-10-08
delta unit #2 (M3 idle ~09:4x +07, riir-refine idle-loop continuation; Protocol H clean — all repos fetched in-sync, no zombies, no prunable worktrees, 4090 gitsync DONE 09:27; census still running — zero-cargo units only; hygiene: refine Issues 153+148 closed into HISTORY rows, files removed per the noise rule)
3 doc gaps in riir-chain (landed after the 10-07 chain unit): overview module-map row for shard_assignment_solver.rs + README shard_solver umbrella row (Issue 164 item 4, 992cbf0b) · chaind doc riir-chaind token CLI block + chain_token_cli feature row + SDK token-registry crate-table mention (Plan 041 tails, 56f790f4); linkcheck 2 = the standing refine plan-202 deferral, 0 new; issues triaged: 089/150 owner-gated, 133/139/140 deferred-trigger trackers, ai pool all gated (1033 stays = the only T3–T6/T8 tracker), rethink 028 T7 owner-gated tracker
delta unit (M3, riir-chain Plan-066 overflow-handoff continuation; the doc-sync trigger IS the 066 landing — chain book had 2 audit rows only; sibling-hot left as-found: ai + .wprobe + reflex-site per prior rows)
riir-chain: overview module-map row un-rotted (dead chain_prog_nft dropped; escrow_multi/token_registry/domain_registry/delegation added; header 20→19 + the two 066 features named) · architecture.md program table gained the 7 missing live programs (Curator 20…Subscription 26) + NftProgram row dropped (Issue 125) + src tree current + audit filename fixed (escrow_multi.rs, was multi_claim_escrow.rs) · README Feature Surface section for programs 25/26 (wire 97–103, G1–G4, default-off, consumer = dapps 044-E owner-gated, v2 k-of-n additive) · AGENTS + audit pin counts 20→22 live · chaind doc 2 forward rows · 03_economics KAT-issuance (flow-vs-stock) paragraph · linkcheck: chain 0; train 6→0 delink R3 (removed Issues 487/570) — prior rows deferred those 6 as routing-restricted; train found quiet this run (clean + origin-synced, no listed sibling) so the delinks landed · deferred: ai 4 + wprobe 4 (sibling-hot), reflex-site 1 (claimed file)
chain 5d858c73 · train ade74e26
2026-10-07
delta unit ×2 (M3 idle; two overflow-handoff sessions back to back; 8 quiet repos fetched all in-sync — chain/dapps/sdk/infer/reflex/neuron-db/reflexer/katgpt-rs; sibling-hot left as-found: ai ×2 lanes, rethink ×2, refine ×2, seal)
unit 1: katgpt-rs feature-catalog §141 updated for the 917-T3 landing (catalog row still said "promotion pending"; T3 shipped 10-06) · unit 2: 8-repo delta scan CLEAN — every landing since 10-05 self-doc'd in-commit (HISTORY rows/AGENTS compactions/README bullets; reflex 623-T5 artifact adoption carries its full HISTORY row incl. the SDXC1TB durability finding); riir-train Plan 416 T2.5 close-out landed (Bench 626: no-harm proven, plasticity_lr STAYS OPT-IN; issue 570 resolved+removed per its own contract, 604 closed); llama.cpp PR #29353 (GDN chunked prefill) re-checked — still OPEN/unmerged, riir-ai Issue 971 re-arm NOT FIRED; when merged the +13.3% 4090 pp2048 Qwen3.8-27B claim compresses our league prefill margins (~1.176× → ~1.04×) — next fork re-pin should expect it
delta unit #3 (M3 ~12:3x +07; web-half of the ESC/typed-head additions per owner ask "new addition should update both doc-sync and website especially /resources, also check rethink.gist.rs"; repos fetched in-sync; sibling-hot left as-found: riir-rethink mid-flight Issue-023-T2 XNLI-ESC-demotion lane (arsenal.toml + escalating_backend.rs + esc tests dirty — the demotion my copy is written to survive) + reflex-site docs/instinct/dev_flow.md link-repair WIP + katgpt-rs src WIP)
3 site/doc gaps fixed: (1) riir-rethink .docs/05_resources/resources.md said storefront "incoming / link may be dark" — live since 10-03; reworded + gained concept-level "How escalation works" (per-suite arming + rate guard + receipt-named demotion; no suite names, no numbers — mirror-fence-safe, survives T2) → mirrored docs/rethink/resources.md + manifest sha in reflex-site 06922a5 · (2) reflex-site /resources Rethink section gained the same fact ("Escalation is built, not just drawn"), moat-law-clean
reflex-site 06922a5 · rethink 22e1157 · (3) the rethink storefront feed was STALE — site/data/why.json built from bench sha aa4bc12e while the published feed moved to f82f648b at the Bench-123 publish (reflex-site 3529710); rebuilt via build_why_data.py, Rethink cells byte-unchanged (only provenance stamps moved), deployed rethink fc52b2a4 + reflex-site 5e556e4e; en-route gate repair: resources smoke's numbers-law scan flagged the footer licence line "Apache-2.0" (pre-existing since 007-T1, licence name ≠ measurement) — digitFindings now strips licence identifiers by name; gates: sync_mirror 32/32 --check + resources smoke PASS + public_copy_gate PASS; rethink.gist.rs check verdict: current, feed-driven tiles, no ESC/typed-head copy drift — rethink 35b3296
2026-10-05
delta unit #2 (M3 ~05:2x-07:1x +07, overflow-handoff continuation; Protocol H fetch 27 repos 12.2s / disk 124Gi free; queue triage: every handoff item owner-gated or sibling — 627 T4 owner-adjacent (in-issue), 625 ND1/ND2 owner, reflex-site 007 T5 owner commitment, refine 146/147 sibling lane, 089/102/133/139/140 trigger-gated untriggered, dapps 112 owner tag, katgpt-rs 917 blocked-on-train-437; clean-behind riir-infer FF'd fe75497 (sibling 013-T4 lane — its doc notes deferred to that session) + katgpt-rs ff'd 618d7ec71 (fitted_value_table.rs only, zero overlap with the sibling's 5 dirty src files))
3 doc gaps fixed: neuron-db README raw_wake_ring feature row (the 626/627 arc + Benches 500/501 landed README-silent) · refine AGENTS stale arc-swap fork-row claim (dropped 10-03 fd9aead7/fa904dde7 — prose still asserted it stays) · reflexer HISTORY vessel-mint genesis row (vmint-keygen + stub worker + GENESIS.md keys, e81d66d+d29de0b+4b40003 record-silent); THE UNIT'S REAL WORK: workspace linkcheck 167→0 — the 10-01 riir-clippy→riir-refine rename left 95 inbound links stale across 7 repos, the 10-03 rethink split moved ~25 targets (moat/ arsenal proposal, benches 039-041 stayed instinct-side), + depth classes + removed-issue delinks (898/914/106/571/55/56/64/30); 15 commits across 15 repos via link_fix R1/R2/R3 + hand fixes; lesson: pre-translating finding targets breaks the tool's line anchor — sed the files first, re-run linkcheck, then fix
delta unit #3 (M3 idle ~23:1x +07, overflow-handoff continuation; riir-refine ff'd +3 → 141c6109 — the live batch session's Batch 198 PrismML few-row landing, all four commits self-doc'd by construction: .research/231 + .plans/196 + AGENTS kernel_opt 734→739 / rust_perf 167→168 re-pins + README + .distill snapshot + domain docs; session LIVE per Protocol A — progress notes deferred to it, never written by another session; sibling-hot untouched: seal-game-editor map-tab build, surveying-sibling grammar-tests lane; boundary-guard 164th row committed alongside)
CLEAN — 0 gaps in riir-refine; no other repo deltas this window (all 0/0 synced except sibling worktrees left as-found)
katgpt-rs (this commit)
2026-10-01
delta unit #2 (M3 idle ~18:5x +07, post-handoff; all repos fetched — every landing since the 07:2x baseline is the Plan-192/Proposal-018 rename wave carrying per-repo docs companions, perf-lane self-docs (ai 1004, infer 032/998/1004, instinct 017/035, reflex 057/058), dapps owner-ask HISTORY rows, or mechanical chores; riir-train read-only per routing restriction — its 9 landings all docs-companioned; sibling-hot untouched: refine Batch-197 + driver wiring, reflex-site edits, ai perf lane live at 18:14)
CLEAN — 0 gaps; game-sdk a3a82b5 (backstab e2e) verified covered cross-repo via ai-1020 status + Plan 617 5.3; run log 57.3KB < 60KB no prune
katgpt-rs (this commit)
2026-10-01
delta unit (M3 idle ~07:2x +07, handoff carry-over observation; 32 repos fetched in-sync except riir-infer behind-1 sibling-owned (dq614 matrix in flight) + reflex 058 sibling-claimed per partition rule)
katgpt-rs "894+ window under-documented" observation REFUTED — every closed issue 894..912 has a HISTORY row (the top newest-first section, lines 4–248; the prior session's tail-read mistook file position for coverage). REAL defect found instead: the 912 row had been appended MID-ENTRY inside Issue 893's body (between its intro and its task bullets) and at file-end against the newest-first shape — relocated to the top, 893's entry re-joined
katgpt-rs (this commit)
2026-09-30
delta unit #2 (M3, post-C1-handoff continuation; 26 repos fetched/synced, instinct+train behind-1 FF'd — the sibling's 426-T4 4090 cross-check bench 030 + the C2 sibling's untracked 602/surrogate files in train, both in-flight deferred; the prior unit's "picked up NEXT: reflex 055" thread landed CLOSED by a later session — 055 null + 056 spun+closed, HISTORY-only)
3 gaps fixed: reflex AGENTS gained the 055/056 arc (mc_ensemble opt-in + --mc-ab + the --gate-fit-calibrated DEFAULT posture, Benches 092–095 + katgpt-rs 909-911) · instinct AGENTS gained the 014 C1 row (Bench 029 encoder lane serve:✗ live, the T8 width-guard regression fix) + 008's typed board refreshed to the SERVED H2 0.6475 (0.6300/+5.8/−14.1 → +7.5/−12.4, site-verified) · katgpt-rs §113 sigmoid_calibration gained the 909/910/911 solver-repair record; DEFERRED: riir-ai 326e720f8 (045-arc half-landed, seal-remake sibling re-running) + mmorpg soak boot #3 (issue 1002 in-flight); run log 55.3KB < 60KB no prune
2 gaps fixed: riir-ai deltanet showcase gained the f32 CPU-reference row (Bench 961 NOT-PROMOTED verdict — the landed negative was showcase-silent, GPU rows only) + sdk vessel_pipeline A2 basis-gate row resolved-by-retirement (D11 0df869d, was still listed open)
ai c43b5ebb2 · game-sdk 22948a1
TL;DR
Diff git history against the last docs: commit. For each landed plan/issue,
write the matching README/docs entry using the repo's existing shape and the
verdict from its benchmark file. Commit with docs: prefix on the working
branch. Never upgrade a verdict without proof; never delete a negative result.
Doc Sync next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Research workflow for distilling ML/AI papers into modelless inference primitives, freeze/thaw runtime patterns, latent-space operations, AND model-based training plans across the multi-repo stack.
Synchronize each repo's .docs/ and README.md with recently succeeded plans/issues/benchmarks by diffing git history against the last documented entry. Doc Sync is an agent skill from katopz/katgpt-rs.md with recently succeeded plans/issues/benchmarks by diffing git history against the last documented entry.
When should I use Doc Sync?
Doc Sync fits situations like: tasks that involve Git workflow; tasks that involve Technical documentation.
How do I install Doc Sync in Claude Code?
Run `npx skills add katopz/katgpt-rs --skill doc-sync -a claude-code`. Or copy the skill folder (.agents/skills/doc-sync in katopz/katgpt-rs) into .claude/skills/doc-sync in your project. Claude Code loads it when a task matches its description.
How do I install Doc Sync in Codex?
Run `npx skills add katopz/katgpt-rs --skill doc-sync -a codex`. Or copy the skill folder (.agents/skills/doc-sync in katopz/katgpt-rs) into .agents/skills/doc-sync in your project. Codex loads it when a task matches its description.
Can I use Doc Sync in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add katopz/katgpt-rs --skill doc-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/doc-sync, .gemini/skills/doc-sync, .github/skills/doc-sync and .opencode/skills/doc-sync in your project.
What does Doc Sync need to run?
Going by SKILL.md and its folder, Doc Sync needs Python for the scripts in its folder and the command-line tools its instructions call (git, python3 and cargo). Our summary lists: Python 3.
Does Doc Sync access the network?
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Is Doc Sync safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
What licence does Doc Sync use?
Doc Sync is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Doc Sync use?
About 14k tokens (SKILL.md is roughly 58k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to Doc Sync?
Skills that share tags, products or a category with Doc Sync: Doc Maintenance (paperclipai/paperclip, 99k stars), Update Docs (ArcReel/ArcReel, 5.4k stars), Docs Update from Diff (QwenLM/qwen-code, 28k stars) and Facade YARD Documentation Rules (ruby-git/ruby-git, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Doc Sync?
katopz (a GitHub user) maintains it in katopz/katgpt-rs, which has 135 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 8, 2026.
Source: katopz/katgpt-rs on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.