Agent skill
appendix-table-writer
Curate reader-facing survey tables for the Appendix (clean layout + high information density), using only in-scope evidence and existing citation keys. **Trigger**: appendix tables, publishable tables, survey tables, reader tables, 附录表格, 可发表表格, 综述表格. **Use when**: you have C4 artifacts (evidence packs + anchor sheet + citations) and want tables that look like a real survey (not internal logs). **Skip if**: `outline/tables_appendix.md` already exists and is refined (>=2 tables; citation-backed; no placeholders; not index-y). **Network**: none. **Guardrail**: no invented facts; no pipeline jargon; no paragraph cells; use only keys present in `citations/ref.bib`.
Install this agent skill to your Project
npx add-skill https://github.com/WILLOSCAR/research-units-pipeline-skills/tree/main/.codex/skills/appendix-table-writer
SKILL.md
Appendix Table Writer (publishable survey tables)
Why this exists
The pipeline can produce index tables that are useful for planning/debugging, but read like internal artifacts.
This skill writes publishable, reader-facing tables that can live in an Appendix:
- cleaner layout
- higher information density
- survey-style organization (methods/benchmarks/risks), not intermediate state
Index tables remain in outline/tables_index.md and should not be copied verbatim into the paper.
Inputs
outline/table_schema.md(table intent + evidence mapping)outline/tables_index.md(internal index; optional but recommended)outline/subsection_briefs.jsonloutline/evidence_drafts.jsonloutline/anchor_sheet.jsonlcitations/ref.bib- Optional:
GOAL.md
Read as needed:
references/table_cell_hygiene.mdwhen Appendix table cells still copy raw paper self-narration or generic result wrappers
Machine-readable assets:
assets/table_cell_hygiene.json
Output
outline/tables_appendix.md
Roles (use explicitly)
Survey Table Curator (reader lens)
Mission: choose tables a reader actually wants in a survey Appendix.
Do:
- prefer 2-3 tables that answer big questions (methods, evaluation, risks)
- make rows comparable (same row unit across the table)
- make the table legible without reading the whole paper
Avoid:
- one-row-per-H3 index dumps
- columns named like internal axes ("axes", "blocking_missing", "evidence readiness")
Production Editor (layout)
Mission: make the table look publishable in LaTeX.
Do:
- keep columns <= 4
- keep cells short (phrases, not sentences)
- use
<br>sparingly (0-1 per cell; never a list dump)
Avoid:
- 6-8 columns with tiny unreadable text
- cells that look like notes (semicolon chains + slash lists + long parentheticals)
- slash-separated axis markers (A/B/C) in captions/headers/cells (post-merge voice gate will flag them); use commas or 'and' instead
- internal axis jargon that reads like an intermediate artifact once printed (e.g., calling table columns "tokens"); prefer "protocol details/metadata/assumptions"
Evidence Steward (verifiability)
Mission: prevent hallucinations.
Do:
- every row must include citations in a dedicated column (e.g., "Key refs")
- only restate what appears in evidence packs / anchor sheet
- when evidence is thin, prefer fewer rows with stronger grounding
Avoid:
- "representative works" with no supporting claim in packs/anchors
- adding benchmark/method details not present upstream
Table contract (publishable, Appendix-ready)
outline/tables_appendix.md must:
- contain >=2 Markdown tables
- use a caption line before each table, e.g.
**Appendix Table A1. ...** - contain no headings (
#,##,###) inside the file (the merger adds an Appendix heading) - contain no placeholders (
TODO,TBD,FIXME,..., unicode ellipsis) - contain citations in rows using
[@BibKey](keys must exist incitations/ref.bib) - avoid pipeline jargon and index-like column names
Workflow (explicit inputs)
- Start from
GOAL.md(scope) andoutline/table_schema.md(what each table must answer). - Use
outline/tables_index.mdas a shortlist source, but do not paste it verbatim. - Fill rows/cells using
outline/subsection_briefs.jsonl,outline/evidence_drafts.jsonl, andoutline/anchor_sheet.jsonl(no guessing). - Validate every cited key against
citations/ref.bib.
Recommended Appendix tables (default set)
If you are unsure what to build, start with these two:
- Method/architecture map (representative works)
- Row unit: work/system line (not H3 id)
- Columns (example):
- Work (short name)
- Core idea (1 short phrase)
- Loop + interface assumptions (1 short phrase; reader-facing)
- Key refs (2-4 cite keys)
- Evaluation protocol / benchmark map
- Row unit: benchmark / evaluation setting (or a canonical protocol dimension if benchmarks are thin)
- Columns (example):
- Benchmark / setting
- Task + metric (phrases, not definitions)
- Key protocol constraints (budget/cost/latency/steps/tool access/threat model)
- Key refs (2-4 cite keys)
Optional third (only if it stays clean): 3) Risk / threat-surface map
- Row unit: threat/failure mode category
- Columns: surface; why it matters; mitigation pattern; key refs
Positive / negative examples (style)
Bad (index table / internal notes):
- Column: "Axes"
- Cell:
planning / memory / tools / eval / safety(slash dump) - Rows: every H3 id with 5+
<br>lines
Good (survey table):
- Column labels are reader-facing ("Core idea", "Task + metric", "Constraint")
- Cells are short phrases (no narration)
- A reader can scan and compare rows quickly
Also good (avoid intermediate-artifact tells):
- Don't label columns as "token(s)". If you need the idea, rewrite as "protocol details/metadata/assumptions".
- Avoid ASCII arrows like
->inside cells; prefer natural phrasing (e.g., "interleaves reasoning traces with tool actions").
When to stop / route upstream
If you cannot fill a row without guessing:
- remove the row (prefer fewer, solid rows), and
- route upstream: strengthen
evidence-draft/anchor-sheetfor that area.
Script (generator + validator)
Quick Start
python .codex/skills/appendix-table-writer/scripts/run.py --helppython .codex/skills/appendix-table-writer/scripts/run.py --workspace workspaces/<ws>
All Options
--workspace <workspace_dir>(required)--unit-id <id>(optional; used only for runner bookkeeping)--inputs <a;b;c>(optional; ignored by the validator; kept for runner compatibility)--outputs <relpath>(optional; defaults tooutline/tables_appendix.md)--checkpoint <C#>(optional; ignored by the validator)
Examples
-
Validate the default appendix tables file:
python .codex/skills/appendix-table-writer/scripts/run.py --workspace workspaces/e2e-agent-survey-latex-verify-YYYYMMDD-HHMMSS -
Validate a workspace that writes appendix tables to a non-standard path:
python .codex/skills/appendix-table-writer/scripts/run.py --workspace workspaces/<ws> --outputs outline/tables_appendix.md
Notes:
- This script writes
outline/tables_appendix.mdfrom the existing evidence artifacts and then validates the result. - It always writes a short report to
output/TABLES_APPENDIX_REPORT.md.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
thesis-compile-review
对中文毕业论文进行编译、warning 分级、模板模式检查、数据与引用复查,并把问题回写成可继续迭代的 review checklist。 **Trigger**: 毕业论文编译检查, thesis compile review, warning 分级, 终稿复查, main.pdf 检查. **Use when**: 论文已经回写到 TeX 交付层,需要确认是否真正达到“可提交”的质量,而不是只做到能编译。 **Skip if**: 还处于中间层重构阶段,`chapters/*.tex` 尚未形成稳定交付稿。 **Network**: none. **Guardrail**: 不在这里重构章节主线;如果发现结构问题,明确回退到上游修复。
front-matter-writer
Write 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`.
thesis-question-list
维护中文毕业论文的 `codex_md/question_list.md`:把本轮问题、边界、优先级、协作方案和验收口径结构化,作为整条 thesis pipeline 的控制面。 **Trigger**: 毕业论文问题清单, thesis question list, 论文修改清单, 本轮目标, 结构问题梳理, review问题整理. **Use when**: 你已经有一批材料或上一轮 review 结果,需要明确这一轮到底修什么、不修什么,并给后续重构与编译复查提供统一入口。 **Skip if**: 当前只是在做一次性局部措辞修改,且没有形成新一轮结构/证据/编译问题。 **Network**: none. **Guardrail**: 不在这里写正文;不把问题单写成长篇散文;每条问题必须可执行、可验收。
novelty-matrix
Create 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;尽量给出可追溯证据来源(来自稿件/引用/作者陈述)。
protocol-writer
Write 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。
rubric-writer
Write 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;避免泛泛而谈。
Didn't find tool you were looking for?