story-zoom
Manage multi-level story synchronization. Use when changes at one abstraction level (pitch, structure, scenes, entities, prose) need to propagate to others, or when story elements feel inconsistent across levels.
What this skill does
# Story-Zoom: Multi-Level Fiction Synchronization You manage consistency across abstraction levels in fiction projects. Your role is to detect when changes at one level have created inconsistencies at other levels, and help the writer decide how to resolve them. ## Core Principle **Every story element exists at multiple abstraction levels simultaneously. Consistency across levels is what makes stories feel coherent.** A character's "lie" (from character-arc) must manifest in their dialogue (scene-level), must connect to theme (story-level), and must appear in their synopsis (pitch-level). When any level changes, the others must either update or be flagged as potentially out-of-sync. ## The Abstraction Levels | Level | Name | Directory | Artifacts | Grain | |-------|------|-----------|-----------|-------| | L1 | Pitch | `pitch/` | tagline.md, logline.md, synopsis.md | Story essence | | L2 | Structure | `structure/` | outline.md, beats.md, act-*.md | Story skeleton | | L3 | Scenes | `scenes/` | scene-*.md, chapter-*.md | Story rhythm | | L4 | Entities | `entities/` | characters/, locations/, items/, timeline.md | Story elements | | L5 | Manuscript | `manuscript/` | chapter-*.md (actual prose) | Story surface | ## Architecture: Dumb Logger + Smart LLM This skill works with a simple file watcher daemon that logs changes. The daemon does NO semantic understanding - it just records what files changed and when. **You do the thinking.** When invoked, you: 1. Read the change log since last review 2. Read the changed files 3. Find related files (via wiki-links, directory structure, explicit references) 4. Use your understanding of narrative to identify what's now inconsistent 5. Propose resolutions for the writer to approve ### Why This Architecture? Regular code cannot understand semantic impact. Only you can recognize that "Marcus's lie changed from 'I failed her' to 'I could have saved her'" means "the dialogue in scene 47 where he says 'I did everything I could' now contradicts his character arc." The daemon just logs. You reason. ## The States ### State Z1: No Story State (Cold Start) **Symptoms:** Writer has story files but no `story-state/` directory. No change tracking exists. Drift accumulates invisibly. **Key Questions:** - What story files exist and in which directories? - Is there an existing outline, character sheets, manuscript? - What's the current source of truth for each level? **Interventions:** 1. Run `init.ts` to create `story-state/` directory 2. Inventory existing files by level 3. Start the watcher daemon 4. Establish baseline (everything currently "in sync" by definition) --- ### State Z2: Siloed Work (Level Isolation) **Symptoms:** Writer has been working at one level without checking others. Change log shows many modifications to one directory, none to others. "I've been drafting for weeks and haven't looked at my outline." **Key Questions:** - Which level have you been focused on? - When did you last review other levels? - Have any fundamental story decisions changed during this work? **Interventions:** 1. Review change log to identify scope of changes 2. Read files at the worked level to understand what evolved 3. Compare against other levels for drift 4. Create prioritized list of potential inconsistencies 5. Work through most critical first (usually L2 structure, then L4 entities) --- ### State Z3: Cascade Overload (Too Many Pending Changes) **Symptoms:** A significant change (protagonist's motivation, major plot point, setting detail) has rippled everywhere. Writer is paralyzed by the scope. "I changed one thing and now everything feels broken." **Key Questions:** - What was the root change? - Which levels does it directly affect? - What's the priority order for updates? **Interventions:** 1. Identify the root change clearly 2. Triage affected files by impact: - **BLOCKING**: Must update before continuing (structural elements) - **HIGH**: Should update soon (character consistency) - **DEFERRABLE**: Can wait (prose polish) 3. Create a propagation plan with sequence 4. Work through one level at a time, not all at once 5. Mark each as resolved before moving to next --- ### State Z4: Conflict Deadlock **Symptoms:** Multiple elements conflict and fixing one seems to break another. Circular dependencies. "If I change his motivation, the ending doesn't work. But the ending requires this motivation." **Key Questions:** - What are the conflicting constraints? - Which level has authority (usually L2 structure > L4 entities > L5 prose)? - Is there a higher-level decision that would resolve the conflict? **Interventions:** 1. Map the conflict explicitly (A requires B, B requires not-A) 2. Identify if this is a genuine story problem or a perceived one 3. Look for the hidden assumption creating the deadlock 4. Often the resolution is at a higher level than where conflict appears 5. May need to escalate to story-sense for structural diagnosis --- ### State Z5: Drift Accumulation (Vague Incoherence) **Symptoms:** No single glaring conflict, but "something feels off." Story doesn't hang together. Characters behave inconsistently. Timeline is fuzzy. **Key Questions:** - When was the last comprehensive review? - Are wiki-links still accurate? - Has the story evolved without the documentation? **Interventions:** 1. Full audit across all levels 2. Re-read pitch-level documents - does synopsis still match the actual story? 3. Check entity definitions against their appearances in scenes 4. Look for implicit assumptions that were never documented 5. Update state.md with current understanding --- ### State Z6: Stale State (Document Rot) **Symptoms:** `story-state/` exists but hasn't been maintained. Writer works around it. Dashboard shows green but story is clearly inconsistent. **Key Questions:** - Is active maintenance worth it for this project? - What's preventing regular use? - Should we refresh or archive? **Interventions:** 1. Decide: refresh or abandon tracking 2. If refresh: treat as Z1 (re-initialize from current state) 3. If abandon: archive story-state, work without tracking 4. Address workflow friction that caused abandonment --- ## Diagnostic Process When invoked (via `/story-zoom` or `/story-zoom review`): ### 1. Check for story-state directory ``` If no ./story-state/ exists: → State Z1: Offer to initialize ``` ### 2. Read change log ``` Read ./story-state/change-log.jsonl Get last-review timestamp from ./story-state/last-review.json Filter to changes since last review ``` ### 3. Assess change scope ``` If no changes since last review: → "No changes detected. Story state appears current." If changes only in one directory: → Potential Z2 (siloed work) If many changes across multiple directories: → Potential Z3 (cascade) or Z5 (drift) ``` ### 4. Read changed files For each changed file, read its current content. ### 5. Find related files For each changed file: - Extract wiki-links (`[[entity-name]]`) - Check directory siblings (other files in same folder) - Check files at adjacent levels (L2 structure ↔ L3 scenes) ### 6. Analyze for inconsistencies This is where your narrative understanding matters. Look for: - Character attributes that don't match their behavior - Plot points in outline that don't appear in scenes - Entity details that contradict prose descriptions - Timeline inconsistencies - Thematic drift from pitch documents ### 7. Report findings Present findings organized by severity: - **Conflicts**: Direct contradictions requiring resolution - **Drift**: Potential inconsistencies worth checking - **Updates**: Suggested propagations ### 8. Update tracking After writer reviews: - Update `last-review.json` with current timestamp - Update `state.md` dashboard with current status --- ## Key Questions for Analysis ### When Reading Pitch (L1) Changes - Does the logline still capture the story being written? - Has the protagonist's core conflict shifted? - Is the
Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.