willoscar/paper-notes
| Write structured notes for each paper in the core set into `papers/paper_notes.jsonl` (summary/method/results/limitations).
npx skills add https://github.com/WILLOSCAR/research-units-pipeline-skills --skill paper-notes
Produce consistent, searchable paper notes that later steps (claims, visuals, writing) can reliably synthesize.
This is still NO PROSE: keep notes as bullets / short fields, not narrative paragraphs.
Always read:
references/overview.mdreferences/note_schema.mdRead by task:
references/limitation_taxonomy.md when writing or reviewing limitations (avoid boilerplate)references/result_extraction_examples.md when extracting key_results (good vs bad examples)references/source_text_hygiene.md when result/limitation fields still preserve paper self-narration or author-result wrappersMachine-readable assets:
assets/note_schema.json — JSONL record schema for validationassets/evidence_tags.json — evidence bank tagging categories (extensible without code changes)assets/source_text_hygiene.json — note-field source sentence cleanup policyassets/limitation-signals.json — shared polarity rules fordistinguishing unresolved constraints from resolved failures or improvements
Use scripts/run.py only for:
Do not treat run.py as the place for:
references/limitation_taxonomy.md for guidance)X enables ..., our framework features ...) into key_results.we apply ... and show ..., we then discuss how ...) into key_results.papers/core_set.csvoutline/mapping.tsv (to prioritize)papers/fulltext_index.jsonl + papers/fulltext/*.txt (if running in fulltext mode)papers/paper_notes.jsonl (JSONL; one record per paper)papers/evidence_bank.jsonl (JSONL; addressable evidence snippets derived from notes; profile target: course paper >=4, A150++ >=7 items/paper on average)papers/fulltext/*.txt) → enrich key papers using fulltext snippets and set evidence_level: "fulltext".Uses: outline/mapping.tsv, papers/fulltext_index.jsonl.
paper_id in papers/core_set.csv must have one JSONL record.method (mechanism and architecture; what differs from baselines)key_results (benchmarks/metrics; include numbers if available)limitations (specific assumptions/failure modes; avoid generic boilerplate)bibkey for each paper for citation generation.paper_id in papers/core_set.csv appears in papers/paper_notes.jsonl.TODO method/results/limitations.evidence_level is set correctly (abstract vs fulltext).papers/evidence_bank.jsonl exists and meets the selected profile (course paper >=4; A150++ >=7 items/paper on average).uv run python .codex/skills/paper-notes/scripts/run.py --helpuv run python .codex/skills/paper-notes/scripts/run.py --workspace <workspace>--help (this helper is intentionally minimal)priority=high papers:papers/paper_notes.jsonl (e.g., add full-text details for key papers and diversify limitations).priority=high.pipeline.py --strict it will be blocked if high-priority notes are incomplete (missing method/key_results/limitations) or contain placeholders.Symptom:
method/key_results or TODO placeholders.Causes:
Solutions:
priority=high papers: method, ≥1 key_results, ≥3 summary_bullets, ≥1 concrete limitations.pdf-text-extractor in fulltext mode for key papers.Symptom:
Causes:
Solutions:
papers/paper_notes.jsonl covers all papers/core_set.csv paper_ids.priority=high notes satisfy method/results/limitations completeness.TODO remains in high-priority notes.Take willoscar/paper-notes from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.