/check
SkillDocs & knowledgeScan the full wiki to detect health issues and produce a tiered fix-recommendation report (covers all entity types in runtime/schema/entities.yaml + graph consistency)
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the /check skill
What this skill tells your AI
The instructions your AI receives, as published by skyllwt/autosci in .claude/skills/check/SKILL.md and read by ahel’s review.
Scans the full wiki to detect structural, link, field, and graph health issues, and generates a tiered fix-recommendation report. Covers every entity type declared in
runtime/schema/entities.yaml(papers, concepts, topics, people, ideas, experiments, methods, Summary, foundations), plus graph edge / citation consistency. Highlights include: idea novelty-score plausibility, idea failure-reason completeness, experimentlinked_ideavalidity.
Inputs
- Full wiki directory (default
wiki/) - Optional:
--jsonflag (output JSON format viatools/lint.py) - Optional:
--fixflag (auto-fix deterministic issues) - Optional:
--fix --dry-run(preview fixes without applying them) - Optional:
--suggestflag (show recommendations for issues that cannot be auto-fixed)
Outputs
- Lint report (reported directly to the user)
- Optional file write:
wiki/outputs/lint-report-{date}.md
Wiki Interaction
Reads
wiki/papers/*.md— paper page fields and linkswiki/concepts/*.md— concept page fields and linkswiki/topics/*.md— topic page fields and linkswiki/people/*.md— people page fields and linkswiki/ideas/*.md— idea status, novelty_score, failure_reason, origin_gaps, target_venuewiki/experiments/*.md— experiment status, linked_idea, outcomewiki/methods/*.md— method type, source_papers, parent/child chainswiki/Summary/*.md— survey page fieldswiki/foundations/*.md— foundations (terminal — incoming-link checks only)wiki/graph/edges.jsonl— semantic graph edge consistency checkwiki/graph/citations.jsonl— bibliographic citation consistency checkwiki/index.md— cross-check page completeness
Writes
- Does not directly modify wiki content (reports only, unless
--fixis set) wiki/log.md— records lint result summary viatools/research_wiki.py log
Workflow
Pre-conditions: confirm the working directory is the wiki project root (directory containing wiki/, raw/, tools/).
Set WIKI_ROOT=wiki/.
Step 1: Run the Automated Lint Tool
Default mode (report only):
python3 tools/lint.py --wiki-dir wiki/ --json
Auto-fix mode (when user specifies --fix):
python3 tools/lint.py --wiki-dir wiki/ --fix --json
Auto-fixes deterministic issues (xref reverse-link completion, missing fields filled with default values) and outputs a fix report.
Preview mode (when user specifies --fix --dry-run):
python3 tools/lint.py --wiki-dir wiki/ --fix --dry-run --json
Previews what would be fixed without applying any changes.
Parse the JSON output to obtain all automatically detected issues (and fix results).
Step 2: Structural Completeness (automated coverage)
The automated tool checks:
- Broken wikilinks:
[[slug]]target file does not exist - Orphan pages: pages with no incoming links
- Missing required fields (per entity declared in
runtime/schema/entities.yaml). Authoritative source:runtime.loader.REQUIRED_FIELDS. Current set:- papers: title, slug, tags, importance
- concepts: title, tags, maturity, key_papers
- topics: title, tags
- people: name
- methods: name, slug, type, tags
- Summary: title, scope, key_topics
- ideas: title, slug, status, origin, tags, priority
- experiments: title, slug, status, linked_idea, hypothesis, tags
- foundations: title, slug, domain, status
Step 3: Field Value Validation (automated coverage)
- Enum value checks (sourced from
runtime.loader.VALID_VALUES):- papers.importance ∈ {1,2,3,4,5}
- concepts.maturity ∈ {stable, active, emerging, deprecated}
- ideas.status ∈ {proposed, in_progress, tested, validated, failed}
- ideas.priority ∈ {1,2,3,4,5}
- experiments.status ∈ {planned, running, completed, abandoned}
- experiments.outcome ∈ {succeeded, failed, inconclusive}
- methods.type ∈ {architecture, training, inference, evaluation, data, benchmark, system, optimization, prompting, protocol, other}
- foundations.status ∈ {mainstream, historical}
- Idea novelty_score (when present) ∈ [1, 5] (integer)
- Idea failure_reason: must be non-empty when status=failed (anti-repetition memory)
- Experiment linked_idea: the referenced idea page must exist
Step 4: Cross Reference Symmetry (automated coverage)
Check all bidirectional link rules defined in runtime/schema/xref.yaml:
| Forward link | Reverse link checked |
|---|---|
papers ## Related → concepts | concepts.key_papers contains paper slug |
papers wikilink → people | people ## Recent work contains paper slug |
topics.key_people → people | people ## Research areas contains topic slug |
concepts.key_papers → papers | papers ## Related contains concept slug |
ideas.origin_gaps → concepts | concepts.linked_ideas contains idea slug |
ideas.origin_gaps → topics | topics.linked_ideas contains idea slug |
experiments.linked_idea → ideas | ideas.linked_experiments contains experiment slug |
methods.source_papers → papers | papers ## Related contains method slug |
methods.parent_methods ↔ methods.child_methods | reciprocity |
Step 5: Graph Edge Consistency (automated coverage)
- JSON format validity: every line is valid JSON
- Required fields: each edge has from, to, type
- Edge type validity: semantic edges use the current endpoint-aware type sets; legacy paper-paper / paper-concept types produce migration warnings
- Edge confidence:
/ingestpaper-paper and paper-concept semantic edges useconfidence: high|medium|low - Citation layer:
graph/citations.jsonlrows usetype: cites, valid source/date, paper endpoints, and no confidence field - Dangling nodes: wiki pages referenced by from/to must exist
Step 6: Content Quality (LLM-assisted)
Items detectable by the automated tool:
- Papers with importance=5 have no concept page referencing them
- Concepts with maturity=stable have only 1 key_paper
- Topics have empty
## Open problemssections (also flag empty### Known gaps/### Methodological gapssubsections)
Additional LLM judgments (require reading content):
- Concept near-duplicate detection: scan all concept page titles + aliases and assess whether any pairs are semantically identical or highly similar (e.g. "attention mechanism" and "self-attention"). Output merge recommendations for suspected duplicates.
- Method near-duplicate detection: same exercise across
wiki/methods/*.md, comparingname+tags+## Mechanismsummaries. - Contradictory statement detection (inconsistent descriptions of the same fact across different pages)
- SOTA records not updated in over 6 months
- People
## Recent worknot updated in over 6 months - Idea novelty_score inconsistent with the strength of its
## Novelty argument(low score + bold argument, or high score + thin argument) - High-priority idea stuck in proposed status for a long time without
linked_experiments
Step 7: Generate Report
Output sorted by priority:
## Lint Report — YYYY-MM-DD
**Summary**: N 🔴, M 🟡, K 🔵
### 🔴 Fix Immediately
1. [file] — {issue description}
### 🟡 Recommended Fixes
1. [file] — {issue description}
### 🔵 Optional Improvements
1. [file] — {issue description}
Classification:
- 🔴 Fix Immediately: broken links, missing required fields, invalid enum values, failed idea without failure_reason, invalid JSON in edges, novelty_score out of range
- 🟡 Recommended Fixes: xref asymmetry, dangling graph edges, broken
linked_ideareferences, unknown edge types - 🔵 Optional Improvements: orphan pages, quality suggestions, empty sections
Append log:
python3 tools/research_wiki.py log wiki/ "check | report: N 🔴, M 🟡, K 🔵"
Constraints
- Report-only by default: without
--fix, only reports, no modifications --fixonly repairs deterministic issues: xref reverse-link completion, missing fields filled with safe default values. Non-deterministic issues output recommendations (--suggest) for user approval- raw/ is read-only: do not modify files under
raw/ - graph/ is read-only: lint does not modify graph files, checks consistency only
- LLM judgments labeled by source: automated checks and LLM judgments are clearly distinguished in the report
- Idempotent: running multiple times produces the same result (unless wiki content changes)
Error Handling
- wiki/ does not exist: report error and suggest running
/init - graph files do not exist: skip the missing graph-file checks, note in report
- Partial directory missing: skip checks for missing directories, list missing directories in report
Dependencies
Tools(via Bash)
python3 tools/lint.py --wiki-dir wiki/ [--json] [--fix] [--dry-run] [--suggest]— automated structural check + fix (core dependency)python3 tools/research_wiki.py log wiki/ "<message>"— append logpython3 tools/research_wiki.py stats wiki/— get statistics (optional, for the report)
Signals
- GitHub stars
- 2k
- Forks
- 210
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
check-skyllwt- Source
- github.com/skyllwt/autosci