Files
command-center/agent/managed-skills/okf-small-bundle-docs-audit/SKILL.md
T

2.8 KiB

name, description
name description
okf-small-bundle-docs-audit Audit + dedupe a small repo's docs bundle for OKF conformance when the kb-lint/kb-coverage toolchain does not exist: inline conformance and link-audit scripts, owner-per-fact cuts, index trio, one log.

OKF docs audit for a small repo bundle (no kb-lint toolchain)

Use for a repo whose KB is one docs directory (e.g. dankvoice → dankvoice-docs/), where scripts/kb-lint.sh / kb-coverage.py do not exist. For the big dank/command-center campaign see skill docs-dedupe-verify-campaign; same frame, no scouts — a corpus under ~1500 lines gets read fully yourself (scouts lie).

Frame

  • OKF spec lives at ~/.omp/omp-docs/references/okf-spec.md (the command-center deploy checkout). v0.1 conformance = every non-reserved .md has parseable frontmatter with non-empty type; index.md = listing with NO frontmatter; log.md reserved, exactly one, bundle root.
  • Branch off origin/main in a fresh worktree; docs-only + src-comment changes still need the repo's normal gate.

Procedure

  1. Inventory wc -l every page; read all fully. Ledger per fact: which page OWNS it (laws page owns laws, decisions own rationale, contributing owns process, README owns user-facing, GLOSSARY owns terms). Everything else becomes a pointer.
  2. Hunt the rot classes that repeat: dead test citations (name in docs not in grep -c tests/ — verify with git log --all -S), hand-maintained censuses (test counts, scenario lists) — replace with a pointer to the authoritative source, never refresh the copy; deleted doc lines for live env vars (compare git show <fixed>:file | grep -c VAR vs HEAD); sections contradicting the page's own head; open items already resolved in live state (check the live settings file, not the doc).
  3. Frontmatter: type + one-line description + tags + timestamp. On edit-rejection the tool prints the file's current #TAG — reissue with it, no re-read needed.
  4. Conformance check (inline python): walk bundle dirs, regex ^---\n(.*?)\n--- then ^type: \S on each non-reserved .md.
  5. Link audit (inline python): per md file, \]\(([^)#]+); skip http; os.path.normpath(join(dirname, target)) must exist. Report N checked / ALL RESOLVE.
  6. Create index.md at bundle root + each subdir (listing, no frontmatter, relative links) and log.md at the bundle root seeded with laws/incidents only.

Gotchas

  • Src docstring fixes are artifact-free only if the bundler strips comments — prove with bun run build; cmp dist/... old before claiming no rebuild needed.
  • README must NOT enumerate design records; point at decisions/index.md so new records need no README edit.
  • Mark superseded decision records in their frontmatter description ("its X design is superseded by the Y record") — never rewrite history bodies.