Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Draft non-prose visuals artifacts (timeline, figure specs) for a survey, grounded in evidence and using citation keys from `citations/ref.bib`. **Trigger**: survey visuals, timeline, figures, visuals, 图表, 时间线, figure spec. **Use when**: survey 的 C4(NO PROSE),已有 outline + claim/evidence + citations,需要先把时间线/图规格落盘。
.claude/skills/willoscar-survey-visuals/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-16 | ✗→✓ | ▲ Improved | -3% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -7% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -58% | 0% |
This skill creates non-prose artifacts that make the writing stage less template-y:
Always read:
references/overview.mdreferences/figure_archetypes.mdRead by task:
references/timeline_patterns.md when building timeline milestonesMachine-readable assets:
assets/figure_templates.yaml — figure archetype specifications (extensible without code changes)Use scripts/run.py only for:
assets/figure_templates.yamlDo not treat run.py as the place for:
Tables are handled by dedicated table skills:
table-schema -> outline/table_schema.mdtable-filler -> outline/tables_index.md (internal index)appendix-table-writer -> outline/tables_appendix.md (reader-facing Appendix tables)outline/outline.ymloutline/claim_evidence_matrix.mdpapers/paper_notes.jsonlcitations/ref.biboutline/timeline.mdoutline/figures.mdoutline/outline.yml + outline/claim_evidence_matrix.md to decide what to visualize.papers/paper_notes.jsonl for year/milestone candidates.citations/ref.bib.1) Read the outline + claim-evidence matrix and pick recurring comparison axes. 2) Timeline (outline/timeline.md):
3) Figures (outline/figures.md):
4) Use only citation keys present in citations/ref.bib.
TODO and no <!-- SCAFFOLD ... --> markers remain in the outputs.outline/timeline.md contains >=8 year bullets and each bullet has >=1 citation marker [@...].outline/figures.md contains >=2 figure specs and each mentions at least one supporting citation.uv run python .codex/skills/survey-visuals/scripts/run.py --helpuv run python .codex/skills/survey-visuals/scripts/run.py --workspace <workspace>--workspace <workspace> (required)--unit-id <id> (optional; used only for runner bookkeeping)--inputs <a;b;c> (optional; defaults to the four Inputs listed above)--outputs <timeline_rel;figures_rel> (optional; defaults to outline/timeline.md;outline/figures.md)--checkpoint <C#> (optional; ignored by the helper)uv run python .codex/skills/survey-visuals/scripts/run.py --workspace <workspace>
uv run python .codex/skills/survey-visuals/scripts/run.py --workspace <workspace> --outputs outline/timeline.md;outline/figures.md
Fix:
[@...].paper-notes / evidence-draft rather than padding.Fix:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | fail→pass | 12,559 | 6,152 | -51% | 1 | 1 | 0% | 1,996 | 2,022 | +1% | 0 | 0 | — |
case-16 | fail→pass | 9,534 | 2,240 | -77% | 1 | 1 | 0% | 1,425 | 1,377 | -3% | 0 | 0 | — |
case-03 | fail→fail | 34,970 | 6,277 | -82% | 1 | 1 | 0% | 6,193 | 1,366 | -78% | 0 | 0 | — |
case-01 | fail→fail | 36,762 | 6,147 | -83% | 1 | 1 | 0% | 6,197 | 1,269 | -80% | 0 | 0 | — |
case-02 | fail→fail | 36,749 | 3,958 | -89% | 1 | 1 | 0% | 6,199 | 1,198 | -81% | 0 | 0 | — |
case-04 | fail→pass | 10,099 | 2,345 | -77% | 1 | 1 | 0% | 1,567 | 1,465 | -7% | 0 | 0 | — |
case-05 | fail→pass | 10,109 | 3,230 | -68% | 1 | 1 | 0% | 1,539 | 1,614 | +5% | 0 | 0 | — |
case-06 | fail→pass | 36,089 | 9,463 | -74% | 1 | 1 | 0% | 6,179 | 2,618 | -58% | 0 | 0 | — |
case-07 | fail→pass | 13,147 | 6,066 | -54% | 1 | 1 | 0% | 2,092 | 1,911 | -9% | 0 | 0 | — |
case-08 | fail→fail | 11,077 | 4,642 | -58% | 1 | 1 | 0% | 1,771 | 1,726 | -3% | 0 | 0 | — |
case-09 | fail→pass | 5,392 | 2,455 | -54% | 1 | 1 | 0% | 869 | 1,431 | +65% | 0 | 0 | — |
case-11 | fail→fail | 13,487 | 4,756 | -65% | 1 | 1 | 0% | 1,868 | 1,784 | -4% | 0 | 0 | — |
case-12 | pass→pass | 13,246 | 3,392 | -74% | 1 | 1 | 0% | 1,847 | 1,618 | -12% | 0 | 0 | — |
case-13 | pass→pass | 12,063 | 3,790 | -69% | 1 | 1 | 0% | 1,768 | 1,616 | -9% | 0 | 0 | — |
case-14 | pass→pass | 9,418 | 3,539 | -62% | 1 | 1 | 0% | 1,382 | 1,538 | +11% | 0 | 0 | — |
case-15 | pass→pass | 12,906 | 8,264 | -36% | 1 | 1 | 0% | 2,062 | 2,138 | +4% | 0 | 0 | — |
case-17 | fail→pass | 13,296 | 2,133 | -84% | 1 | 1 | 0% | 1,880 | 1,314 | -30% | 0 | 0 | — |
case-18 | fail→pass | 10,097 | 2,183 | -78% | 1 | 1 | 0% | 1,609 | 1,389 | -14% | 0 | 0 | — |
case-19 | fail→pass | 10,628 | 1,913 | -82% | 1 | 1 | 0% | 1,666 | 1,279 | -23% | 0 | 0 | — |
case-20 | fail→pass | 11,532 | 3,844 | -67% | 1 | 1 | 0% | 1,678 | 1,561 | -7% | 0 | 0 | — |
case-21 | pass→fail | 12,622 | 3,900 | -69% | 1 | 1 | 0% | 1,996 | 1,679 | -16% | 0 | 0 | — |
case-22 | fail→pass | 8,658 | 1,454 | -83% | 1 | 1 | 0% | 1,259 | 1,198 | -5% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +50 percentage points is the difference between those two pass rates over the 19 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.