src/autoskillit/skills_extended/vis-lens-story-arc/SKILL.md
Create Narrative Story Arc visualization planning spec showing visual consistency across the report (same color = same model everywhere), logical figure progression, redundant figure detection, and narrative dependency between figures. Narrative lens answering "Do the figures tell a coherent story across the report?"
npx skillsauth add talont-org/autoskillit vis-lens-story-arcInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Philosophical Mode: Narrative Primary Question: "Do the figures tell a coherent story across the report?" Focus: Visual consistency (same color = same model everywhere), logical figure progression (each figure builds on the previous), no redundant figures (same data shown twice), narrative dependency between figures (figure N motivates figure N+1)
/autoskillit:vis-lens-story-arc [context_path] [experiment_plan_path]
/autoskillit:vis-lens-story-arcNEVER:
{{AUTOSKILLIT_TEMP}}/vis-lens-story-arc/ALWAYS:
Build a global color→entity mapping table across all figures; flag any inconsistency
Number all figures and write a one-sentence narrative role for each
Flag any figure whose narrative role duplicates another (same question, same data)
Verify that figures appear in a logical dependency order (motivation → method → result → implication)
The primary diagram output is a figure-sequence flow diagram (mermaid) showing narrative dependencies
BEFORE creating any diagram, LOAD the /autoskillit:mermaid skill using the Skill tool — this is MANDATORY
If the Skill tool cannot be used (disable-model-invocation) or refuses this invocation, do NOT proceed with diagram creation. Abort this step and omit the diagram from output.
Write output to {{AUTOSKILLIT_TEMP}}/vis-lens-story-arc/vis_spec_story_arc_{YYYY-MM-DD_HHMMSS}.md (relative to the current working directory)
After writing the file, emit the structured output token as literal plain text with no markdown formatting on the token name (the adjudicator performs a regex match):
diagram_path = /absolute/path/to/{{AUTOSKILLIT_TEMP}}/vis-lens-story-arc/vis_spec_story_arc_{...}.md
If positional arg 1 (context_path) is provided and the file exists, read it to obtain IV/DV tables, H0/H1 hypotheses, controlled variables, and success criteria. If positional arg 2 (experiment_plan_path) is provided and exists, read the experiment plan for full methodology. Use this structured context as the foundation for Steps 1–4; skip the CWD exploration for these fields if the context file supplies them.
List all planned figures in document order. For each figure record:
Scan all figure descriptions and plotting code for color/palette assignments:
For each pair of figures, check:
For each figure, identify:
For each figure, emit one yaml:figure-spec fenced block. Then LOAD /autoskillit:mermaid
and create a figure-sequence flow diagram showing narrative dependencies between figures.
# Narrative Story Arc Spec: {System / Experiment Name}
**Lens:** Narrative Story Arc (Narrative)
**Question:** Do the figures tell a coherent story across the report?
**Date:** {YYYY-MM-DD}
**Scope:** {What was analyzed}
## Global Color Map
| Color | Entity | Consistent Across Figures |
|-------|--------|--------------------------|
| #1f77b4 | Model A | PASS |
| #ff7f0e | Baseline | FAIL (blue in fig-03) |
## Figure Sequence Summary
| Figure | Section | Narrative Role | Depends On | Redundant? |
|--------|---------|----------------|------------|------------|
| fig-01 | Results | Establish main result | — | No |
| fig-02 | Results | Show ablation | fig-01 | No |
## Figure Specs
```yaml
# yaml:figure-spec — canonical schema (spec_version: "1.0")
figure_id: "fig-01-main-result"
figure_title: "Model A achieves state-of-the-art on all benchmarks"
spec_version: "1.0"
chart_type: "bar"
chart_type_fallback: "table"
perceptual_justification: "Grouped bars directly compare models; color consistent with fig-02 through fig-05."
data_source: "results/main.csv"
data_mapping:
x: "benchmark"
y: "score"
color: "model"
size: ""
facet: ""
layout:
width_inches: 6.0
height_inches: 4.0
dpi: 300
stat_overlay:
type: "error_bar"
measure: "CI95"
n_seeds: 5
annotations: ["Narrative role: introduce main result; motivates fig-02 ablation"]
anti_patterns: []
palette: "okabe-ito"
format: "pdf"
target_dpi: 300
library: "matplotlib"
report_section: "Section 4 Results"
priority: "P0"
placement_tier: "main"
conflicts: []
metadata:
created_by: "vis-lens-story-arc"
reviewed_by: ""
last_updated: "{YYYY-MM-DD}"
%%{init: {'flowchart': {'nodeSpacing': 50, 'rankSpacing': 60, 'curve': 'basis'}}}%%
flowchart TB
%% CLASS DEFINITIONS %%
classDef cli fill:#1a237e,stroke:#7986cb,stroke-width:2px,color:#fff;
classDef stateNode fill:#004d40,stroke:#4db6ac,stroke-width:2px,color:#fff;
classDef handler fill:#e65100,stroke:#ffb74d,stroke-width:2px,color:#fff;
classDef output fill:#00695c,stroke:#4db6ac,stroke-width:2px,color:#fff;
classDef detector fill:#b71c1c,stroke:#ef5350,stroke-width:2px,color:#fff;
F1["fig-01: Main Result<br/>━━━━━━━━━━<br/>Establish benchmark SOTA"]
F2["fig-02: Ablation<br/>━━━━━━━━━━<br/>Component contribution"]
F3["fig-03: Scaling<br/>━━━━━━━━━━<br/>Performance vs. size"]
F4["fig-04: Error Analysis<br/>━━━━━━━━━━<br/>Failure mode taxonomy"]
F1 --> F2
F1 --> F3
F2 --> F4
class F1 stateNode;
class F2,F3 handler;
class F4 output;
Color Legend: | Color | Category | Description | |-------|----------|-------------| | Dark Teal | Anchor | Primary result figure | | Orange | Derived | Figures that build on anchor | | Dark Teal (output) | Terminal | Figures that conclude a narrative thread |
---
## Pre-Diagram Checklist
Before creating the diagram, verify:
- [ ] LOADED `/autoskillit:mermaid` skill using the Skill tool
- [ ] Using ONLY classDef styles from the mermaid skill (no invented colors)
- [ ] Diagram will include a color legend table
- [ ] Global color map table is complete before creating the diagram
- [ ] Every color inconsistency has been flagged
- [ ] Every redundant figure pair has been identified
development
Generate YAML recipes for .autoskillit/recipes/. Use when user says "make script skill", "generate script", "script a workflow", "write a script", "create a script", "new recipe", "write a pipeline", or when loaded by other skills for script formatting.
data-ai
Create Uncertainty Representation visualization planning spec showing error bar definitions, distribution-aware alternatives, and multi-seed variance protocols. Statistical lens answering "How is uncertainty honestly represented?"
data-ai
Create Temporal Dynamics visualization planning spec showing axis scaling (linear vs log), smoothing disclosure, epoch/step alignment, run aggregation (mean + variance bands), early-stopping markers, and wall-clock vs step-count x-axis. Temporal lens answering "Are training dynamics shown clearly and honestly?"
development
Create Replicative Reproducibility visualization planning spec showing data availability, preprocessing parameter disclosure (bin widths, smoothing windows), plotting library/version, random seeds, and code reference per figure. Replicative lens answering "Can the figures be reproduced from the data and code?"