narrative-dimensions-analysis
Physics-inspired story analysis system that treats narrative as trajectories through dimensional space. Tracks dimensions like intimacy, trust, power, and stakes to calculate tension, validate pacing, and diagnose story problems. Genre-aware with formulas for romance, thriller, mystery, and fantasy. Use when analyzing story structure, engineering tension, validating character arcs, diagnosing pacing issues, or generating dimensional targets for scenes.
When & Why to Use This Skill
This Claude skill provides a physics-inspired narrative analysis system that treats storytelling as a trajectory through multidimensional phase space. By quantifying narrative variables such as intimacy, power dynamics, and stakes, it allows writers and editors to mathematically calculate tension, diagnose pacing issues, and validate character arcs with genre-aware precision.
Use Cases
- Diagnosing 'flat' scenes by calculating dimensional velocity to identify lack of narrative movement or character progression.
- Engineering high-tension sequences by optimizing the configuration of stakes, trust, and information asymmetry based on genre-specific formulas.
- Validating character arcs to ensure emotional development is 'earned' through continuous dimensional trajectories rather than abrupt, unearned jumps.
- Mapping full-book trajectories for genres like Romance or Thriller to ensure the 'Black Moment' and ending coordinates meet structural requirements.
- Generating dimensional targets for specific scenes to provide clear creative direction for drafting and rewriting.
| name | narrative-dimensions-analysis |
|---|---|
| description | Physics-inspired story analysis system that treats narrative as trajectories through dimensional space. Tracks dimensions like intimacy, trust, power, and stakes to calculate tension, validate pacing, and diagnose story problems. Genre-aware with formulas for romance, thriller, mystery, and fantasy. Use when analyzing story structure, engineering tension, validating character arcs, diagnosing pacing issues, or generating dimensional targets for scenes. |
A physics-inspired approach to story analysis that treats narrative as movement through multidimensional phase space.
Quick Start
For immediate analysis, specify:
- Content level: concept, outline, chapter, book, or series
- Genre: romance, dark-romance, thriller, mystery, sci-fi, fantasy, or hybrid
- What to analyze: structure, pacing, tension, character arcs, or full diagnostic
Core Concept
Stories exist as trajectories through N-dimensional space where each dimension represents an independent narrative variable. Tension and other dramatic qualities emerge from the configuration of these dimensions.
State Vector: s(t) = [intimacy, power_diff, info_asym, alignment, proximity, vulnerability, desire, stakes, trust]
Basis Dimensions (Independent Variables)
Primary Dimensions (0-10 scale unless noted)
- INTIMACY - Emotional closeness between characters
- POWER_DIFFERENTIAL - Agency imbalance (-5 to +5, where 0 = balanced)
- INFORMATION_ASYMMETRY - Knowledge gaps between characters
- GOAL_ALIGNMENT - How much characters want the same thing
- PHYSICAL_PROXIMITY - Literal spatial distance
- VULNERABILITY - Emotional walls up/down state
- DESIRE - Attraction/pull between characters
- STAKES - Magnitude of consequences
- TRUST - Belief in other's reliability
Secondary Dimensions (genre-specific)
- DANGER - Physical threat level (thriller/suspense)
- MYSTERY - Unknown elements to reader (mystery/thriller)
- WORLD_COMPLEXITY - Setting intricacy (fantasy/sci-fi)
- SOCIAL_PRESSURE - External judgment (contemporary romance)
- MORAL_AMBIGUITY - Ethical grayness (dark romance)
Emergent Properties (Calculated)
Tension Formula
Base tension emerges from dimensional configuration:
TENSION = w₁(stakes) + w₂(info_asymmetry) + w₃(goal_misalignment) +
w₄(vulnerability - trust) + w₅(desire - proximity) + w₆(|power_diff|)
Genre-specific weights in references/genre-weights.json
Other Emergent Properties
- CONFLICT = f(power_diff, goal_misalignment, desire with proximity deficit)
- CHEMISTRY = f(desire, proximity, vulnerability, productive info_asymmetry)
- PACING = ||ds/dt|| (velocity through phase space)
- DRAMATIC_IRONY = reader_info - character_info
Analysis Procedures
Structure Analysis
- Map current dimensional configuration
- Check genre constraint satisfaction
- Identify trajectory patterns
- Validate ending coordinates match genre requirements
Pacing Diagnostic
Calculate velocity vector: v(t) = ds/dt
- Stuck: ||v|| ≈ 0 (no dimensional movement)
- Rushed: ||v|| > threshold (teleportation between states)
- Optimal: 2-3 dimensions shifting per unit
Tension Engineering
To increase tension:
- Maximize (stakes - trust)
- Maximize (desire - proximity)
- Increase information asymmetry with high vulnerability
- Force proximity with misaligned goals
Arc Validation
Check if dimensional changes are "earned":
- Each jump > 2 points needs catalyst event
- Trajectory must be continuous (no teleportation)
- Character growth shows across multiple dimensions
The "Black Moment" Formula
Peak crisis configuration:
- Stakes → MAX
- Trust → MIN
- Goal Alignment → SHATTERED
- Desire → HIGH (maintains investment)
Genre-Specific Configurations
See references/genre-configs.md for detailed patterns
Quick Genre Templates
Romance: Must end at intimacy ≥ 8, trust ≥ 7 Dark Romance: Maintain power_diff fluctuation, high stakes throughout Thriller: Danger + stakes high, trust variable Mystery: Information asymmetry drives plot until revelation Enemies-to-Lovers: Goal alignment slowest mover
Diagnostic Outputs
Scene-Level Analysis
- Current dimensional state
- Dimensional velocity (what's changing)
- Tension calculation
- Suggested adjustments
Chapter-Level Analysis
- Dimensional trajectory map
- Pacing assessment
- Arc progression check
- Genre compliance status
Book-Level Analysis
- Full phase space trajectory
- Character arc paths
- Pacing heat map
- Black moment validation
- Ending coordinate check
Scripts
scripts/calculate_tension.py- Compute tension from dimensional statescripts/validate_trajectory.py- Check if arc is properly earnedscripts/generate_report.py- Create full dimensional analysis report
References
references/genre-weights.json- Tension formula weights by genrereferences/genre-configs.md- Detailed genre conventions and constraintsreferences/catalyst-events.md- Events that justify dimensional jumpsreferences/diagnostic-patterns.md- Common problems and solutions
Usage Examples
Diagnosing a Flat Scene
# Current state shows no movement
state = {"intimacy": 5, "trust": 5, "stakes": 5, ...}
# All dimensions static = death
# Solution: Move 2-3 dimensions
Planning Dark Romance Arc
Start: power_diff=+5, trust=0, stakes=10, desire=3
Mid: power_diff oscillates, trust climbs slowly, stakes high
End: power_diff=0, trust=8, stakes=personal, desire=10
Engineering High Tension Chapter
Target configuration:
- Stakes: 9
- Trust: 2
- Information Asymmetry: 8
- Vulnerability: 7
- Physical Proximity: 8 (forced closeness)
Key Principles
- Stories are trajectories - Not events but dimensional movement
- Tension emerges - From configuration, not arbitrary assignment
- Pacing is velocity - How fast you move through phase space
- Genres constrain paths - Not destinations but allowable trajectories
- Earned moments - Require proper path integration, not jumps
Remember: The same kiss hits differently at intimacy=2 vs intimacy=8. Context is configuration.