Audit the world for contradictions, timeline gaps, broken links, missing data, one-sided relationships, and logical inconsistencies.
Comprehensive audit of the world for structural, relational, temporal, and logical consistency.
WB="_meta/.wb-venv/Scripts/python .claude/skills/world-builder/_lib/wb.py"
On non-Windows systems, use _meta/.wb-venv/bin/python instead.
Detect the vault root (the directory containing _meta/).
Run the built-in validator:
$WB --vault <vault_root> --pretty validate
This checks each entity for:
Collect all reported issues.
Verify all three data stores (SQLite, NetworkX graph, ChromaDB vectors) agree:
$WB --vault <vault_root> --pretty sync --verify
If inconsistencies are found, note which entities are missing from which stores.
Use the Grep tool to find all wikilinks across entity files:
Pattern: \[\[([^\]]+)\]\]
Path: <vault_root>
Glob: **/*.md (excluding _meta/ and _templates/)
For each unique wikilink target found, check if a corresponding .md file exists using Glob:
Pattern: **/<Target Name>.md
Report any wikilinks that do not resolve to an existing file. Categorize as:
For each entity with relationships, verify the inverse exists:
$WB --vault <vault_root> --pretty queryrelationships from frontmatter{target: "[[B]]", type: "allied-with"} on entity A:
Known inverse pairs:
allied-with <-> allied-with
enemy-of <-> enemy-of
rival-of <-> rival-of
leader-of <-> member-of
parent-of <-> child-of
mentor-of <-> student-of
ruler-of <-> subject-of
founded-by <-> founder-of
trade-partner <-> trade-partner
Report one-sided relationships.
To fix all one-sided relationships in bulk, use:
$WB --vault <vault_root> --pretty ensure-inverses --all
Review the output, then apply:
$WB --vault <vault_root> --pretty ensure-inverses --all --apply
For each person entity:
born and died are set, verify no timeline entries fall outside that rangeparticipant in events dated outside their lifespanFor each event entity:
participants are listed, verify those people were alive at the event's datelocation is set, verify the place existed at that timeRead _meta/calendar.md for era definitions to correctly interpret era-qualified periods.
For entities referencing places:
residence, birthplace, location, headquarters, territory fields should point to existing place entitiesparent fields in places should form a valid tree (no cycles, no orphaned references)$WB --vault <vault_root> --pretty spatial "<place_name>"
Run for a sample of places to check hierarchy validity.
Read a sample of entity files and check for narrative contradictions:
This step requires reading entity content and reasoning about it. Focus on entities that have the most relationships and timeline entries, as they are most likely to contain contradictions.
Organize all issues by severity:
Critical (data integrity):
Important (narrative integrity):
Minor (polish):
For each issue, show:
Check _meta/wb-config.md for autonomy mode:
_meta/changelog.md.After applying fixes:
$WB --vault <vault_root> --pretty sync --full
This skill requires all stores for cross-validation:
validate, sync --verify): Structural validation and cross-store consistency checks — run these first as the baseline.query --type, query): Get full entity listings for relationship bidirectionality checks and timeline range validation.spatial): Verify spatial hierarchy integrity — no cycles, valid parent chains.[[wikilinks]] across files to check for broken links. This is a file-level operation, not a store query.