Skip to content

Lint

The /lint skill has two modes. The default mode runs 8 health checks against your wiki and outputs a severity-grouped report. The --artifacts mode walks generated artifacts and flags any whose source pages have drifted since generation.

# Wiki health check
/lint --vault my-research
/lint --vault my-research --fix
# Artifact drift detection
/lint --vault my-research --artifacts
/lint --vault my-research --artifacts --verify
FlagDescription
--vault <name>Target vault
--fixAuto-fix what’s fixable (missing frontmatter, stubs, domain tags, index)
--artifactsRun artifact drift-detection mode instead of wiki checks
--verify(With --artifacts) chain into /verify-artifact for each flagged artifact
#CheckSeverityAuto-fixable
1Frontmatter completeness — title, dates, page-type, domain, sources, relatedCriticalYes
2Orphan pages — no inbound links from any other pageWarningNo
3Broken wikilinks[[target]] references where target doesn’t existCriticalYes (creates stubs)
4Missing source links — pages without sources frontmatter or ## Sources sectionCriticalYes
5Missing domain tags — pages without the vault’s default domainWarningYes
6Concepts without pages — frequently mentioned terms that lack a concept pageInfoYes (creates stubs)
7Stale contentdate-modified significantly older than related pagesWarningNo
8Index completeness — pages missing from index, or index entries for deleted pagesWarningYes

The report is grouped by severity:

## Wiki Lint Report -- my-research
### Summary
- Total pages: 42
- Issues found: 7 (4 auto-fixable)
### Critical (broken links, missing sources)
- [[missing-page]] referenced by [[page-1]], [[page-2]] but doesn't exist
- wiki/sources/article.md has empty sources frontmatter
### Warning (orphans, missing metadata)
- wiki/entities/old-tool.md is orphaned (no inbound links)
- wiki/concepts/some-idea.md missing domain tag
### Info (suggestions)
- "machine learning" mentioned 8 times but has no concept page
- Consider ingesting more sources on <topic>

When --fix is set, lint auto-repairs:

  • Adds missing frontmatter fields with vault defaults
  • Creates stub pages for broken wikilinks
  • Adds vault default domain to pages missing it
  • Creates stub concept pages for frequently mentioned terms
  • Syncs wiki/index.md with actual pages on disk
  • Auto-commits all fixes with a summary

Lint suggests next actions based on gaps found:

  • New questions to investigate
  • Sources to ingest for thin coverage areas
  • Cross-references that should exist between pages

With --artifacts, lint skips the wiki checks and walks vaults/<name>/artifacts/**/*.meta.yaml to recompute each artifact’s source-hash against the current wiki pages. Mismatches = drift.

flowchart LR
Sidecar[[".meta.yaml sidecar<br/>(source-hash, generated-from)"]]:::source
Wiki[["current wiki/**"]]:::source
Hash["source-hash helper<br/>(recompute)"]:::engine
Cmp["compare old vs new hash"]:::engine
Drift[["Drifted / Orphaned / In sync<br/>+ drift-age (git commits)"]]:::output
Verify["/verify-artifact --from<br/>(if --verify)"]:::engine
Score[["fidelity report<br/>per flagged artifact"]]:::output
Sidecar --> Cmp
Wiki --> Hash --> Cmp
Cmp --> Drift
Drift -.-> Verify -.-> Score
classDef source fill:#e0af40,stroke:#8a6d1a,color:#1a1a1a
classDef engine fill:#5bbcd6,stroke:#2e6c7c,color:#0b0f14
classDef output fill:#7dcea0,stroke:#2d6a4f,color:#0b0f14
BucketMeaning
DriftedHash changed since generation. Old hash, new hash, drift age (commits on source pages since generated-at) are reported
OrphanedAt least one source page no longer exists (deleted or moved)
In syncHash still matches — artifact is up to date

/lint --artifacts is the cheap filter; /verify-artifact is the expensive check. Use them together.

Aspect/lint --artifacts/verify-artifact
CostO(ms) per artifact (one hash recompute)O(s–min) per artifact (regenerate + re-ingest + score)
ScopeAll artifacts in a vaultOne artifact
Answers”Has anything drifted?""How faithful is this artifact?”
CI fitFast pre-check on every pushNightly, or on flagged only

--verify chains them: lint runs first to surface drift, then automatically calls /verify-artifact --from <path> on each drifted artifact and appends a Verification Results section. Use this when you want the full picture in one run.

CodeMeaning
0No drift, or drift reported without --verify
1Drift + --verify and at least one verification fell below its target
2+Infrastructure error (unreadable sidecar, missing source-hash helper, etc.)

This makes /lint --artifacts --verify CI-usable against the golden corpus.