بنقرة واحدة
docs-engineering
// Project-wide document engineering, keep documents valid, in-sync, up-to-date.
// Project-wide document engineering, keep documents valid, in-sync, up-to-date.
Cut a versioned release for this Rust project. Analyzes conventional commits since the last tag, determines the correct semantic version bump, updates Cargo.toml and CHANGELOG.md, creates a release commit and tag, publishes a GitHub release, and pushes everything. Use this skill whenever the user asks to "cut a release", "release a new version", "publish a release", "tag a release", or similar.
Perform a project-wide code review covering security, correctness, code quality, documentation, UI/UX, and style.
Read and import AGENTS.md into the current session context. Use this skill when the user says "start agents", "load agents", "import AGENTS.md", "read AGENTS.md", or wants to apply agent instructions from an AGENTS.md file.
Commit and push changes to Git, grouped by topic. Use this skill whenever the user asks to "commit and push", "push my changes", "save and push", "git commit and push", or wants to stage/commit/push any set of changes — especially when there are multiple unrelated changes that should be organized into separate topical commits before pushing.
| name | docs-engineering |
| description | Project-wide document engineering, keep documents valid, in-sync, up-to-date. |
Audit and repair project documentation so it accurately reflects the current state of the code. This skill covers validity (broken links, stale examples), sync (docs match the implementation), and completeness (new features are documented).
Find all documentation files in the project (excluding vendored deps):
find . -name "*.md" ! -path "./vendor/*" ! -path "./target/*"
Also check config and schema files that double as documentation:
find . -name "*.toml" ! -path "./vendor/*" ! -path "./target/*" -not -name "Cargo.lock"
Before auditing docs, understand what the code actually exposes. For this Rust project:
Commands and CLI flags — read the clap struct definitions:
grep -r "struct.*Args\|#\[command\]\|#\[arg\]" src/ --include="*.rs" -l
Config keys — read the config structs:
grep -r "struct.*Config\|#\[serde" src/ --include="*.rs" -A 3
Public API surface — read src/main.rs and submodules.
Read the actual source files; do not guess from the docs what the code does.
For each document, check:
Compare every flag listed in the docs against the actual clap definitions in source. For each discrepancy:
Compare every key in the shio.toml reference block against the config structs in src/. For each discrepancy:
For each shell command block in docs, verify it would actually work:
cargo install produces./bin/llama-server are consistent throughoutCheck all relative markdown links ([text](path)):
grep -o '\[.*\]([^)]*\.md[^)]*)' README.md
Verify each linked file exists. Fix or remove broken links.
Spot-check external links (GitHub repos, official docs). Flag any that look stale or wrong — do not auto-fix external URLs without confirming with the user.
Make the minimum edits needed to make docs accurate:
For any doc/TODO.md (or equivalent task-tracking document) in the project:
Cross-reference each task/step against the actual code on disk and git history. A task is done if:
git log shows a commit that implemented itMark done tasks by prefixing the heading with [x]:
### [x] A1 — Add mRuby git submodule
When all steps in a phase are done, replace the entire phase section (which may contain multi-screen code listings and prose) with a compact summary block:
## Phase A — Infrastructure ✓ DONE
**Files created:** `build.rs`, `mruby_configs/shio.rb`, `mruby_configs/mcp_safe.gembox`,
`src/ruby/{ffi.rs, glue.c, native.rs, prelude.rb, vm.rs, registry.rs, mod.rs}`
**Key decisions recorded:**
- mRuby pinned to commit `a309524d0` (same as rrcad)
- gembox: `stdlib` + `math` + `mruby-compiler` only (security boundary)
- `#![allow(dead_code)]` on Phase A stubs — removed in Phase B when used
**Verified:** `cargo build` ✓ · 320 tests pass ✓ · `clippy -D warnings` ✓ · `cargo fmt` ✓
Keep the summary tight: one sentence per key decision, one line for files created, one line for verification status. Drop all code listings — they're in git.
Once a task or phase has been fully summarized (per 5b), delete the completed entries from
doc/TODO.md to keep the file focused on remaining work. If a completed item contains useful
reference information (key decisions, gotchas, API notes), move that content to
doc/reference_manual.md before removing it from TODO.md.
Do not modify any phase that is not yet started or only partially done. Only summarize when the entire phase (every numbered step) is verifiably complete.
The shio.toml in the repo root is an example config. Cross-check it against src/config.rs (or equivalent): every key present in the file must be a recognized field. Update the example file if needed.
system_prompt ↔ DEFAULT_SYSTEM_PROMPTshio.toml [chat].system_prompt must be kept word-for-word in sync with DEFAULT_SYSTEM_PROMPT in src/chat.rs. They serve the same role: shio.toml is the editable copy users customise; the Rust constant is the compile-time fallback used when no config file is present.
DEFAULT_SYSTEM_PROMPT from src/chat.rs.system_prompt from shio.toml.shio.toml to match src/chat.rs (the Rust source is authoritative).""" strings use \ as a line-ending escape (same as Rust), so the formatting translates directly.After completing repairs, give the user a concise summary:
Docs audit complete.
Fixed:
- README.md: removed --flash-attn flag (renamed to --flash-attention in v0.x)
- README.md: added --system-prompt option to `serve` and `chat` sections
- shio.toml: corrected cache_type_k default from "q4_0" to "f16"
No issues:
- Internal links: all valid
- Command examples: all match current CLI
Skipped (needs confirmation):
- [External URL] https://... — looks potentially stale, please verify
Do:
Do not:
vendor/ documentation