| name | paper-summarizer |
| description | Summarize one local paper workspace without network access. Use existing parse artifacts and metadata to write, assemble, and validate `draft.md`. |
Use this skill to turn parsed paper content into a publishable summary draft.
Path rule:
references/... and scripts/... are relative to this skill directory.
- From repo root, run
python skills/paper-summarizer/scripts/....
Repo-level configs stay under config/.
Load only these files when needed:
config/summary_template.json
config/embodied_ai_terminology.json for embodied AI / robot learning terminology normalization
references/artifact-contract.md
references/summarize_status.schema.json
Use these scripts for deterministic steps:
skills/paper-summarizer/scripts/write_summarize_status.py
skills/paper-summarizer/scripts/validate_summary.py
Inputs:
data/papers/<paper_id>/parse/main_text.md
data/papers/<paper_id>/parse/figure_index.md
data/papers/<paper_id>/parse/figure_index.json
data/papers/<paper_id>/parse/figures/
data/papers/<paper_id>/parse/status.json
data/papers/<paper_id>/acquire/metadata.json
Work:
summarize_text
summarize_figures
assemble_summary
validate
Treat the workflow as complete only when summarize/status.json.status == "succeeded".
Use these commands and outputs:
- Summarize text:
- Read
main_text.md and config/summary_template.json
- Write
summary_text.md
- Follow
config/summary_template.json for article-type-specific structure and writing guidance.
- Include only formulas or code/pseudocode that are necessary to explain the method's core mechanism, inline with the relevant body text.
- For embodied AI / robot learning papers, use
config/embodied_ai_terminology.json only to normalize terms that appear in the paper.
- Summarize figures:
- Read
figure_index.md, figure_index.json, and selected images only
- Select at most 2 to 3 figures
- Write
selected_figures.json and figure_notes.md
- Assemble summary:
- Assemble from
summary_text.md, figure_notes.md, and local metadata
- Follow
config/summary_template.json
- Put available metadata fields directly under the top title as part of the summary template
- Include
header_fields. Omit optional_header_fields when the value is missing, empty, not_specified, or unknown
- Keep figures inline near relevant text, using relative image paths from
summarize/draft.md such as ../parse/figures/figure-01.png
- Write
draft.md and status.json
- Validate:
- Run
python skills/paper-summarizer/scripts/validate_summary.py <summarize-dir>/draft.md
- Then run
python skills/paper-summarizer/scripts/write_summarize_status.py data/papers/<paper_id>
Complete only when:
summarize/status.json.status == "succeeded"
Fail when:
- a required input file is missing
- a step status file reports failure or invalid output
summarize/status.json.status is failed or blocked
Guardrails:
- This skill is local-only.
- Deterministic work uses scripts. Judgment work stays in the current Codex session.
- Each step should read only its declared inputs and status files.
- Do not launch nested
codex exec.
- Stop immediately when the current step fails.