corpus-index-build
Render research-corpus markdown index views (by-topic, by-year, authors, citation-network, ...) from corpus state. As of
What this skill does
# Corpus Index Build
Render the human-readable markdown index views for a research corpus — by-topic,
by-year, authors, by-venue, by-method, by-model-size, training-pipeline,
citation-network, by-author, by-org, by-bridge, unprofiled-hubs.
> **As of #1490, `aiwg index build` renders these views natively.** The former
> standalone `build.py` has been retired; the JSON graph index and the markdown
> views are now produced by a single command, in one process, from one config
> (`.aiwg/aiwg.config`, #1491). There is no longer a "these are two different
> things" split to manage.
## How to build the views
```bash
aiwg index build # JSON graphs + all configured markdown views
aiwg index build --all # same (every configured view)
aiwg index build --graph by-topic # a single view
aiwg index build --graph citation-network
aiwg index build --force # re-render even when the source checksum is unchanged
```
Views render to the `output` path declared per manifest entry (default
`indices/<name>.md`). The command renders views only when the project has a
`documentation/references/` corpus — it is a no-op in ordinary SDLC projects.
## Triggers
- "build the research indices"
- "rebuild corpus graphs"
- "update the topic index"
- "render corpus markdown views"
- `/corpus-index-build`
In every case: run `aiwg index build` (optionally `--graph <view>` / `--force`).
## Configuration
Views are declared under `index.graphs.indices.manifest` in **`.aiwg/aiwg.config`**
(JSON, validated against `aiwg.config.v1.json`; the legacy `.aiwg/config.yaml`
still works as a deprecated fallback — see #1491). Each manifest entry's `name`
selects the renderer and optional `output` sets the path:
```json
{
"index": {
"graphs": {
"indices": {
"manifest": [
{ "name": "by-topic", "output": "indices/by-topic.md" },
{ "name": "by-year", "output": "indices/by-year.md" },
{ "name": "authors", "output": "indices/authors.md" },
{ "name": "citation-network", "output": "indices/citation-network.md" }
]
}
}
}
}
```
Supported renderer `name`s — **paper views**: `by-topic`, `by-year`, `authors`,
`by-venue`, `by-method`, `by-model-size`, `training-pipeline`, `citation-network`,
`by-author`, `by-org`, `by-bridge`, `unprofiled-hubs`; **radar/discovery/funder
views (#1492)**: `by-grade`, `radar-stale-queue`, `by-trajectory`, `by-source`,
`by-curator`, `by-funder`. An unrecognized name fails the build (non-zero exit).
If the manifest is absent, a default set renders (`by-topic`, `by-year`,
`authors`, `by-venue`, `by-method`, `training-pipeline`, `by-model-size`);
`citation-network` is added when it is present as an `index.graphs` key. The
radar/discovery/funder views are opt-in (declare them in the manifest) — they
read radar sidecars, the citation `discovery` block, and `funders[]`
respectively (see the [corpus data model](../../docs/corpus-data-model.md)).
## What the views contain
- **by-topic / by-method / by-venue** — papers grouped by classified taxonomy
(frontmatter `topics` override the classifier when present).
- **by-year** — chronological, newest first.
- **authors / by-author** — papers per normalized author; `by-author` is an
enriched table linking `PROF-P-*` people profiles when they exist.
- **by-org / by-bridge** — affiliation rollups; `by-bridge` surfaces authors
spanning ≥2 affiliations.
- **by-model-size** — grouped by extracted parameter count.
- **citation-network** — node/edge/density summary, top hubs, isolated nodes.
- **training-pipeline** — fixed reading-order stages with in-corpus markers.
- **unprofiled-hubs** — high in-degree REFs whose primary author lacks a profile.
- **by-grade** — papers grouped by current GRADE (radar `grade-current`, A→D order; no-radar → Ungraded).
- **radar-stale-queue** — radar-tracked papers ranked by overdue-ness (cadence window vs `last-refreshed`), with a stale flag. `on-demand` cadence is never queued.
- **by-trajectory** — grouped by radar `grade-trajectory` (rising / stable / declining / …).
- **by-source** — grouped by `discovery.surface` (x-search / rss / web / …; no-discovery → unknown-surface).
- **by-curator** — grouped by `discovery.curator-id` (group size = curator yield).
- **by-funder** — grouped by `funders[].id`; a paper appears under each of its funders (no funders → unfunded).
Each view records a `Source-Checksum:` header; incremental builds skip a view
when its corpus checksum is unchanged (override with `--force`).
## References
- @$AIWG_ROOT/src/artifacts/corpus-views/ — native renderers (#1490)
- @$AIWG_ROOT/src/artifacts/cli.ts — `aiwg index build` entrypoint
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/skills/citation-backfill/SKILL.md — prerequisite for `citation-network`
- @$AIWG_ROOT/docs/cli-reference.md — index command reference
Related in Image & Video
watch
IncludedWatch a video (URL or local path). Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls the transcript from captions (or Whisper API fallback), and hands the result to Claude so it can answer questions about what's in the video.
physical-ai-defect-image-generation
IncludedUse when the user wants to orchestrate defect image generation, run associated setup, or handle outputs on OSMO. The Day 0 path handles cold-start with USD-to-ROI, image-edit augmentation, and AnomalyGen to create initial PCBA datasets. The Day 1 path performs inference and labeling on real images. This skill helps with first-time asset setup, creation of finetuning checkpoints, and configuring deployment. Trigger keywords: defect image generation, dig workflow, dig pipeline, defect image detection workflow, aoi pipeline, aoi anomalygen, usd2roi anomalygen, day 0 pcba, day 1 pcba, day 1 real-photo alignment, day 1 manual roi, metal surface anomaly, glass defect, anomalygen finetune, setup_pcb, setup_metal, setup_glass, setup_pretrained, dig setup, dig datasets, dig pretrained checkpoint, dig image-edit endpoint.
accelint-react-best-practices
IncludedReact performance optimization and best practices. ALWAYS use this skill when working with any React code - writing components, hooks, JSX; refactoring; optimizing re-renders, memoization, state management; reviewing for performance; fixing hydration mismatches; debugging infinite re-renders, stale closures, input focus loss, animations restarting; preventing remounting; implementing transitions, lazy initialization, effect dependencies. Even simple React tasks benefit from these patterns. Covers React 19+ (useEffectEvent, Activity, ref props). Triggers - useEffect, useState, useMemo, useCallback, memo, inline components, nested components, components inside components, re-render, performance, hydration, SSR, Next.js, useDeferredValue, combined hooks.
elevenlabs-agents
IncludedBuild conversational AI voice agents with ElevenLabs Platform using React, JavaScript, React Native, or Swift SDKs. Configure agents, tools (client/server/MCP), RAG knowledge bases, multi-voice, and Scribe real-time STT. Use when: building voice chat interfaces, implementing AI phone agents with Twilio, configuring agent workflows or tools, adding RAG knowledge bases, testing with CLI "agents as code", or troubleshooting deprecated @11labs packages, Android audio cutoff, CSP violations, dynamic variables, or WebRTC config. Keywords: ElevenLabs Agents, ElevenLabs voice agents, AI voice agents, conversational AI, @elevenlabs/react, @elevenlabs/client, @elevenlabs/react-native, @elevenlabs/elevenlabs-js, @elevenlabs/agents-cli, elevenlabs SDK, voice AI, TTS, text-to-speech, ASR, speech recognition, turn-taking model, WebRTC voice, WebSocket voice, ElevenLabs conversation, agent system prompt, agent tools, agent knowledge base, RAG voice agents, multi-voice agents, pronunciation dictionary, voice speed control, elevenlabs scribe, @11labs deprecated, Android audio cutoff, CSP violation elevenlabs, dynamic variables elevenlabs, case-sensitive tool names, webhook authentication
humanizer
IncludedHumanize AI-generated text by detecting and removing patterns typical of LLM output. Rewrites text to sound natural, specific, and human. Uses 28 pattern detectors, 560+ AI vocabulary terms across 3 tiers, and statistical analysis (burstiness, type-token ratio, readability) for comprehensive detection. Use when asked to humanize text, de-AI writing, make content sound more natural/human, review writing for AI patterns, score text for AI detection, or improve AI-generated drafts. Covers content, language, style, communication, and filler categories.
generating-mermaid-diagrams
IncludedSalesforce architecture diagrams using Mermaid with ASCII fallback. Use this skill when generating text-based diagrams for Salesforce architecture, OAuth flows, ERDs, integration sequences, or Agentforce structure. TRIGGER when: user says "diagram", "visualize", "ERD", or asks for sequence diagrams, flowcharts, class diagrams, or architecture visualizations in Mermaid. DO NOT TRIGGER when: user wants PNG/SVG image output (use generating-visual-diagrams), or asks about non-Salesforce systems.