docs-lint
Skill7 starsChanged 2 months agoMITView on GitHub
Cross-tool lint pass guarding the wiring between AKSK and its adopted tools - routing-block integrity in root instruction files, archived-change/wiki coverage pairing, stale curated knowledge pages, plus duplication, contradiction, broken-link, and path-hygiene checks across `.agents/` and `openwiki/`. Use as a periodic maintenance pass.
In this repository8 other files it gives its agents.
- .agents/AGENTS.mdAGENTS.md
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- aksk-bootstrapSkill
- aksk-initSkill
- learning-distillSkill
- task-closeoutSkill
- verify-installSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Keep the AKSK/OpenWiki knowledge wiring coherent: routing blocks intact, archived changes covered, curated pages truthful.
- Very specific: line 23
Ensure the shared scaffold via learning-distill initialization when that skill is present.
- Very specific: line 45
Path hygiene: search for doubled .agents/.agents segments under .agents/, README.md, INSTALL.md, docs/
- Distinctive: line 53
Prefer reclassification and compression over adding text.
- Distinctive: line 54
Do not modify source code.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Docs Lint
Goal
Keep the AKSK/OpenWiki knowledge wiring coherent: routing blocks intact, archived changes covered, curated pages truthful.
Machine-oriented scope: CONTRACT.md.
Inputs
- Root instruction files (
AGENTS.md,CLAUDE.md,GEMINI.mdwhen present) - marker blocks .agents/AGENTS.md,.agents/playbooks/openwiki/INSTRUCTIONS.md, curated trees underopenwiki/openspec/changes/archive/(for coverage pairing)
Skill initialization
Ensure the shared scaffold via learning-distill initialization when that skill is present; this skill owns no bootstrap templates. No .agents/docs/ scaffold exists anymore - durable knowledge lives in the wiki.
Checks
Wiring checks (fail the pass)
- Routing-block integrity — In every root instruction file present, verify each managed block is intact and its targets exist:
AKSK:AGENTS-BASELINE(FerroxLabs baseline): exactly one block whenAGENTS.mdwas seeded; contains provenance header (source URL, capture date, MIT notice, refresh pointer). Flag missing or damaged block; refresh vianode .agents/skills/aksk-bootstrap/scripts/init_agents_md.mjs --replaceorrefresh_agents_baseline.mjsfor staleness (agent comparesCaptured: YYYY-MM-DD>6 months old; no dedicated lint script — userefresh_agents_baseline.mjs --checkto validate).- each
AKSK:*block (ROUTING,LIFECYCLE): exactly one of each; targets named inside must exist. Refresh stale blocks withnode aksk-bootstrap/scripts/attach_section.mjs <root> <target> <template>. <!-- OPENWIKI:START/END -->: never hand-edit; verify presence only; zoned order must be baseline → OpenWiki → AKSK.
- Wiki contract present —
openwiki/INSTRUCTIONS.mdcarries theAKSK:WIKI-CONTRACTmarkers; refresh withattach_wiki_contract.mjsif its template changed. - Archived-change/wiki coverage pairing — For each change under
openspec/changes/archive/, descriptive outcomes must appear inopenwiki/or be covered by a recorded deferral. Report uncovered archived changes. A deferral recorded on the change's summary page exempts it. - Stale curated knowledge — Pages under
openwiki/{decisions,troubleshooting}/whose claims conflict with repository reality: references to retired skills,aksk_status: acceptedon pages whose successor exists (aksk_superseded_byset), or deadaksk_depends_ontargets. Flag with the superseding source.
Content checks (report, suggest)
- duplication and contradictions between
.agents/AGENTS.md, playbooks, and knowledge pages - inlined adopt-the-kit prose in
docs/integrations/: flag any product page whose Setup step 1 inlines the canonical sentence instead of linking[Adopting the kit](./patterns.md#adopting-the-kit)— grepInstall starter skills in the target repo withmust return hits only indocs/integrations/patterns.md, never in a product page - oversized AGENTS sections
- broken relative links within
.agents/andopenwiki/ - frontmatter contract of knowledge pages: filename stem unique per tree; decision pages carry
aksk_status; validate againstlearning-distill/references/*.schema.json - troubleshooting entries that should be playbooks; decision pages that should compress into AGENTS guidance
- Path hygiene: search for doubled
.agents/.agentssegments under.agents/,README.md,INSTALL.md,docs/
Output
A lint report plus optional minimal edits. Do not modify OpenWiki-owned files; propose rerunning sync_wiki_indexes.mjs for index drift instead of failing.
Constraints
- Prefer reclassification and compression over adding text.
- Do not modify source code; do not delete knowledge without explicit justification.
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
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.

