willoscar/grad-paragraph
| Write one survey-quality paragraph from evidence packs (tension → contrast → evaluation anchor → limitation).
npx skills add https://github.com/WILLOSCAR/research-units-pipeline-skills --skill grad-paragraph
Purpose: produce a single paragraph that reads like real survey prose, not “outline expansion”.
This is a writing micro-skill you can apply repeatedly inside subsection-writer (per H3 file under sections/).
Mission: decide the paragraph’s tension/contrast/eval/limitation before writing.
Do:
Avoid:
Mission: turn the plan into one content-bearing paragraph with embedded citations.
Do:
Avoid:
You are writing one paragraph of a technical survey.
Your job is to perform one argument move under evidence:
- tension/question (why this matters here)
- explicit contrast (A vs B; not a list)
- evaluation anchor (task/metric/constraint)
- limitation (what breaks transfer or comparability)
Style:
- natural prose, content-bearing
- no narration (“This paragraph surveys…”)
- no repeated discourse stems across paragraphs
Constraints:
- do not invent facts or citations
- embed citations inside the sentence that needs them
- stay within the subsection’s citation scope
In one paragraph (typically 4–6 sentences), cover:
outline/subsection_briefs.jsonl (for rq, axes, clusters, paragraph_plan)outline/evidence_drafts.jsonl (for evidence snippets + candidate comparisons)outline/evidence_bindings.jsonl (allowed citations for this H3)citations/ref.bibsections/S<sub_id>.md file.Write a 4-line plan before prose:
1) Tension sentence (1 line)
2) Contrast sentence (1 line; A vs B)
3) Evaluation anchor sentence (1 line)
4) Limitation sentence (1 line)
Rules:
Turn the plan into one natural paragraph.
Rules:
Key takeaway:; let the sentence carry the point....; however, ...) over “PPT narration” signposting.Bad (template narration + vague claims + cite dump):
This subsection surveys how agents use memory. Taken together, these approaches improve performance across tasks [@example2023; @example2024; @example2025].
Why it is bad:
Good (tension -> contrast -> eval anchor -> limitation; citations embedded):
Plan (kept out of final prose):
1) Tension: Memory increases capability but makes evaluation and reproducibility harder.
2) Contrast: Retrieval-style memory [@example2023] differs from write-heavy episodic memory [@example2024] in what gets stored and when it can be trusted.
3) Eval anchor: Results are typically reported on agent benchmarks with success-rate style metrics under tool/budget constraints (state the specific benchmark/metric when available).
4) Limitation: Comparisons remain fragile when protocols differ or when memory writes are not logged, so some gains may not transfer.
Paragraph (final prose):
A recurring tension in agent memory is that richer state can expand what the system can do, yet it also complicates evaluation and reproducibility. Retrieval-style designs emphasize selecting and grounding a small working set of relevant context [@example2023], whereas write-heavy episodic approaches accumulate longer-term traces that can change the agent behavior across episodes [@example2024]. These choices often surface in benchmarked evaluations as different failure patterns under fixed tool and budget constraints (e.g., higher success at the cost of more brittle behavior when memory writes are noisy). At the same time, cross-paper comparisons remain limited when protocols are not aligned or when memory writes are not transparently logged, making it unclear which gains reflect memory design versus evaluation artifacts.
... / … / TODO / scaffold phrases.whereas, however, in contrast, 相比, 不同于, 相较.benchmark, dataset, metric, protocol, evaluation, 评测, 基准, 数据集, 指标.limited, unclear, sensitive, may, 缺乏, 受限, 尚不明确, 需要核验.[@BibKey]) and subsection-scoped (in outline/evidence_bindings.jsonl).Symptom:
Causes:
Solutions:
Concrete comparisons / Failure/limitations in the evidence pack.Symptom:
Causes:
Solutions:
papers/paper_notes.jsonl (abstract/fulltext) and rerun evidence-draft.Take willoscar/grad-paragraph 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.