@willoscar
WILLOSCARagent-survey-corpus
skillDownload a small corpus of open-access arXiv survey/review PDFs about LLM agents and extract text for style learning. **Trigger**: agent survey corpus, ref corpus, download surveys, 学习综述写法, 下载 survey. **Use when**: you want to study how real agent surveys structure sections (6–8 H2), size subsections, and write evidence-backed comparisons. **Skip if**: you cannot download PDFs (no network) or you don't want local PDF files. **Network**: required. **Guardrail**: only download arXiv PDFs; store under `ref/` and keep large files out of git.
anchor-sheet
skillExtract per-subsection “anchor facts” (NO PROSE) from evidence packs so the writer is forced to include concrete numbers/benchmarks/limitations instead of generic summaries. **Trigger**: anchor sheet, anchor facts, numeric anchors, evidence hooks, 写作锚点, 数字锚点, 证据钩子. **Use when**: `outline/evidence_drafts.jsonl` exists and you want stronger, evidence-anchored writing in `sections/*.md`. **Skip if**: evidence packs are incomplete (fix `evidence-draft` first). **Network**: none. **Guardrail**: NO PROSE; do not invent facts; only select from existing evidence snippets/highlights.
artifact-contract-auditor
skillAudit the workspace against the pipeline artifact contract (DONE outputs + pipeline target_artifacts). Writes `output/CONTRACT_REPORT.md`. **Trigger**: contract audit, artifact contract, missing artifacts, target_artifacts, CONTRACT_REPORT. **Use when**: you want an auditable PASS/FAIL view of whether a workspace is complete and self-contained (end of run or before sharing). **Skip if**: you are still intentionally mid-run and don’t care about completeness yet (but it’s still useful as a snapshot). **Network**: none. **Guardrail**: analysis-only; do not edit content artifacts; only write the report.
rubric-writer
skillWrite a rubric-based peer review report (`output/REVIEW.md`) using extracted claims and evidence gaps (novelty/soundness/clarity/impact). **Trigger**: rubric review, referee report, peer review write-up, 审稿报告, REVIEW.md. **Use when**: peer-review pipeline 的最后阶段(C3),已有 `output/CLAIMS.md` + `output/MISSING_EVIDENCE.md`(以及可选 novelty matrix)。 **Skip if**: 上游产物未就绪(claims/evidence gaps 缺失)或你不打算输出完整审稿报告。 **Network**: none. **Guardrail**: 给可执行建议(actionable feedback),并覆盖 novelty/soundness/clarity/impact;避免泛泛而谈。
chapter-briefs
skillBuild per-chapter (H2) writing briefs (NO PROSE) so the final survey reads like a paper (chapter leads + cross-H3 coherence) without inflating the ToC. **Trigger**: chapter briefs, H2 briefs, chapter lead plan, section intent, 章节意图, 章节导读, H2 卡片. **Use when**: `outline/outline.yml` + `outline/subsection_briefs.jsonl` exist and you want thicker chapters (fewer headings, more logic). **Skip if**: the outline is still changing heavily (fix outline/mapping first). **Network**: none. **Guardrail**: NO PROSE; do not invent papers; only reference subsection ids and already-mapped papers.
claim-matrix-rewriter
skillRewrite `outline/claim_evidence_matrix.md` as a projection/index of evidence packs (NO PROSE), so claims/axes are driven by `outline/evidence_drafts.jsonl` rather than outline placeholders. **Trigger**: claim matrix rewriter, rewrite claim-evidence matrix, evidence-first claim matrix, matrix index, 证据矩阵重写, 从证据包生成矩阵. **Use when**: `outline/subsection_briefs.jsonl` + `outline/evidence_drafts.jsonl` are ready and you want a clean claim→evidence index for QA/writing. **Skip if**: `outline/claim_evidence_matrix.md` is already refined and consistent with evidence packs. **Network**: none. **Guardrail**: NO PROSE; do not invent facts; only cite keys present in `citations/ref.bib`; if evidence is abstract/title-only, claims must be provisional.
latex-compile-qa
skillCompile a LaTeX project and run basic QA (missing refs, bib errors, broken citations), producing `latex/main.pdf` and a build report. **Trigger**: latex compile, build PDF, LaTeX errors, missing refs, 编译PDF, 引用错误. **Use when**: 已有 `latex/main.tex`(通常来自 `latex-scaffold`),需要确认可编译并输出失败原因报告。 **Skip if**: 还没有 LaTeX scaffold(先跑 `latex-scaffold`)。 **Network**: none. **Guardrail**: 编译失败也要落盘 `output/LATEX_BUILD_REPORT.md`;不做“内容改写”,只做编译/QA。
module-planner
skillPlan tutorial modules from a concept graph, including module objectives and sequencing, saving as `outline/module_plan.yml`. **Trigger**: module plan, tutorial modules, course outline, 模块规划, module_plan.yml. **Use when**: tutorial pipeline 的结构阶段(C2),已有 `outline/concept_graph.yml`,需要把概念依赖转成可教学的模块序列。 **Skip if**: 还没有 concept graph(先跑 `concept-graph`)。 **Network**: none. **Guardrail**: 每模块明确 objectives + outputs(最好含 running example 步骤);避免 prose 段落。
grad-paragraph
skillWrite one survey-quality paragraph from evidence packs (tension → contrast → evaluation anchor → limitation). **Trigger**: grad paragraph, paragraph micro-structure, argument paragraph, 研究生段落, 论证段落, 对比段, 段落写作. **Use when**: you are drafting `sections/S*.md` (H3 body) and want subsection-specific, evidence-bounded prose instead of templates. **Skip if**: evidence packs are missing/incomplete (fix `subsection-briefs`/`evidence-draft`/`evidence-binder` first), or `Approve C2` is not recorded in `DECISIONS.md`. **Network**: none. **Guardrail**: do not invent facts or citations; no placeholders/ellipsis; keep claims conservative when evidence is abstract-level (avoid repeating evidence-mode boilerplate in every paragraph).
style-harmonizer
skillDe-slot and harmonize paper voice across `sections/*.md` without changing meaning or citation keys. **Trigger**: style harmonizer, de-template stems, remove slot phrases, discourse stems, 写作风格统一, 去槽位句式, 去生成器味. **Use when**: `writer-selfloop` is PASS but `output/WRITER_SELFLOOP_TODO.md` flags Style Smells (e.g., repeated count-based openers), or the draft reads like many sections share the same rhythm. **Skip if**: you need new evidence/citations (route to C3/C4), or you are pre-C2 (NO PROSE). **Network**: none. **Guardrail**: do not invent facts; do not add/remove/move citation keys; do not move citations across subsections; keep claim->evidence anchoring intact.
outline-builder
skillConvert a taxonomy (`outline/taxonomy.yml`) into a bullet-only outline (`outline/outline.yml`) with sections/subsections. **Trigger**: outline builder, bullet outline, outline.yml, 大纲生成, bullets-only. **Use when**: structure 阶段(NO PROSE),已有 taxonomy,需要生成可映射/可写作的章节与小节骨架(每小节≥3 bullets)。 **Skip if**: 已经有批准过且可映射的 outline(避免无意义 churn)。 **Network**: none. **Guardrail**: bullets-only;移除 TODO/模板语句;每小节至少 3 个可检查 bullets。
paper-notes
skillWrite structured notes for each paper in the core set into `papers/paper_notes.jsonl` (summary/method/results/limitations). **Trigger**: paper notes, structured notes, reading notes, 论文笔记, paper_notes.jsonl. **Use when**: survey 的 evidence 阶段(C3),已有 `papers/core_set.csv`(以及可选 fulltext),需要为后续 claims/citations/writing 准备可引用证据。 **Skip if**: 还没有 core set(先跑 `dedupe-rank`),或你只做极轻量 snapshot 不需要细粒度证据。 **Network**: none. **Guardrail**: 具体可核对(method/metrics/limitations),避免大量重复模板;保持结构化字段而非长 prose。
subsection-polisher
skillPolish a single H3 unit file under `sections/` into survey-grade prose (de-template + contrast/eval/limitation), without changing citation keys. **Trigger**: subsection polisher, per-subsection polish, polish section file, 小节润色, 去模板, 结构化段落. **Use when**: `sections/S*.md` exists but reads rigid/template-y; you want to fix quality locally before `section-merger`. **Skip if**: subsection files are missing, evidence packs are incomplete, or `Approve C2` is not recorded. **Network**: none. **Guardrail**: do not invent facts/citations; do not add/remove citation keys; keep citations within the same H3; keep citations subsection-scoped.
table-filler
skillFill `outline/tables_index.md` from `outline/table_schema.md` + evidence packs (NO PROSE in cells; citation-backed rows). **Trigger**: table filler, fill tables, evidence-first tables, index tables, 表格填充, 索引表. **Use when**: table schema exists and evidence packs are ready; you want a compact, citation-backed index table to support later writing and Appendix table curation. **Skip if**: `outline/tables_index.md` already exists and is refined (>=2 tables; citations in rows; no placeholders). **Network**: none. **Guardrail**: do not invent facts; every row must include citations; do not write paragraph cells.
writer-selfloop
skillWriting self-loop for surveys: run the strict section-quality gate, then rewrite only the failing `sections/*.md` files until the report is PASS. **Trigger**: writer self-loop, writing loop, quality gate loop, rewrite failing sections, 自循环, 反复改到 PASS. **Use when**: per-section files exist but C5 is FAIL/BLOCKED (thin sections, missing leads/front matter, citation-scope violations, generator voice). **Skip if**: you are still pre-C2 (NO PROSE), or evidence packs are incomplete (fix C3/C4 first). **Network**: none. **Guardrail**: do not invent facts; only use citation keys present in `citations/ref.bib`; keep citations in-scope per `outline/evidence_bindings.jsonl`; do not add/remove citation keys during rewrites.
writer-context-pack
skillBuild per-H3 writer context packs (NO PROSE): merge briefs + evidence packs + anchor facts + allowed citations into a single deterministic JSONL, so drafting is less hollow and less brittle. **Trigger**: writer context pack, context pack, drafting pack, paragraph plan pack, 写作上下文包. **Use when**: `outline/subsection_briefs.jsonl` + `outline/evidence_drafts.jsonl` + `outline/anchor_sheet.jsonl` exist and you want to make C5 drafting easier/more consistent. **Skip if**: upstream evidence is missing or scaffolded (fix `paper-notes` / `evidence-binder` / `evidence-draft` / `anchor-sheet` first). **Network**: none. **Guardrail**: NO PROSE; do not invent facts/citations; only use citation keys present in `citations/ref.bib`.
novelty-matrix
skillCreate a novelty/prior-work matrix comparing the submission’s contributions against related work (overlaps vs deltas). **Trigger**: novelty matrix, prior-work matrix, overlap/delta, 相关工作对比, 新颖性矩阵. **Use when**: peer review 中评估 novelty/positioning,需要把贡献与相关工作逐项对齐并写出差异点证据。 **Skip if**: 缺少 claims(先跑 `claims-extractor`)或你不打算做新颖性定位分析。 **Network**: none (retrieval of additional related work is out-of-scope unless provided). **Guardrail**: 明确 overlap 与 delta;尽量给出可追溯证据来源(来自稿件/引用/作者陈述)。
front-matter-writer
skillWrite the survey's front matter files (Abstract, Introduction, Related Work, Discussion, Conclusion) in paper voice, with high citation density and a single evidence-policy paragraph. **Trigger**: front matter writer, introduction writer, related work writer, abstract writer, discussion writer, conclusion writer, 引言, 相关工作, 摘要, 讨论, 结论. **Use when**: you are in C5 (prose allowed) and need the paper-like shell to stop the draft reading like stitched subsections. **Skip if**: `Approve C2` is missing in `DECISIONS.md`, or `citations/ref.bib` is missing. **Network**: none. **Guardrail**: no invented facts/citations; no pipeline jargon in final prose; no repeated evidence disclaimers; only use keys present in `citations/ref.bib`.
synthesis-writer
skillSynthesize evidence into a structured narrative (`output/SYNTHESIS.md`) grounded in `papers/extraction_table.csv`, including limitations and bias considerations. **Trigger**: synthesis, evidence synthesis, systematic review writing, 综合写作, SYNTHESIS.md. **Use when**: systematic review 完成 screening+extraction(含 bias 评估)后进入写作阶段(C4)。 **Skip if**: 还没有 `papers/extraction_table.csv`(或 protocol/screening 尚未完成)。 **Network**: none. **Guardrail**: 以 extraction table 为证据底座;明确局限性与偏倚;不要在无数据支撑时扩写结论。
outline-refiner
skillPlanner-pass coverage + redundancy report for an outline+mapping, producing `outline/coverage_report.md` and `outline/outline_state.jsonl`. **Trigger**: planner, dynamic outline, outline refinement, coverage report, 大纲迭代, 覆盖率报告. **Use when**: you have `outline/outline.yml` + `outline/mapping.tsv` and want a verifiable, NO-PROSE planner pass before writing. **Skip if**: you don't want any outline/mapping diagnostics (or you have a frozen/approved structure and will not change it). **Network**: none. **Guardrail**: NO PROSE; do not invent papers; only report coverage/reuse and propose structural actions as bullets.
evidence-binder
skillBind addressable evidence IDs from `papers/evidence_bank.jsonl` to each subsection (H3), producing `outline/evidence_bindings.jsonl`. **Trigger**: evidence binder, evidence plan, section->evidence mapping, 证据绑定, evidence_id. **Use when**: `papers/evidence_bank.jsonl` exists and you want writer/auditor to use section-scoped evidence items (WebWeaver-style memory bank). **Skip if**: you are not doing evidence-first section-by-section writing. **Network**: none. **Guardrail**: NO PROSE; do not invent evidence; only select from the existing evidence bank.
evidence-draft
skillCreate per-subsection evidence packs (NO PROSE): claim candidates, concrete comparisons, evaluation protocol, limitations, plus citation-backed evidence snippets with provenance. **Trigger**: evidence draft, evidence pack, claim candidates, concrete comparisons, evidence snippets, provenance, 证据草稿, 证据包, 可引用事实. **Use when**: `outline/subsection_briefs.jsonl` exists and you want evidence-first section drafting where every paragraph can be backed by traceable citations/snippets. **Skip if**: `outline/evidence_drafts.jsonl` already exists and is refined (no placeholders; >=8 comparisons per subsection; `blocking_missing` empty). **Network**: none (richer evidence improves with abstracts/fulltext). **Guardrail**: NO PROSE; do not invent facts; only use citation keys that exist in `citations/ref.bib`.
exercise-builder
skillAdd exercises to each tutorial module (inputs, expected outputs, verification steps) and update `outline/module_plan.yml`. **Trigger**: exercises, practice, verification checklist, 教程练习, 可验证作业. **Use when**: 已有模块计划(`outline/module_plan.yml`),需要为每个模块补齐至少 1 个可验证练习以形成 teaching loop。 **Skip if**: 还没有 module plan(先跑 `module-planner`)。 **Network**: none. **Guardrail**: 每个练习必须包含 expected output + verification steps;避免只给“思考题”无验收。
prose-writer
skillWrite `output/DRAFT.md` (or `output/SNAPSHOT.md`) from an approved outline and evidence packs, using only verified citation keys from `citations/ref.bib`. **Trigger**: write draft, prose writer, snapshot, survey writing, 写综述, 生成草稿, section-by-section drafting. **Use when**: structure is approved (`DECISIONS.md` has `Approve C2`) and evidence packs exist (`outline/subsection_briefs.jsonl`, `outline/evidence_drafts.jsonl`). **Skip if**: approvals are missing, or evidence packs are incomplete / scaffolded (missing-fields, TODO markers). **Network**: none. **Guardrail**: do not invent facts or citations; only cite keys present in `citations/ref.bib`; avoid pipeline-jargon leakage in final prose.
tutorial-spec
skillDefine tutorial scope, target audience, prerequisites, learning objectives, and a running example; output a tutorial spec for downstream planning. **Trigger**: tutorial spec, scope, audience, prerequisites, learning objectives, running example, 教程规格. **Use when**: tutorial pipeline 的起点(C1),需要先锁定教学目标与边界,再进入 concept graph / module planning。 **Skip if**: 你不是在做教程产出(或已经有明确且不允许改动的 tutorial spec)。 **Network**: none. **Guardrail**: 结构化 spec 优先;避免提前写长教程 prose(prose 在 C3)。
workspace-init
skillInitialize a new workspace by copying the standard artifact template (STATUS.md, CHECKPOINTS.md, UNITS.csv, DECISIONS.md + folders). **Trigger**: workspace init, initialize workspace, workspace template, 初始化 workspace. **Use when**: 启动任何 pipeline run(必须先有 workspace 工件与目录骨架)。 **Skip if**: workspace 已初始化且不希望覆盖既有文件(除非显式 `--overwrite`)。 **Network**: none. **Guardrail**: 不要修改 `.codex/skills/workspace-init/assets/` 模板;默认不覆盖已有文件。
pdf-text-extractor
skillDownload PDFs (when available) and extract plain text to support full-text evidence, writing `papers/fulltext_index.jsonl` and `papers/fulltext/*.txt`. **Trigger**: PDF download, fulltext, extract text, papers/pdfs, 全文抽取, 下载PDF. **Use when**: `queries.md` 设置 `evidence_mode: fulltext`(或你明确需要全文证据)并希望为 paper notes/claims 提供更强 evidence。 **Skip if**: `evidence_mode: abstract`(默认);或你不希望进行下载/抽取(成本/权限/时间)。 **Network**: fulltext 下载通常需要网络(除非你手工提供 PDF 缓存在 `papers/pdfs/`)。 **Guardrail**: 缓存下载到 `papers/pdfs/`;默认不覆盖已有抽取文本(除非显式要求重抽)。
draft-polisher
skillAudit-style editing pass for `output/DRAFT.md`: remove template boilerplate, improve coherence, and enforce citation anchoring. **Trigger**: polish draft, de-template, coherence pass, remove boilerplate, 润色, 去套话, 去重复, 统一术语. **Use when**: a first-pass draft exists but reads like scaffolding (repetition/ellipsis/template phrases) or needs a coherence pass before global review/LaTeX. **Skip if**: the draft already reads human-grade and passes quality gates; or prose is not approved in `DECISIONS.md`. **Network**: none. **Guardrail**: do not add/remove/invent citation keys; do not move citations across subsections; do not change claims beyond what existing citations support.
taxonomy-builder
skillBuild a 2+ level taxonomy (`outline/taxonomy.yml`) from a core paper set and scope constraints, with short descriptions per node. **Trigger**: taxonomy, taxonomy builder, 分类, 主题树, taxonomy.yml. **Use when**: survey/snapshot 的结构阶段(NO PROSE),已有 `papers/core_set.csv`,需要生成可映射且读者友好的主题结构。 **Skip if**: 已经有批准过且可映射的 taxonomy(不要无意义重构)。 **Network**: none. **Guardrail**: 避免泛化占位桶;保持 2+ 层且每节点有具体描述。
evidence-selfloop
skillEvidence self-loop for surveys: read evidence bindings + evidence packs, then write an actionable upstream TODO plan (which stage/skill to fix) before writing more prose. Writes `output/EVIDENCE_SELFLOOP_TODO.md`. **Trigger**: evidence self-loop, evidence loop, evidence gaps, binding gaps, blocking_missing, 证据自循环, 证据缺口回路. **Use when**: C4 outputs exist (`outline/evidence_bindings.jsonl`, `outline/evidence_drafts.jsonl`) but writing looks hollow or C5 is BLOCKED due to thin evidence. **Skip if**: you are still pre-C3 (no notes/evidence bank yet), or you want to draft anyway and accept a lower evidence bar. **Network**: none. **Guardrail**: analysis-only; do not edit evidence/writing artifacts; do not invent facts/citations; only write the TODO report.
bias-assessor
skillAdd bias/risk-of-bias assessment fields to an extraction table and populate them consistently. **Trigger**: bias, risk-of-bias, RoB, evidence quality, 偏倚评估, 证据质量. **Use when**: systematic review 已生成 `papers/extraction_table.csv`,需要在 synthesis 前补齐偏倚/质量字段。 **Skip if**: 不是 systematic review,或还没有 `papers/extraction_table.csv`。 **Network**: none. **Guardrail**: 使用简单可复核刻度(low/unclear/high)+ 简短 notes;保持字段一致性。
citation-verifier
skillGenerate and verify BibTeX entries from paper notes, writing `citations/ref.bib` and `citations/verified.jsonl`. **Trigger**: citation, BibTeX, ref.bib, verified.jsonl, references, 引用, 参考文献. **Use when**: 已有 `papers/paper_notes.jsonl`,需要为 prose/LaTeX 准备可追溯的引用(每条都有 url/date/title 验证记录)。 **Skip if**: 还没有 paper notes(或本次产出不需要引用/参考文献)。 **Network**: 自动验证通常需要网络;无网络时可先 record,再标注 needs manual verification。 **Guardrail**: 每个 BibTeX entry 必须对应一条 `citations/verified.jsonl` 记录;prose 只能使用已存在于 `citations/ref.bib` 的 citation keys。
protocol-writer
skillWrite a systematic review protocol into `output/PROTOCOL.md` (databases, queries, inclusion/exclusion, time window, extraction fields). **Trigger**: protocol, PRISMA, systematic review, inclusion/exclusion, 检索式, 纳入排除. **Use when**: systematic review pipeline 的起点(C1),需要先锁定 protocol 再开始 screening/extraction。 **Skip if**: 不是做 systematic review(或 protocol 已经锁定且不允许修改)。 **Network**: none. **Guardrail**: protocol 必须包含可执行的检索与筛选规则;需要 HUMAN 签字后才能进入 screening。
section-merger
skillDeterministically merge per-section files under `sections/` into `output/DRAFT.md`, preserving outline order and weaving transitions from `outline/transitions.md`. **Trigger**: merge sections, merge draft, combine section files, sections/ -> output/DRAFT.md, 合并小节, 拼接草稿. **Use when**: you have per-unit prose files under `sections/` and want a single `output/DRAFT.md` for polishing/review/LaTeX. **Skip if**: section files are missing or still contain scaffolding markers (fix `subsection-writer` first). **Network**: none. **Guardrail**: deterministic merge only (no new facts/citations); preserve section order from `outline/outline.yml`.
snapshot-writer
skillWrite a 1-page literature snapshot (`output/SNAPSHOT.md`) from a small core set + a bullets-only outline. **Trigger**: snapshot, literature snapshot, 速览, 48h snapshot, one-page snapshot, SNAPSHOT.md. **Use when**: 你要在 24-48h 内交付一个“可读的研究速览”(bullet-first,含关键引用),而不是完整 survey。 **Skip if**: 你已经进入 evidence-first survey 写作(有 `outline/evidence_drafts.jsonl` / `citations/ref.bib` / `output/DRAFT.md`),应改用 `subsection-writer`/`prose-writer`。 **Network**: none. **Guardrail**: 不发明论文/引用;引用只来自 `papers/core_set.csv`(或同 workspace 的候选池);不写长段落(避免“像综述生成器”)。
unit-executor
skillExecute exactly one runnable unit from `UNITS.csv` (first TODO whose dependencies are DONE), then update unit status and artifacts. **Trigger**: unit executor, run one unit, next unit, step-by-step pipeline, 逐条执行, UNITS.csv. **Use when**: 需要严格“一次只做一个 unit”(可审计、可中断),并遵守 checkpoints/HUMAN 阻塞逻辑。 **Skip if**: 要端到端自动跑(用 `research-pipeline-runner`)或 workspace 不存在。 **Network**: none. **Guardrail**: 只执行一个 unit;满足验收且输出存在才可标 `DONE`;遇到 HUMAN checkpoint 必须停下。