kollabor 0.4.9__py3-none-any.whl → 0.4.15__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. agents/__init__.py +2 -0
  2. agents/coder/__init__.py +0 -0
  3. agents/coder/agent.json +4 -0
  4. agents/coder/api-integration.md +2150 -0
  5. agents/coder/cli-pretty.md +765 -0
  6. agents/coder/code-review.md +1092 -0
  7. agents/coder/database-design.md +1525 -0
  8. agents/coder/debugging.md +1102 -0
  9. agents/coder/dependency-management.md +1397 -0
  10. agents/coder/git-workflow.md +1099 -0
  11. agents/coder/refactoring.md +1454 -0
  12. agents/coder/security-hardening.md +1732 -0
  13. agents/coder/system_prompt.md +1448 -0
  14. agents/coder/tdd.md +1367 -0
  15. agents/creative-writer/__init__.py +0 -0
  16. agents/creative-writer/agent.json +4 -0
  17. agents/creative-writer/character-development.md +1852 -0
  18. agents/creative-writer/dialogue-craft.md +1122 -0
  19. agents/creative-writer/plot-structure.md +1073 -0
  20. agents/creative-writer/revision-editing.md +1484 -0
  21. agents/creative-writer/system_prompt.md +690 -0
  22. agents/creative-writer/worldbuilding.md +2049 -0
  23. agents/data-analyst/__init__.py +30 -0
  24. agents/data-analyst/agent.json +4 -0
  25. agents/data-analyst/data-visualization.md +992 -0
  26. agents/data-analyst/exploratory-data-analysis.md +1110 -0
  27. agents/data-analyst/pandas-data-manipulation.md +1081 -0
  28. agents/data-analyst/sql-query-optimization.md +881 -0
  29. agents/data-analyst/statistical-analysis.md +1118 -0
  30. agents/data-analyst/system_prompt.md +928 -0
  31. agents/default/__init__.py +0 -0
  32. agents/default/agent.json +4 -0
  33. agents/default/dead-code.md +794 -0
  34. agents/default/explore-agent-system.md +585 -0
  35. agents/default/system_prompt.md +1448 -0
  36. agents/kollabor/__init__.py +0 -0
  37. agents/kollabor/analyze-plugin-lifecycle.md +175 -0
  38. agents/kollabor/analyze-terminal-rendering.md +388 -0
  39. agents/kollabor/code-review.md +1092 -0
  40. agents/kollabor/debug-mcp-integration.md +521 -0
  41. agents/kollabor/debug-plugin-hooks.md +547 -0
  42. agents/kollabor/debugging.md +1102 -0
  43. agents/kollabor/dependency-management.md +1397 -0
  44. agents/kollabor/git-workflow.md +1099 -0
  45. agents/kollabor/inspect-llm-conversation.md +148 -0
  46. agents/kollabor/monitor-event-bus.md +558 -0
  47. agents/kollabor/profile-performance.md +576 -0
  48. agents/kollabor/refactoring.md +1454 -0
  49. agents/kollabor/system_prompt copy.md +1448 -0
  50. agents/kollabor/system_prompt.md +757 -0
  51. agents/kollabor/trace-command-execution.md +178 -0
  52. agents/kollabor/validate-config.md +879 -0
  53. agents/research/__init__.py +0 -0
  54. agents/research/agent.json +4 -0
  55. agents/research/architecture-mapping.md +1099 -0
  56. agents/research/codebase-analysis.md +1077 -0
  57. agents/research/dependency-audit.md +1027 -0
  58. agents/research/performance-profiling.md +1047 -0
  59. agents/research/security-review.md +1359 -0
  60. agents/research/system_prompt.md +492 -0
  61. agents/technical-writer/__init__.py +0 -0
  62. agents/technical-writer/agent.json +4 -0
  63. agents/technical-writer/api-documentation.md +2328 -0
  64. agents/technical-writer/changelog-management.md +1181 -0
  65. agents/technical-writer/readme-writing.md +1360 -0
  66. agents/technical-writer/style-guide.md +1410 -0
  67. agents/technical-writer/system_prompt.md +653 -0
  68. agents/technical-writer/tutorial-creation.md +1448 -0
  69. core/__init__.py +0 -2
  70. core/application.py +343 -88
  71. core/cli.py +229 -10
  72. core/commands/menu_renderer.py +463 -59
  73. core/commands/registry.py +14 -9
  74. core/commands/system_commands.py +2461 -14
  75. core/config/loader.py +151 -37
  76. core/config/service.py +18 -6
  77. core/events/bus.py +29 -9
  78. core/events/executor.py +205 -75
  79. core/events/models.py +27 -8
  80. core/fullscreen/command_integration.py +20 -24
  81. core/fullscreen/components/__init__.py +10 -1
  82. core/fullscreen/components/matrix_components.py +1 -2
  83. core/fullscreen/components/space_shooter_components.py +654 -0
  84. core/fullscreen/plugin.py +5 -0
  85. core/fullscreen/renderer.py +52 -13
  86. core/fullscreen/session.py +52 -15
  87. core/io/__init__.py +29 -5
  88. core/io/buffer_manager.py +6 -1
  89. core/io/config_status_view.py +7 -29
  90. core/io/core_status_views.py +267 -347
  91. core/io/input/__init__.py +25 -0
  92. core/io/input/command_mode_handler.py +711 -0
  93. core/io/input/display_controller.py +128 -0
  94. core/io/input/hook_registrar.py +286 -0
  95. core/io/input/input_loop_manager.py +421 -0
  96. core/io/input/key_press_handler.py +502 -0
  97. core/io/input/modal_controller.py +1011 -0
  98. core/io/input/paste_processor.py +339 -0
  99. core/io/input/status_modal_renderer.py +184 -0
  100. core/io/input_errors.py +5 -1
  101. core/io/input_handler.py +211 -2452
  102. core/io/key_parser.py +7 -0
  103. core/io/layout.py +15 -3
  104. core/io/message_coordinator.py +111 -2
  105. core/io/message_renderer.py +129 -4
  106. core/io/status_renderer.py +147 -607
  107. core/io/terminal_renderer.py +97 -51
  108. core/io/terminal_state.py +21 -4
  109. core/io/visual_effects.py +816 -165
  110. core/llm/agent_manager.py +1063 -0
  111. core/llm/api_adapters/__init__.py +44 -0
  112. core/llm/api_adapters/anthropic_adapter.py +432 -0
  113. core/llm/api_adapters/base.py +241 -0
  114. core/llm/api_adapters/openai_adapter.py +326 -0
  115. core/llm/api_communication_service.py +167 -113
  116. core/llm/conversation_logger.py +322 -16
  117. core/llm/conversation_manager.py +556 -30
  118. core/llm/file_operations_executor.py +84 -32
  119. core/llm/llm_service.py +934 -103
  120. core/llm/mcp_integration.py +541 -57
  121. core/llm/message_display_service.py +135 -18
  122. core/llm/plugin_sdk.py +1 -2
  123. core/llm/profile_manager.py +1183 -0
  124. core/llm/response_parser.py +274 -56
  125. core/llm/response_processor.py +16 -3
  126. core/llm/tool_executor.py +6 -1
  127. core/logging/__init__.py +2 -0
  128. core/logging/setup.py +34 -6
  129. core/models/resume.py +54 -0
  130. core/plugins/__init__.py +4 -2
  131. core/plugins/base.py +127 -0
  132. core/plugins/collector.py +23 -161
  133. core/plugins/discovery.py +37 -3
  134. core/plugins/factory.py +6 -12
  135. core/plugins/registry.py +5 -17
  136. core/ui/config_widgets.py +128 -28
  137. core/ui/live_modal_renderer.py +2 -1
  138. core/ui/modal_actions.py +5 -0
  139. core/ui/modal_overlay_renderer.py +0 -60
  140. core/ui/modal_renderer.py +268 -7
  141. core/ui/modal_state_manager.py +29 -4
  142. core/ui/widgets/base_widget.py +7 -0
  143. core/updates/__init__.py +10 -0
  144. core/updates/version_check_service.py +348 -0
  145. core/updates/version_comparator.py +103 -0
  146. core/utils/config_utils.py +685 -526
  147. core/utils/plugin_utils.py +1 -1
  148. core/utils/session_naming.py +111 -0
  149. fonts/LICENSE +21 -0
  150. fonts/README.md +46 -0
  151. fonts/SymbolsNerdFont-Regular.ttf +0 -0
  152. fonts/SymbolsNerdFontMono-Regular.ttf +0 -0
  153. fonts/__init__.py +44 -0
  154. {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/METADATA +54 -4
  155. kollabor-0.4.15.dist-info/RECORD +228 -0
  156. {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/top_level.txt +2 -0
  157. plugins/agent_orchestrator/__init__.py +39 -0
  158. plugins/agent_orchestrator/activity_monitor.py +181 -0
  159. plugins/agent_orchestrator/file_attacher.py +77 -0
  160. plugins/agent_orchestrator/message_injector.py +135 -0
  161. plugins/agent_orchestrator/models.py +48 -0
  162. plugins/agent_orchestrator/orchestrator.py +403 -0
  163. plugins/agent_orchestrator/plugin.py +976 -0
  164. plugins/agent_orchestrator/xml_parser.py +191 -0
  165. plugins/agent_orchestrator_plugin.py +9 -0
  166. plugins/enhanced_input/box_styles.py +1 -0
  167. plugins/enhanced_input/color_engine.py +19 -4
  168. plugins/enhanced_input/config.py +2 -2
  169. plugins/enhanced_input_plugin.py +61 -11
  170. plugins/fullscreen/__init__.py +6 -2
  171. plugins/fullscreen/example_plugin.py +1035 -222
  172. plugins/fullscreen/setup_wizard_plugin.py +592 -0
  173. plugins/fullscreen/space_shooter_plugin.py +131 -0
  174. plugins/hook_monitoring_plugin.py +436 -78
  175. plugins/query_enhancer_plugin.py +66 -30
  176. plugins/resume_conversation_plugin.py +1494 -0
  177. plugins/save_conversation_plugin.py +98 -32
  178. plugins/system_commands_plugin.py +70 -56
  179. plugins/tmux_plugin.py +154 -78
  180. plugins/workflow_enforcement_plugin.py +94 -92
  181. system_prompt/default.md +952 -886
  182. core/io/input_mode_manager.py +0 -402
  183. core/io/modal_interaction_handler.py +0 -315
  184. core/io/raw_input_processor.py +0 -946
  185. core/storage/__init__.py +0 -5
  186. core/storage/state_manager.py +0 -84
  187. core/ui/widget_integration.py +0 -222
  188. core/utils/key_reader.py +0 -171
  189. kollabor-0.4.9.dist-info/RECORD +0 -128
  190. {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/WHEEL +0 -0
  191. {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/entry_points.txt +0 -0
  192. {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,1073 @@
1
+ <!-- Plot Structure skill - story architecture and pacing mastery -->
2
+
3
+ plot structure mode: TENSION OVER TEMPLATE
4
+
5
+ when this skill is active, you follow story-first discipline.
6
+ this is a comprehensive guide to structuring compelling narratives.
7
+
8
+
9
+ PHASE 0: PROJECT IDENTIFICATION
10
+
11
+ before structuring ANY plot, identify the story's fundamental nature.
12
+
13
+
14
+ check format and length
15
+
16
+ <read><file>project_brief.md</file></read>
17
+
18
+ if no project brief exists, create one:
19
+ <create>
20
+ <file>project_brief.md</file>
21
+ <content>
22
+ # Project Brief
23
+
24
+ ## Format
25
+ [ ] novel (80,000+ words)
26
+ [ ] novella (20,000-50,000 words)
27
+ [ ] short story (1,000-7,500 words)
28
+ [ ] flash fiction (under 1,000 words)
29
+ [ ] screenplay / script
30
+ [ ] other: ___________
31
+
32
+ ## Genre
33
+ [primary genre]
34
+ [secondary elements]
35
+
36
+ ## Core Conflict
37
+ [protagonist] wants [goal] but [antagonist/force] opposes because [reason]
38
+
39
+ ## Stakes
40
+ what happens if protagonist fails?
41
+ what happens if protagonist succeeds?
42
+ </content>
43
+ </create>
44
+
45
+
46
+ format determines structure
47
+
48
+ different formats have different structural requirements:
49
+
50
+ novel:
51
+ - room for subplots and multiple threads
52
+ - can develop complex secondary characters
53
+ - allows for extensive worldbuilding
54
+ - typically follows 3-act or 4-act structure
55
+ - target: 80,000-120,000 words
56
+
57
+ short story:
58
+ - single core conflict
59
+ - limited cast (3-5 characters max)
60
+ - one primary location or tightly connected locations
61
+ - follows micro-structure (setup, escalation, reversal)
62
+ - target: 2,000-5,000 words
63
+
64
+ flash fiction:
65
+ - one moment, one change
66
+ - single character focus
67
+ - immediate impact
68
+ - structure: situation -> action -> revelation
69
+ - target: 500-1,000 words
70
+
71
+ screenplay:
72
+ - external action focus
73
+ - visual storytelling
74
+ - strict three-act structure
75
+ - 90-120 pages = 90-120 minutes
76
+
77
+
78
+ identify target audience and genre expectations
79
+
80
+ <terminal>find . -name "*genre*" -o -name "*audience*" -o -name "*market*" 2>/dev/null | head -5</terminal>
81
+
82
+ genre expectations shape structure:
83
+
84
+ thriller:
85
+ - faster pacing throughout
86
+ - higher stakes earlier
87
+ - more plot twists
88
+ - clearer external conflict
89
+
90
+ literary fiction:
91
+ - can be slower
92
+ - emphasis on character arc over plot beats
93
+ - internal conflict may equal or exceed external
94
+ - ambiguity allowed
95
+
96
+ romance:
97
+ - meet-cute early
98
+ - midpoint complications to relationship
99
+ - black moment near end
100
+ - happily ever after required
101
+
102
+ science fiction / fantasy:
103
+ - worldbuilding integrated with plot
104
+ - clear stakes (save world/kingdom/universe)
105
+ - final confrontation with antagonist
106
+
107
+ match structure to reader expectations.
108
+
109
+
110
+ PHASE 1: THE THREE-ACT FOUNDATION
111
+
112
+ the three-act structure is not a formula. it's a shape that stories
113
+ naturally take because it mirrors how we experience change.
114
+
115
+
116
+ act one: setup (25% of story)
117
+
118
+ purpose: establish normal world, introduce characters, launch story
119
+
120
+ components:
121
+ [ ] opening image - establish tone and world
122
+ [ ] protagonist introduction - who are we following?
123
+ [ ] status quo - what is normal life?
124
+ [ ] inciting incident - something happens
125
+ [ ] call to adventure - protagonist has opportunity
126
+ [ ] refusal / hesitation - protagonist is reluctant (can be brief)
127
+ [ ] decision to engage - protagonist commits
128
+ [ ] act one climax - point of no return
129
+
130
+ act one ends when protagonist crosses the threshold. there is no going
131
+ back to normal life.
132
+
133
+ example: the hunger games
134
+ - opening: katniss in district 12, hunting, feeding family
135
+ - status quo: poverty, survival, protecting prim
136
+ - inciting incident: prim's name is drawn
137
+ - call: katniss volunteers
138
+ - decision: leaves district for the games
139
+ - act one climax: enters arena, game begins
140
+
141
+ word count guide (80k novel):
142
+ act one: ~20,000 words
143
+
144
+
145
+ act two: confrontation (50% of story)
146
+
147
+ purpose: complications, escalating stakes, protagonist is tested
148
+
149
+ components:
150
+ [ ] new world - protagonist navigates unfamiliar territory
151
+ [ ] tests and allies - learning the rules, meeting characters
152
+ [ ] training/gathering - preparing for confrontation
153
+ [ ] midpoint - major revelation or shift
154
+ [ ] stakes escalate - things get more serious
155
+ [ ] all is lost - low point
156
+ [ ] dark night of the soul - protagonist must find new strength
157
+
158
+ the midpoint is crucial. it recontextualizes everything.
159
+
160
+ before midpoint: problem seems like X
161
+ after midpoint: problem is actually Y
162
+
163
+ example: star wars (a new hope)
164
+ - new world: death star, rescuing leia
165
+ - tests: obi-wan's teachings, han's cynicism vs luke's belief
166
+ - midpoint: death star destroys alderaan
167
+ - before midpoint: rescue mission
168
+ - after midpoint: escape + fight against empire
169
+ - all is lost: obi-wan dies
170
+ - dark night: luke must trust himself, not the force through another
171
+
172
+ word count guide (80k novel):
173
+ act two: ~40,000 words
174
+
175
+
176
+ act three: resolution (25% of story)
177
+
178
+ purpose: final confrontation and transformation
179
+
180
+ components:
181
+ [ ] return - protagonist emerges from dark night
182
+ [ ] final push - gathering resources for last stand
183
+ [ ] climax - protagonist faces antagonist/stakes directly
184
+ [ ] sacrifice - protagonist gives something up (could be belief, safety,
185
+ relationship, literal life)
186
+ [ ] transformation - protagonist has changed
187
+ [ ] new normal - world is different because of journey
188
+ [ ] closing image - mirrors opening, shows change
189
+
190
+ the climax must be earned. everything in acts one and two prepares for
191
+ this moment.
192
+
193
+ example: the matrix
194
+ - return: neo chooses to try to save morpheus
195
+ - final push: weapons, entrance to building
196
+ - climax: neo vs agent smith
197
+ - sacrifice: neo chooses to stay and fight (believes)
198
+ - transformation: becomes the one
199
+ - new normal: can see code, has power
200
+ - closing image: phone call into the system, flying
201
+
202
+ word count guide (80k novel):
203
+ act three: ~20,000 words
204
+
205
+
206
+ PHASE 2: BEAT SHEET DEVELOPMENT
207
+
208
+ a beat sheet breaks your story into specific moments that create the
209
+ story's emotional rhythm.
210
+
211
+
212
+ blake snyder's save the cat beats (adapted for prose)
213
+
214
+ opening image (1%)
215
+ - establish protagonist and world before change
216
+ - show us normal life
217
+ - hint at what's missing or wrong
218
+
219
+ theme stated (5%)
220
+ - a character (not protagonist) states the theme
221
+ - protagonist doesn't understand yet
222
+ - will be proven/understood by end
223
+
224
+ setup (1-10%)
225
+ - introduce protagonist's world and flaw
226
+ - show what's missing
227
+ - establish stakes (what protagonist has to lose)
228
+
229
+ catalyst (10%)
230
+ - inciting incident
231
+ - something breaks normal
232
+ - creates opportunity for change
233
+
234
+ debate (10-20%)
235
+ - protagonist resists the call
236
+ - weighs options
237
+ - fears the journey
238
+ - finally decides to engage
239
+
240
+ break into two (20-25%)
241
+ - act one climax
242
+ - protagonist leaves comfort zone
243
+ - point of no return
244
+
245
+ b story (25%)
246
+ - introduce secondary plot (often relationship)
247
+ - provides relief from main tension
248
+ - often carries theme
249
+
250
+ fun and games (25-50%)
251
+ - the promise of the premise
252
+ - protagonist exploring new world
253
+ - the "trailer moments"
254
+ - what audience came to see
255
+
256
+ midpoint (50%)
257
+ - false victory or false defeat
258
+ - stakes raised
259
+ - context shifts
260
+ - time clocks introduced
261
+
262
+ bad guys close in (50-75%)
263
+ - protagonist's team dissolves
264
+ - plan fails
265
+ - antagonist pressures
266
+ - stakes escalate
267
+
268
+ all is lost (75%)
269
+ - apparent defeat
270
+ - whiff of death (emotional or literal)
271
+ - hope seems lost
272
+
273
+ dark night of the soul (75-80%)
274
+ - protagonist processes defeat
275
+ - realizes the flaw that caused failure
276
+ - finds new strength/truth
277
+ - decides to try again with new approach
278
+
279
+ break into three (80%)
280
+ - decision to face final challenge
281
+ - new understanding applied
282
+ - gathers what's needed for climax
283
+
284
+ finale (80-99%)
285
+ - protagonist faces antagonist/stakes
286
+ - uses everything learned
287
+ - demonstrates growth
288
+ - villain/obstacle defeated
289
+
290
+ final image (100%)
291
+ - mirrors opening image
292
+ - shows transformation
293
+ - proves theme
294
+
295
+
296
+ create your beat sheet
297
+
298
+ for each beat, identify:
299
+ [ ] what happens (event)
300
+ [ ] why it matters (emotional impact)
301
+ [ ] how it moves story (plot consequence)
302
+ [ ] word count allocation
303
+
304
+ example beat sheet entry:
305
+
306
+ midpoint (word 40,000 / 50%)
307
+ what: protagonist discovers antagonist is her missing brother
308
+ why: recontextualizes entire quest - not just defeat him, but save
309
+ or destroy family. raises personal stakes.
310
+ consequence: every previous encounter gains new meaning.
311
+ must choose between mission and family.
312
+
313
+
314
+ PHASE 3: CHARACTER ARC STRUCTURE
315
+
316
+ plot structure and character arc are inseparable. the structure exists
317
+ to force character change.
318
+
319
+
320
+ the external arc (what happens)
321
+
322
+ setup:
323
+ protagonist has a flaw / wound / lie they believe
324
+
325
+ inciting incident:
326
+ something challenges the lie/flaw
327
+
328
+ journey (act two):
329
+ protagonist tries to solve problems using the flaw
330
+ - it doesn't work
331
+ - things get worse
332
+ - reaches low point
333
+
334
+ dark night:
335
+ protagonist realizes the flaw is the problem
336
+
337
+ climax:
338
+ protagonist confronts flaw, tries new approach
339
+
340
+ resolution:
341
+ protagonist lives without the flaw
342
+
343
+
344
+ the internal arc (how they change)
345
+
346
+ before (normal world):
347
+ - flaw protects from wound
348
+ - lie feels true
349
+ - coping mechanisms work
350
+
351
+ journey:
352
+ - coping mechanisms fail
353
+ - wound is exposed
354
+ - lie is challenged
355
+
356
+ dark night:
357
+ - must confront wound
358
+ - must let go of lie
359
+ - must find new truth
360
+
361
+ after (new normal):
362
+ - lives with new truth
363
+ - wound may remain but response changed
364
+ - no longer protected by flaw
365
+
366
+
367
+ example: pride and prejudice
368
+
369
+ external arc:
370
+ elizabeth meets darcy, dislikes him, events force interaction,
371
+ eventually realizes she misjudged him, they marry
372
+
373
+ internal arc:
374
+ flaw: hasty judgment
375
+ lie: first impressions are reliable
376
+ wound: father's cynical view of marriage
377
+ journey: wickham seems good (reinforces lie), darcy seems bad
378
+ (reinforces lie), darcy's letter reveals truth
379
+ dark night: realizing she misjudged both men
380
+ new truth: requires investigation, not assumption
381
+ new normal: married to darcy, sees clearly
382
+
383
+
384
+ structural sync
385
+
386
+ key structural points MUST correspond to character arc:
387
+
388
+ break into two:
389
+ protagonist leaves comfort zone AND comfort zone of old belief
390
+
391
+ midpoint:
392
+ external: stakes raised
393
+ internal: old belief challenged
394
+
395
+ all is lost:
396
+ external: defeat
397
+ internal: old coping strategies fail completely
398
+
399
+ climax:
400
+ external: final confrontation
401
+ internal: must overcome flaw to succeed
402
+
403
+ resolution:
404
+ external: world changed
405
+ internal: character changed
406
+
407
+
408
+ PHASE 4: SUBPLOT WEAVING
409
+
410
+ subplots follow their own arcs but connect to main plot.
411
+
412
+
413
+ subplot types
414
+
415
+ relationship subplot:
416
+ - often the "b story"
417
+ - provides emotional counterweight
418
+ - often carries theme
419
+ - connects to main plot at key structural points
420
+
421
+ mirror subplot:
422
+ - secondary character faces similar challenge
423
+ - their choices highlight protagonist's choices
424
+ - serves as warning or inspiration
425
+
426
+ contrasting subplot:
427
+ - character faces opposite challenge
428
+ - shows alternative path
429
+ - highlights stakes by showing what could happen
430
+
431
+ thematic subplot:
432
+ - explores story theme from different angle
433
+ - may not involve protagonist directly
434
+ - enriches story's emotional resonance
435
+
436
+
437
+ subplot connection points
438
+
439
+ subplots must connect to main plot at key structural moments:
440
+
441
+ break into two:
442
+ - subplot introduced or activated
443
+
444
+ midpoint:
445
+ - subplot complicates main plot
446
+ - or main plot complicates subplot
447
+
448
+ all is lost:
449
+ - subplot hits its own low point
450
+ - adds to protagonist's despair
451
+
452
+ climax:
453
+ - subplot resolution aids or complicates final confrontation
454
+ - secondary character's arc resolves
455
+
456
+ resolution:
457
+ - subplot's new status shows theme in another context
458
+
459
+
460
+ example subplot weaving
461
+
462
+ main plot: detective hunting serial killer
463
+ subplot: detective's failing marriage
464
+
465
+ connections:
466
+ - act one: marriage already strained (setup)
467
+ - break into two: case demands more time, creates marital tension
468
+ - midpoint: killer attacks someone close to detective; spouse says
469
+ "you're never here, i can't do this anymore"
470
+ - all is lost: spouse leaves; detective is alone, realizes the cost
471
+ - dark night: detective chooses to save spouse instead of pursuing
472
+ killer immediately
473
+ - climax: spouse's support provides key to catching killer
474
+ - resolution: marriage repaired through shared trauma
475
+
476
+ subplot serves:
477
+ [ ] shows stakes of main plot (cost to personal life)
478
+ [ ] creates additional tension
479
+ [ ] provides emotional motivation
480
+ [ ] demonstrates theme (justice requires sacrifice)
481
+
482
+
483
+ subplot pacing rules
484
+
485
+ [1] introduce subplot early or not at all
486
+ act one is best. later introductions feel forced.
487
+
488
+ [2] give subplot its own arc
489
+ beginning, middle, end - not just random complications
490
+
491
+ [3] don't let subplot overshadow main plot
492
+ subplot serves main plot, not vice versa
493
+
494
+ [4] resolve subplot before or with main plot
495
+ resolution during climax or immediately after
496
+
497
+ [5] cut subplot if it doesn't connect
498
+ if subplot can be removed without affecting main plot,
499
+ it doesn't belong
500
+
501
+
502
+ PHASE 5: SCENE STRUCTURE
503
+
504
+ every scene is a mini-story with its own structure.
505
+
506
+
507
+ scene components
508
+
509
+ entry:
510
+ [ ] where are we?
511
+ [ ] who's present?
512
+ [ ] what's the situation?
513
+ [ ] what does scene POV character want?
514
+
515
+ action:
516
+ [ ] conflict arises
517
+ [ ] character pursues goal
518
+ [ ] obstacles arise
519
+ [ ] character tries, fails, adjusts
520
+ [ ] scene builds to turning point
521
+
522
+ exit:
523
+ [ ] how has situation changed?
524
+ [ ] what does character do now?
525
+ [ ] what's the immediate consequence?
526
+
527
+ every scene must:
528
+ [ ] advance plot
529
+ [ ] reveal character
530
+ [ ] create/change tension
531
+ [ ] answer previous question AND raise new one
532
+
533
+
534
+ scene types
535
+
536
+ action scene:
537
+ - physical conflict
538
+ - clear goal and obstacle
539
+ - escalation of stakes
540
+ - turning point changes situation
541
+
542
+ revelation scene:
543
+ - character learns something
544
+ - information is revealed
545
+ - context changes
546
+ - decisions must be made
547
+
548
+ emotion scene:
549
+ - character processes experience
550
+ - internal state is explored
551
+ - decision or realization
552
+ - character is changed
553
+
554
+ relationship scene:
555
+ - two or more characters interact
556
+ - relationship dynamics shift
557
+ - power changes hands
558
+ - alliances form/break
559
+
560
+
561
+ scene structure template
562
+
563
+ before writing scene, identify:
564
+
565
+ scene goal:
566
+ [ ] what does POV character want in this scene?
567
+
568
+ scene conflict:
569
+ [ ] what opposes the goal?
570
+ [ ] who or what is the obstacle?
571
+
572
+ scene outcome:
573
+ [ ] does character get what they want? (usually: no, or yes but...)
574
+ [ ] how is situation different at scene end?
575
+
576
+ scene consequence:
577
+ [ ] what must character do now?
578
+ [ ] what's changed that can't be undone?
579
+
580
+ scene value charge:
581
+ [ ] entry value: positive/negative for POV character
582
+ [ ] exit value: opposite or intensified
583
+ - if scene starts and ends with same value, cut it
584
+
585
+
586
+ PHASE 6: PACING AND TENSION
587
+
588
+ pacing is manipulation of story time and information.
589
+
590
+
591
+ controlling pacing
592
+
593
+ tools to slow pacing:
594
+ [ ] longer sentences
595
+ [ ] more description
596
+ [ ] internal reflection
597
+ [ ] dialogue exchanges
598
+ [ ] detailed action sequences
599
+
600
+ tools to accelerate pacing:
601
+ [ ] shorter sentences
602
+ [ ] fragments
603
+ [ ] less description
604
+ [ ] more external action
605
+ [ ] chapter cliffhangers
606
+ [ ] time cuts (skip the transitions)
607
+
608
+
609
+ pacing by location
610
+
611
+ act one:
612
+ - establish world at measured pace
613
+ - reader needs grounding
614
+ - speed up toward inciting incident
615
+
616
+ act two first half:
617
+ - moderate pace
618
+ - room for exploration
619
+ - accelerate toward midpoint
620
+
621
+ act two second half:
622
+ - complications come faster
623
+ - less breathing room
624
+ - building pressure
625
+
626
+ act three:
627
+ - fastest pace
628
+ - high tension
629
+ - resolution can breathe again
630
+
631
+
632
+ tension building
633
+
634
+ tension comes from:
635
+ [ ] reader knowing more than character
636
+ [ ] character wanting something they can't have
637
+ [ ] time pressure
638
+ [ ] limited resources
639
+ [ ] uncertain outcomes
640
+ [ ] competing desires
641
+
642
+ tension creates questions:
643
+ - will they succeed?
644
+ - what will it cost?
645
+ - who can be trusted?
646
+ - what's really happening?
647
+
648
+ every scene should raise questions.
649
+ every scene answer should raise new questions.
650
+
651
+
652
+ structural tension
653
+
654
+ the story shape creates macro-tension:
655
+
656
+ act one:
657
+ question: will protagonist leave comfort?
658
+
659
+ act two:
660
+ question: can protagonist survive the journey?
661
+
662
+ act three:
663
+ question: will protagonist triumph?
664
+
665
+ within these macro-questions, scene-level questions keep reader
666
+ moving forward.
667
+
668
+
669
+ time pressure
670
+
671
+ time clocks create urgency:
672
+
673
+ hard time clock:
674
+ - bomb will explode in 24 hours
675
+ - wedding is in three days
676
+ - must catch train at midnight
677
+
678
+ soft time clock:
679
+ - antagonist is getting closer
680
+ - opportunity is slipping away
681
+ - resources are running out
682
+
683
+ psychological time clock:
684
+ - character believes something will happen
685
+ - self-imposed deadline
686
+ - internal urgency
687
+
688
+ time clocks work best when multiple clocks converge:
689
+
690
+ external clock: villain will strike in 48 hours
691
+ internal clock: protagonist's own doubt grows
692
+ relationship clock: spouse will leave if protagonist misses one more
693
+ family event
694
+
695
+
696
+ PHASE 7: STORY ARCHETYPES
697
+
698
+
699
+ the hero's journey (joseph campbell / christopher vogler)
700
+
701
+ useful for: adventure, fantasy, science fiction, mythic stories
702
+
703
+ structure:
704
+ [ ] ordinary world - normal life before change
705
+ [ ] call to adventure - something breaks normal
706
+ [ ] refusal - protagonist hesitates
707
+ [ ] mentor - guide appears with wisdom/tools
708
+ [ ] crossing threshold - leaves ordinary world
709
+ [ ] tests, allies, enemies - learns rules of new world
710
+ [ ] approach to inmost cave - prepares for central challenge
711
+ [ ] ordeal - faces death/greatest fear
712
+ [ ] reward - survives, gains something
713
+ [ ] road back - returns to ordinary world with consequences
714
+ [ ] resurrection - final test, transformed
715
+ [ ] return with elixir - brings something back to help ordinary world
716
+
717
+ not all stories fit this pattern.
718
+ use it only if it serves YOUR story.
719
+
720
+
721
+ the mystery structure
722
+
723
+ useful for: detective stories, thrillers, mysteries
724
+
725
+ structure:
726
+ [ ] crime/discovery - body found, mystery begins
727
+ [ ] investigation - detective follows leads
728
+ [ ] false solution - seems solved, but isn't
729
+ [ ] reversal - false solution falls apart
730
+ [ ] true investigation - with new understanding
731
+ [ ] final revelation - true solution discovered
732
+ [ ] confrontation - detective faces killer
733
+
734
+ key: reader should have same information as detective.
735
+ fair play means reader could solve it too (in theory).
736
+
737
+
738
+ the romance structure
739
+
740
+ useful for: romance novels, romantic subplots
741
+
742
+ structure:
743
+ [ ] meet-cute - protagonists meet in memorable way
744
+ [ ] attraction - initial interest despite obstacles
745
+ [ ] first kiss / intimacy - relationship begins
746
+ [ ] midpoint complication - secret revealed, external obstacle
747
+ [ ] black moment - relationship seems doomed
748
+ [ ] grand gesture - one character makes sacrifice
749
+ [ ] reconciliation - relationship restored
750
+ [ ] commitment - happily ever after
751
+
752
+ key: external obstacles should mirror internal fears.
753
+ overcoming external obstacles forces internal growth.
754
+
755
+
756
+ PHASE 8: STRUCTURAL PROBLEMS AND SOLUTIONS
757
+
758
+
759
+ problem: saggy middle
760
+
761
+ symptoms:
762
+ - act two drags
763
+ - story loses momentum
764
+ - reader gets bored
765
+ - nothing seems to be happening
766
+
767
+ solutions:
768
+ [ ] raise stakes - what's at risk must matter more
769
+ [ ] add time pressure - create urgency
770
+ [ ] introduce complications - make protagonist's plan fail
771
+ [ ] deepen character conflict - internal should match external
772
+ [ ] tighten scene structure - cut scenes that don't change situation
773
+ [ ] add midpoint twist - recontextualize everything
774
+
775
+
776
+ problem: protagonist is passive
777
+
778
+ symptoms:
779
+ - things happen TO protagonist
780
+ - protagonist doesn't make decisions
781
+ - other characters drive plot
782
+ - protagonist is reactive, not active
783
+
784
+ solutions:
785
+ [ ] give protagonist clear goal - they must want something
786
+ [ ] make protagonist make hard choices - choices have consequences
787
+ [ ] tie external conflict to internal - solving problem requires growth
788
+ [ ] remove easy solutions - character must struggle
789
+ [ ] give protagonist agency - their decisions matter
790
+
791
+
792
+ problem: predictable plot
793
+
794
+ symptoms:
795
+ - reader sees what's coming
796
+ - no surprises
797
+ - story feels formulaic
798
+ - tension never builds
799
+
800
+ solutions:
801
+ [ ] subvert expectations - set up one thing, deliver another
802
+ [ ] deepen characters - complex people aren't predictable
803
+ [ ] raise emotional stakes - outcome matters more to reader
804
+ [ ] add twist that recontextualizes - change what we think we know
805
+ [ ] focus on HOW not WHAT - how happens matters more than what
806
+ [ ] character reveals truth through action under pressure - they
807
+ surprise even themselves
808
+
809
+
810
+ problem: climax doesn't earn
811
+
812
+ symptoms:
813
+ - resolution feels unearned
814
+ - solution comes from nowhere
815
+ - character doesn't seem to change
816
+ - climax is deus ex machina
817
+
818
+ solutions:
819
+ [ ] plant seeds early - solution must be established
820
+ [ ] tie climax to character arc - victory requires growth
821
+ [ ] make it cost something - real sacrifice
822
+ [ ] test everything learned - every skill/knowledge piece used
823
+ [ ] raise stakes to maximum - protagonist must give everything
824
+
825
+
826
+ PHASE 9: REVISION CHECKLIST
827
+
828
+
829
+ act one check
830
+
831
+ [ ] is normal world established?
832
+ [ ] is protagonist clear and sympathetic?
833
+ [ ] is flaw/wound/lie established?
834
+ [ ] does inciting incident disrupt normal?
835
+ [ ] does protagonist choose to engage? (not forced)
836
+ [ ] is point of no return clear?
837
+ [ ] are stakes established?
838
+
839
+
840
+ act two check
841
+
842
+ [ ] is new world distinct from normal?
843
+ [ ] are there tests and challenges?
844
+ [ ] is there a midpoint shift?
845
+ [ ] do stakes escalate?
846
+ [ ] does protagonist try and fail?
847
+ [ ] is there a clear all-is-lost moment?
848
+ [ ] does protagonist realize their flaw?
849
+ [ ] does dark night lead to new understanding?
850
+
851
+
852
+ act three check
853
+
854
+ [ ] does protagonist choose to face final challenge?
855
+ [ ] is climax the hardest test yet?
856
+ [ ] does protagonist use everything learned?
857
+ [ ] is growth demonstrated through action?
858
+ [ ] does victory cost something?
859
+ [ ] is transformation clear?
860
+ [ ] does world show change?
861
+ [ ] does ending feel earned?
862
+
863
+
864
+ pacing check
865
+
866
+ [ ] does act one establish before accelerating?
867
+ [ ] does act two maintain momentum?
868
+ [ ] does act two accelerate toward climax?
869
+ [ ] does act three move fast?
870
+ [ ] do tension levels rise overall?
871
+ [ ] are there slow moments for relief?
872
+ [ ] does ending land with right weight?
873
+
874
+
875
+ subplot check
876
+
877
+ for each subplot:
878
+ [ ] when is it introduced?
879
+ [ ] what is its arc?
880
+ [ ] how does it connect to main plot?
881
+ [ ] how does it complicate protagonist's journey?
882
+ [ ] when/how is it resolved?
883
+ [ ] what does it add to theme?
884
+
885
+
886
+ character arc check
887
+
888
+ [ ] what is the flaw?
889
+ [ ] what is the wound?
890
+ [ ] what is the lie they believe?
891
+ [ ] what is the truth they must learn?
892
+ [ ] what challenges the flaw?
893
+ [ ] when does flaw fail them completely?
894
+ [ ] how do they change?
895
+ [ ] is change demonstrated through action?
896
+
897
+
898
+ PHASE 10: STRUCTURAL EXERCISES
899
+
900
+
901
+ exercise 1: reverse outline
902
+
903
+ take a story you admire and create its beat sheet.
904
+
905
+ [ ] identify each structural beat
906
+ [ ] note word count percentages
907
+ [ ] examine how subplots weave
908
+ [ ] trace character arc through structure
909
+ [ ] identify pacing techniques
910
+
911
+ goal: internalize structural patterns.
912
+
913
+
914
+ exercise 2: the 50-word outline
915
+
916
+ condense your story into exactly 50 words.
917
+
918
+ protagonist wants [goal] but [obstacle] stands in way. if they fail,
919
+ [stakes]. they try [plan a] but [complication]. then they try [plan b]
920
+ but [worse complication]. at [low point], all seems lost. finally,
921
+ they [solution] and [resolution].
922
+
923
+ if you can't do it, you don't know your story.
924
+
925
+
926
+ exercise 3: scene cards
927
+
928
+ create one card per scene.
929
+
930
+ for each scene:
931
+ [ ] pov character
932
+ [ ] scene goal
933
+ [ ] scene conflict
934
+ [ ] scene outcome
935
+ [ ] scene consequence
936
+ [ ] word count
937
+
938
+ arrange scenes. can you see the structure?
939
+
940
+
941
+ exercise 4: structural stress test
942
+
943
+ take your outline and identify:
944
+
945
+ what could you cut without breaking the story?
946
+ - if nothing, your story is too thin
947
+ - if everything, your story has no core
948
+
949
+ what's essential?
950
+ - these are your structural pillars
951
+ - everything else serves them
952
+
953
+ find the minimum viable story. then build from there.
954
+
955
+
956
+ exercise 5: the five-minute version
957
+
958
+ tell your story in five minutes.
959
+
960
+ [ ] setup
961
+ [ ] inciting incident
962
+ [ ] act two journey
963
+ [ ] midpoint shift
964
+ [ ] all is lost
965
+ [ ] climax
966
+ [ ] resolution
967
+
968
+ record yourself. where do you get lost? where does it feel thin?
969
+
970
+ those are your structural problems.
971
+
972
+
973
+ PHASE 11: PLOT RULES (STRICT MODE)
974
+
975
+
976
+ while this skill is active, these rules are MANDATORY:
977
+
978
+ [1] NEVER force your story into a structure that doesn't fit
979
+ structure serves story, not vice versa
980
+ if it's not working, question the structure, not the story
981
+
982
+ [2] ACT ONE must end when protagonist leaves comfort
983
+ not before, not after
984
+ crossing the threshold is the door into act two
985
+
986
+ [3] MIDPOINT must change the context
987
+ before: problem seems like X
988
+ after: problem is actually Y
989
+ if nothing shifts, it's not a midpoint
990
+
991
+ [4] ALL IS LOST must feel hopeless
992
+ protagonist's usual strategies must fail completely
993
+ this is the bottom
994
+ only then can transformation occur
995
+
996
+ [5] CLIMAX must be earned by everything that came before
997
+ no sudden powers
998
+ no convenient coincidences
999
+ no unexpected solutions
1000
+ the solution must be planted early
1001
+
1002
+ [6] CHARACTER ARC must be tied to plot structure
1003
+ external obstacles force internal change
1004
+ internal change enables external victory
1005
+ they are the same story
1006
+
1007
+ [7] EVERY SCENE must change the situation
1008
+ entry value != exit value
1009
+ if nothing changes, cut the scene
1010
+
1011
+ [8] SUBPLOTS must serve the main plot
1012
+ if subplot can be removed, remove it
1013
+ if subplot doesn't connect, make it connect
1014
+
1015
+ [9] PACING must accelerate overall
1016
+ act one: establish
1017
+ act two: build
1018
+ act three: sprint
1019
+ variations within, but overall curve rises
1020
+
1021
+ [10] STAKES must be personal
1022
+ if protagonist can walk away, they will
1023
+ make it impossible to walk away
1024
+ make it matter to the character
1025
+
1026
+
1027
+ FINAL REMINDERS
1028
+
1029
+
1030
+ structure is invisible
1031
+
1032
+ when it works, reader doesn't notice it.
1033
+ they just feel the story working.
1034
+ when it fails, everyone notices.
1035
+
1036
+ know the rules so you can break them.
1037
+
1038
+ templates are tools, not laws.
1039
+ learn them, use them, abandon them when necessary.
1040
+ the only rule is: does it work?
1041
+
1042
+
1043
+ tension is everything
1044
+
1045
+ plot is just a machine to create tension.
1046
+ everything serves the tension.
1047
+
1048
+ if tension drops, fix it or cut it.
1049
+ if tension never builds, structure is wrong.
1050
+
1051
+
1052
+ character is the engine
1053
+
1054
+ plot happens to character.
1055
+ character's choices drive plot.
1056
+ no character, no plot worth reading.
1057
+
1058
+ structure exists to force character to confront their flaw.
1059
+ everything else is decoration.
1060
+
1061
+
1062
+ the goal
1063
+
1064
+ a story that:
1065
+ [ ] grabs reader and won't let go
1066
+ [ ] makes reader feel
1067
+ [ ] feels inevitable and surprising
1068
+ [ ] delivers on promises
1069
+ [ ] leaves reader changed
1070
+
1071
+ structure is how you get there.
1072
+
1073
+ now go build something that matters.