Agent Skills: Module Source Coverage

Use when a tutorial module plan exists and the run needs an auditable module-to-source grounding file before prose.

UncategorizedID: willoscar/research-units-pipeline-skills/module-source-coverage

Install this agent skill to your local

pnpm dlx add-skill https://github.com/WILLOSCAR/research-units-pipeline-skills/tree/HEAD/.codex/skills/module-source-coverage

Skill Files

Browse the full folder contents for module-source-coverage.

Download Skill

Loading file tree…

.codex/skills/module-source-coverage/SKILL.md

Skill Metadata

Name
module-source-coverage
Description
"Use when a tutorial module plan exists and the run needs an auditable module-to-source grounding file before prose."

Module Source Coverage

Triggers & routing

  • Trigger: module coverage, source coverage, tutorial grounding, 模块覆盖, 来源覆盖.
  • Use when: source-tutorial 的 C2,已有 outline/module_plan.yml,需要确认每个模块都能回指到 sources。
  • Skip if: module plan 或 source ingest 不完整。
  • Network: none.
  • Guardrail: 只做 grounding audit,不写教程正文。

Builds outline/source_coverage.jsonl, one coverage record per module.

Inputs

  • outline/module_plan.yml
  • sources/index.jsonl
  • sources/provenance.jsonl

Output

  • outline/source_coverage.jsonl

Contract

Each module record must include:

  • module_id
  • module_title
  • source_ids and/or explicit gaps

Plus exactly one corpus-reconciliation record (record_type: corpus_reconciliation, no module_id) listing ingested_source_ids, attributed_source_ids, and unused_source_ids, with an explicit gaps entry whenever a source was ingested but used by no module. A per-module audit alone cannot surface a source that contributed to zero modules, so this record keeps an unused source explicit instead of silently dropped.

Script boundary

scripts/run.py should:

  • score module-to-source relevance
  • choose a small source set per module
  • record explicit grounding gaps when coverage is weak
  • append the corpus-reconciliation record so unused ingested sources are flagged

Keep text matching and snippet scoring in shared tutorial tooling, not in the wrapper.

Acceptance

  • outline/source_coverage.jsonl exists
  • every module appears exactly once
  • exactly one corpus_reconciliation record accounts for every ingested source
  • missing grounding is explicit instead of silent

Non-goals

  • context pack assembly
  • tutorial prose