Health-check the Roblox/Luau wiki. Scans all pages for frontmatter validity, broken wikilinks, orphans, stale stubs, stale content, bidirectional link consistency, required sections, unresolved contradictions, index drift, and uncovered raw sources. Runs periodically or on demand.
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Health-check the Roblox/Luau wiki. Scans all pages for frontmatter validity, broken wikilinks, orphans, stale stubs, stale content, bidirectional link consistency, required sections, unresolved contradictions, index drift, and uncovered raw sources. Runs periodically or on demand.
/wiki-lint โ Wiki Health Check
Delegate to: wiki-curator
Prerequisites
Wiki has been seeded (wiki/index.md exists)
wiki/SCHEMA.md exists
Workflow
1. Read the Schema
Load wiki/SCHEMA.md to know what "valid" means for each page type.
2. Enumerate All Wiki Files
find wiki/ -name "*.md" -not -path "wiki/raw/*" -type f
This gives every curated wiki page (Layer 2), excluding raw sources (Layer 1).
3. Run Each Check
For each check, collect findings into categorized buckets: Critical (blocks other operations), Error (invalid state), Warning (should fix), Info (nice to address).
Pages with status: stub are allowed to have a reduced section set: Summary + TODO + Related + Sources. No error for stubs missing other sections.
Missing required sections on non-stub pages: Error.
Check 7: Stale Stubs (Warning)
A stub is stale if:
status: stub
created > 30 days ago
Not touched by any ingest since created (check wiki/log.md)
Stale stub warning: Warning. List the stubs.
Check 8: Stale Content (Info)
A complete page is stale if:
status: complete
updated > 180 days ago
Stale content: Info. List the pages.
Check 9: Contradiction Blocks (Error)
Search all pages for โ ๏ธ Contradiction flagged blocks. Each unresolved contradiction is an Error โ needs human review.
Check 10: Missing Cross-References (Info)
For each page, scan its body text for mentions of:
Other existing pages (by title) that it doesn't link to in ## Related
Roblox class names that have their own service pages
Concepts that have their own concept pages
Suggest adding those cross-references.
Check 11: Index Drift (Critical)
Compare:
Set of pages that exist on disk (find wiki/ -name "*.md" -not -path "wiki/raw/*")
Set of pages listed in wiki/index.md
Report:
Pages on disk but not in index (โ add to index)
Pages in index but not on disk (โ remove from index or recreate the page)
Drift: Critical.
Check 12: Uncovered Raw Sources (Info)
Enumerate all files in wiki/raw/. For each, check if any wiki page's sources: frontmatter or body cites it. Raw files with zero citations in curated pages are "uncovered" โ they're candidates for /wiki-ingest.
Uncovered raw: Info. List them.
Check 13: Owner Agent Validity (Error)
For each page's owner: field, verify the owner exists in .claude/agents/:
test -f .claude/agents/<owner>.md
Invalid owner: Error.
Check 14: Empty Related Section (Warning)
Pages with an empty ## Related section (or no ## Related at all) โ warn unless the page is genuinely isolated (rare).
Check 15: Source Citation (Warning)
Pages with empty sources: frontmatter and no ## Sources section โ warn. Every page should cite at least one raw source.
4. Compile Report
Format:
# Wiki Lint Report**Date:** YYYY-MM-DD
**Pages checked:** N
**Raw sources checked:** M
## Summary- Critical: X
- Error: X
- Warning: X
- Info: X
## Critical Issues### Index Drift (X issues)-`wiki/services/FooService.md` exists but not in index
-`wiki/concepts/bar-pattern.md` is in index but file missing
### Frontmatter Validity (X issues)-`wiki/services/BazService.md`: missing `owner:` field
## Errors### Broken Wikilinks (X issues)-`wiki/concepts/session-locking.md` links to [[non-existent-page]]
- ...
### Required Sections (X issues)-`wiki/exploits/speed-hack.md` missing "Mitigation" section
- ...
### Unresolved Contradictions (X issues)-`wiki/services/DataStoreService.md` has contradiction block from 2026-04-14
### Invalid Owner (X issues)-`wiki/services/Foo.md` owner "nonexistent-agent" not in .claude/agents/
## Warnings### Orphan Pages (X)- ...
### Missing Back-links (X)- Page A โ B but B doesn't link back to A
### Stale Stubs (X)-`wiki/concepts/new-concept.md` stub since 2026-03-01 (45 days)
### Missing Cross-References (X)-`wiki/services/DataStoreService.md` mentions `[[session-locking]]` but doesn't link it
## Info### Stale Content (X)-`wiki/services/HttpService.md` last updated 2025-10-05 (190+ days)
### Uncovered Raw Sources (X)-`wiki/raw/community/articles/new-datastore-article.md` โ candidate for /wiki-ingest
## Recommendations1. Fix critical issues first (index drift, missing owners)
2. Resolve contradictions (delegate to owner agents)
3. Add missing back-links (batch-fix via /wiki-update)
4. Ingest uncovered raw sources via /wiki-ingest
5. Update stale content (review with domain owners)
## Next Steps
Run `/wiki-update <page>` to fix specific issues, or `/wiki-lint --fix` to auto-fix safe issues (back-links, cross-references, index drift) in a single pass.
5. Append to log
## [YYYY-MM-DD] lint- Pages checked: N
- Critical: X
- Errors: X
- Warnings: X
- Info: X
- Top issues: <1-3 bullets>
6. Auto-Fix Mode (Optional)
If the user runs /wiki-lint --fix, offer to automatically fix these safe issues:
Index drift โ regenerate wiki/index.md from disk state
Missing back-links โ add missing bidirectional Related links
Missing cross-references โ add wikilinks where the body mentions an existing page by name
Frontmatter updated: sync โ if a page body was modified more recently than updated: claims, update it (requires git knowledge)
Auto-fix does NOT:
Resolve contradictions
Create missing pages
Remove orphans
Change page content beyond frontmatter and Related sections
Modify raw sources
Always present the auto-fix plan before applying, and require user approval.
Anti-Patterns
โ Do not silently fix anything without user approval
โ Do not flag every possible issue โ prioritize by severity
โ Do not treat stubs as broken (stubs are first-class)
โ Do not fail if a check can't run โ skip with a warning
โ Do not edit raw sources (Layer 1 is immutable)