- Add knowledge/wiki/hosts/index.md (the one missing section index) and point knowledge/index.md at it. - Add .agents/skills/docs-lint/ (SKILL.md + lint.py) enforcing the mechanical parts of writing-style.md: banned vocabulary and broken relative links. The style guide and this skill are exempt from the banned-word check since they enumerate the list. - Record the restructure + lint in knowledge/log.md. Verification: banned-vocabulary scan of knowledge/ is clean (the few remaining repo-wide hits are false positives — the literal '_' character — or historical append-only plans quoting the vocabulary, which the standard does not restyle). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.0 KiB
1.0 KiB
name, risk_class, inputs, verification, docs_update_checklist
| name | risk_class | inputs | verification | docs_update_checklist | |
|---|---|---|---|---|---|
| docs-lint | read_only |
|
python3 .agents/skills/docs-lint/lint.py |
Docs lint
Check committed documentation against the mechanical rules in writing-style.md: banned vocabulary and broken relative markdown links. Prose-voice rules are not machine-checkable — those stay a review responsibility.
Run from the repo root:
python3 .agents/skills/docs-lint/lint.py # default: knowledge/ .agents/ operations/ investigations/ plans/
python3 .agents/skills/docs-lint/lint.py knowledge/wiki/containers/104-gitea.md
Exit code is non-zero when any violation is found, so it can gate a commit. The banned-vocabulary
list mirrors writing-style.md; update both together if the standard changes.
Known baseline. The lab carries pre-existing broken links to destroyed/archived nodes (e.g.
124-authentik.md, now106-auth-outpost). Clean those opportunistically; do not treat the current count as a regression from this skill.