research-quality-audit
Audit a research corpus for shallow stubs, missing sources, and doc-depth issues. Detects docs written from abstracts rather than full papers; can dispatch expansion agents.
- License 许可
- MIT
- 所属仓库
- jmagly/aiwg
- 最近更新
- 2026-11-12
- Stars
- ★ 229
- Forks
- 36
01 前言 Front Matter
- name
- research-quality-audit
- namespace
- aiwg
- platforms
- [ "all" ]
- commandHint
- { "model": "sonnet", "category": "research-validation", "modelRole": "coding", "modelTier": "standard", "allowedTools": "Read, Write, Glob, Grep, Bash, Agent", "argumentHint": "[--range REF-XXX:YYY] [--fix] [--threshold N] [--format full|summary|json]" }
- description
- Audit a research corpus for shallow stubs, missing sources, and doc-depth issues. Detects docs written from abstracts rather than full papers; can dispatch expansion agents.
03 SKILL.md 正文
Research Quality Audit
Audit the research corpus for shallow stubs, incomplete documentation, and missing source files. Detects analysis docs written from abstracts alone (the root cause of the 88-stub incident) and reports doc depth metrics across the corpus.
Triggers
- "audit research quality"
- "check for stubs"
- "find shallow docs"
- "research quality audit"
- "how deep are the analysis docs?"
/research-quality-audit
Parameters
--range REF-XXX:YYY (optional)
Audit a specific range of REF identifiers. Default: entire corpus.
--fix (optional)
Auto-dispatch expansion agents to deepen stubs. Each stub gets a focused agent that reads the full PDF/source and rewrites the analysis doc.
--threshold N (optional)
Minimum line count for a doc to be considered non-stub. Default: 80.
--format (optional)
Output format: full (default), summary, or json.
--pdf-check (optional)
Also verify that each REF has an actual PDF or source file, not just metadata.
Execution Flow
Phase 1: Corpus Scan
- Glob all finding docs:
.aiwg/research/findings/REF-*.md(and/ordocumentation/references/REF-*.mddepending on corpus layout) - For each doc, collect:
- Line count (total lines)
- Content lines (non-empty, non-frontmatter, non-heading lines)
- Section count (number of
##headings) - Key quote count (blockquotes or inline quotes)
- Source availability — does the PDF exist at the referenced
pdf_location? - Full text available — does
sources/text/REF-XXX.txtexist? - Frontmatter completeness — required fields present?
Phase 2: Classification
Classify each doc into quality tiers:
| Tier | Content Lines | Sections | Quotes | Verdict |
|---|---|---|---|---|
| Full | >= 150 | >= 8 | >= 3 | Comprehensive analysis |
| Adequate | 80-149 | >= 5 | >= 1 | Meets minimum depth |
| Stub | 40-79 | >= 3 | 0 | Written from abstract — needs expansion |
| Skeleton | < 40 | any | 0 | Placeholder only — needs full rewrite |
Additional flags:
- No PDF: analysis exists but source PDF is missing
- No full text: PDF exists but text extraction was not run
- Abstract-only indicators: doc mentions "abstract" but no methodology/results sections
Phase 3: Report
Research Quality Audit
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Corpus: 372 documents
Threshold: 80 content lines
Quality Distribution:
Full (150+): 124 (33%) ████████████████░░░░░░░░░░
Adequate (80-149): 89 (24%) ████████████░░░░░░░░░░░░░░
Stub (40-79): 98 (26%) █████████████░░░░░░░░░░░░░
Skeleton (<40): 61 (16%) ████████░░░░░░░░░░░░░░░░░░
Statistics:
Mean content lines: 112
Median: 94
Min: 12 (REF-299)
Max: 591 (REF-018)
Source Availability:
PDF present: 348 / 372 (94%)
Full text extracted: 201 / 372 (54%)
Missing PDF: 24 papers
Missing text: 171 papers
Stubs Requiring Expansion (159):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
REF-253 22 lines skeleton No PDF "Agentic Design Patterns"
REF-254 35 lines skeleton Has PDF "Multi-Agent Debate"
REF-255 45 lines stub Has PDF "Language Agent Tree Search"
REF-256 48 lines stub No text "ReAct: Synergizing Reasoning"
...
Top 10 Shallowest (candidates for immediate expansion):
1. REF-299 12 lines skeleton "Toolformer: Language Models Can..."
2. REF-312 15 lines skeleton "WebArena: A Realistic Web..."
3. REF-253 22 lines skeleton "Agentic Design Patterns..."
...
Phase 4: Auto-Fix (if --fix)
When --fix is specified:
- Filter fixable stubs — only expand docs that have a PDF or full text available
- Batch by priority — shallowest docs first, batch into groups of 10
- Dispatch expansion agents — each agent:
- Reads the full PDF/extracted text for the source
- Rewrites the analysis doc with comprehensive content
- Target: 150+ content lines with methodology, findings, limitations, key quotes
- Re-audit after expansion — run Phase 1-3 again to verify improvements
- Report — docs expanded, mean line improvement, remaining stubs
Auto-Fix Results:
Dispatched: 10 expansion agents (batch 1 of 16)
Expanded: 10 / 10
Mean improvement: 77 → 161 lines (+109%)
Remaining stubs: 149
Run again with --fix to process next batch.
Integration Points
| Component | Relationship |
|---|---|
induct-research |
Quality audit should auto-run after batch induction |
corpus-snapshot |
Gates on stub rate > 10% (#814) |
research-lint |
ref-frontmatter rule catches incomplete metadata; quality-audit catches shallow content |
research-status |
Doc depth is a component of corpus health scoring |
research-acquire |
For stubs with missing PDFs, triggers acquisition before expansion |
Distinction from Other Tools
| Tool | What it checks |
|---|---|
research-lint |
Structural — frontmatter fields, naming, references resolve |
research-quality-audit |
Depth — is the content substantive? Was the source actually read? |
research-quality |
Evidence — GRADE assessment of the source's research quality |
corpus-health |
Aggregate — overall corpus metrics including depth, structure, coverage |
Examples
# Full corpus audit
/research-quality-audit
# Audit specific range
/research-quality-audit --range REF-253:372
# Auto-expand stubs (batch of 10)
/research-quality-audit --fix
# Strict threshold (120 lines minimum)
/research-quality-audit --threshold 120
# Check source file availability
/research-quality-audit --pdf-check
# JSON for programmatic use
/research-quality-audit --format json
References
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/skills/induct-research/SKILL.md — Source of stubs when acquisition is skipped
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/skills/research-acquire/SKILL.md — Acquires PDFs for stub expansion
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/skills/research-lint/SKILL.md — Structural validation (complementary)
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/skills/research-quality/SKILL.md — GRADE evidence assessment (complementary)
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/skills/research-status/SKILL.md — Health scoring includes depth metrics
04 同仓库更多 Skills
host-hardening
Read-only system hardening baseline and plan-first host hardening recommendations for SSH, Docker bind addresses, firewall persistence, datastores, exporters and audit retention.
exposure-analysis
Read-only firewall analysis and effective host exposure reconstruction for Docker published ports, UFW bypass, stale rules, CDN scope, IPv6 asymmetry and external probe allowlists.
host-hardening
Read-only system hardening baseline and plan-first host hardening recommendations for SSH, Docker bind addresses, firewall persistence, datastores, exporters and audit retention.
exposure-analysis
Read-only firewall analysis and effective host exposure reconstruction for Docker published ports, UFW bypass, stale rules, CDN scope, IPv6 asymmetry and external probe allowlists.
fixture-skill
Exercise rule delivery.
pi-local
Pi-local duplicate-precedence fixture.