narrative-dimensions-analysis
npx skills add https://github.com/wmiles81/narrative-dimensions-analysis --skill narrative-dimensions-analysis
Agent 安装分布
Skill 文档
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.