Aiwg research-lint
Run the research corpus lint ruleset to detect structural and referential integrity issues — orphan notes, missing frontmatter, broken references, missing GRADE assessments.
install
source · Clone the upstream repo
git clone https://github.com/jmagly/aiwg
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jmagly/aiwg "$T" && mkdir -p ~/.claude/skills && cp -r "$T/agentic/code/frameworks/research-complete/skills/research-lint" ~/.claude/skills/jmagly-aiwg-research-lint-433b5f && rm -rf "$T"
manifest:
agentic/code/frameworks/research-complete/skills/research-lint/SKILL.mdsource content
Research Lint
Run the research corpus lint ruleset against
.aiwg/research/ to detect structural and referential integrity issues.
Triggers
- "lint the research corpus"
- "check research integrity"
- "validate research notes"
- "sweep the corpus for issues"
- "research lint"
/research-lint
Parameters
[target]
(optional)
[target]Path to lint. Defaults to
.aiwg/research/.
--fix
(optional)
--fixAttempt auto-fixes for fixable issues (add missing frontmatter defaults, correct formatting).
--format
(optional)
--formatOutput format:
full (default), summary, or json.
--ci
(optional)
--ciCI mode — exit code reflects pass/fail.
--fail-on
(optional)
--fail-onSeverity threshold for failure:
error (default), warn, or info.
Execution Flow
Phase 1: Run Lint
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 |
|---|---|---|
| error | Required frontmatter fields present |
| error | No duplicate REF-XXX identifiers |
| warn | REF identifiers follow naming |
| error | REF-XXX references point to existing notes |
| warn | GRADE quality assessment in frontmatter |
| warn | Provenance metadata present |
| info | Related refs linked both ways |
| info | Notes with no inbound references |
| warn | Dates follow ISO 8601 |
| error | Referenced source files exist |
Phase 2: Report Results
Display the results grouped by file with severity indicators:
- Errors: must be fixed for corpus integrity
- Warnings: should be addressed for corpus quality
- Info: suggestions for improvement
Phase 3: Auto-Fix (if --fix)
When
--fix is specified, attempt automatic corrections:
- Missing frontmatter fields — Add fields with sensible defaults:
status: pendingdocumented_date: <today>tags: []
- Date format — Convert dates to ISO 8601
- Missing GRADE — Add
placeholdergrade_rating: null
Write corrections in place and re-run lint to verify fixes.
Integration Points
| Component | Relationship |
|---|---|
| Underlying CLI command this skill wraps |
| Lint results feed into health scoring |
| Post-induction hook can trigger lint on new notes |
loops | Lint pass as completion gate |
| CI/CD | |
Examples
# 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
References
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/lint/ruleset.yaml
- @$AIWG_ROOT/src/lint/cli.ts
- @$AIWG_ROOT/src/lint/runner.ts