plugins/research/skills/research-lint/SKILL.md
Run the research corpus lint ruleset to detect structural and referential integrity issues — orphan notes, missing frontmatter, broken references, missing GRADE assessments.
npx skillsauth add jmagly/aiwg research-lintInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Run the research corpus lint ruleset against .aiwg/research/ to detect structural and referential integrity issues.
/research-lint[target] (optional)Path to lint. Defaults to .aiwg/research/.
--fix (optional)Attempt auto-fixes for fixable issues (add missing frontmatter defaults, correct formatting).
--format (optional)Output format: full (default), summary, or json.
--ci (optional)CI mode — exit code reflects pass/fail.
--fail-on (optional)Severity threshold for failure: error (default), warn, or info.
Execute the lint runner against the research corpus:
aiwg lint .aiwg/research/ --ruleset research --format full
This checks all 11 rules in the research ruleset:
| Rule | Severity | What it checks |
|------|----------|---------------|
| ref-frontmatter | error | Required frontmatter fields present |
| ref-id-unique | error | No duplicate REF-XXX identifiers |
| ref-id-format | warn | REF identifiers follow REF-NNN naming |
| citation-resolves | error | REF-XXX references point to existing notes |
| grade-present | warn | GRADE quality assessment in frontmatter |
| provenance-present | warn | Provenance metadata present |
| cross-ref-bidirectional | info | Related refs linked both ways |
| orphan-detection | info | Notes with no inbound references |
| frontmatter-date-format | warn | Dates follow ISO 8601 |
| source-file-exists | error | Referenced source files exist |
Display the results grouped by file with severity indicators:
When --fix is specified, attempt automatic corrections:
status: pendingdocumented_date: <today>tags: []grade_rating: null placeholderWrite corrections in place and re-run lint to verify fixes.
| Component | Relationship |
|-----------|-------------|
| aiwg lint | Underlying CLI command this skill wraps |
| corpus-health | Lint results feed into health scoring |
| induct-research | Post-induction hook can trigger lint on new notes |
| ralph loops | Lint pass as completion gate |
| CI/CD | aiwg lint --ci --ruleset research --fail-on error |
# Full corpus lint
/research-lint
# Quick summary
/research-lint --format summary
# CI mode (exit code)
/research-lint --ci --fail-on warn
# Lint specific directory
/research-lint .aiwg/research/findings/
# Auto-fix what's fixable
/research-lint --fix
# JSON output for programmatic use
/research-lint --format json
data-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.