wtf-p 0.1.0

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 (92) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +338 -0
  3. package/bin/install.js +358 -0
  4. package/bin/uninstall.js +485 -0
  5. package/commands/wtfp/analyze-bib.md +326 -0
  6. package/commands/wtfp/check-refs.md +205 -0
  7. package/commands/wtfp/create-outline.md +275 -0
  8. package/commands/wtfp/discuss-section.md +71 -0
  9. package/commands/wtfp/export-latex.md +216 -0
  10. package/commands/wtfp/help.md +342 -0
  11. package/commands/wtfp/insert-section.md +130 -0
  12. package/commands/wtfp/list-assumptions.md +109 -0
  13. package/commands/wtfp/map-project.md +197 -0
  14. package/commands/wtfp/new-paper.md +443 -0
  15. package/commands/wtfp/pause-writing.md +145 -0
  16. package/commands/wtfp/plan-revision.md +180 -0
  17. package/commands/wtfp/plan-section.md +247 -0
  18. package/commands/wtfp/polish-prose.md +177 -0
  19. package/commands/wtfp/progress.md +325 -0
  20. package/commands/wtfp/remove-section.md +147 -0
  21. package/commands/wtfp/research-gap.md +235 -0
  22. package/commands/wtfp/resume-writing.md +142 -0
  23. package/commands/wtfp/review-section.md +409 -0
  24. package/commands/wtfp/submit-milestone.md +211 -0
  25. package/commands/wtfp/write-section.md +273 -0
  26. package/package.json +40 -0
  27. package/write-the-f-paper/references/checkpoints.md +213 -0
  28. package/write-the-f-paper/references/continuation-format.md +223 -0
  29. package/write-the-f-paper/references/git-integration.md +241 -0
  30. package/write-the-f-paper/references/imrad-structure.md +212 -0
  31. package/write-the-f-paper/references/length-estimation.md +148 -0
  32. package/write-the-f-paper/references/plan-format.md +361 -0
  33. package/write-the-f-paper/references/principles.md +158 -0
  34. package/write-the-f-paper/references/questioning.md +132 -0
  35. package/write-the-f-paper/references/research-pitfalls.md +208 -0
  36. package/write-the-f-paper/templates/config.json +30 -0
  37. package/write-the-f-paper/templates/context.md +179 -0
  38. package/write-the-f-paper/templates/continue-here.md +142 -0
  39. package/write-the-f-paper/templates/data-inventory.md +142 -0
  40. package/write-the-f-paper/templates/discovery.md +146 -0
  41. package/write-the-f-paper/templates/issues.md +59 -0
  42. package/write-the-f-paper/templates/manuscript.md +253 -0
  43. package/write-the-f-paper/templates/narrative-arc.md +227 -0
  44. package/write-the-f-paper/templates/outline.md +274 -0
  45. package/write-the-f-paper/templates/phase-prompt.md +348 -0
  46. package/write-the-f-paper/templates/prior-drafts.md +204 -0
  47. package/write-the-f-paper/templates/project-context/argument-structure.md +267 -0
  48. package/write-the-f-paper/templates/project-context/bibliography.md +152 -0
  49. package/write-the-f-paper/templates/project-context/gaps.md +122 -0
  50. package/write-the-f-paper/templates/project-context/imrad.md +140 -0
  51. package/write-the-f-paper/templates/project-context/peer-review.md +152 -0
  52. package/write-the-f-paper/templates/project-context/style-guide.md +198 -0
  53. package/write-the-f-paper/templates/project-context/tools.md +170 -0
  54. package/write-the-f-paper/templates/project.md +185 -0
  55. package/write-the-f-paper/templates/research.md +384 -0
  56. package/write-the-f-paper/templates/review-comments.md +253 -0
  57. package/write-the-f-paper/templates/revision-issues.md +169 -0
  58. package/write-the-f-paper/templates/roadmap.md +187 -0
  59. package/write-the-f-paper/templates/section-archive.md +178 -0
  60. package/write-the-f-paper/templates/section-context.md +114 -0
  61. package/write-the-f-paper/templates/section.md +128 -0
  62. package/write-the-f-paper/templates/state.md +244 -0
  63. package/write-the-f-paper/templates/summary.md +277 -0
  64. package/write-the-f-paper/venues/acm-cs.yaml +102 -0
  65. package/write-the-f-paper/venues/arxiv-ml.yaml +103 -0
  66. package/write-the-f-paper/venues/ieee-cs.yaml +100 -0
  67. package/write-the-f-paper/venues/nature.yaml +81 -0
  68. package/write-the-f-paper/venues/thesis-chapter.yaml +101 -0
  69. package/write-the-f-paper/workflows/create-outline.md +462 -0
  70. package/write-the-f-paper/workflows/create-outline.wcn.md +194 -0
  71. package/write-the-f-paper/workflows/discuss-section.md +249 -0
  72. package/write-the-f-paper/workflows/discuss-section.wcn.md +63 -0
  73. package/write-the-f-paper/workflows/execute-section.md +704 -0
  74. package/write-the-f-paper/workflows/execute-section.wcn.md +219 -0
  75. package/write-the-f-paper/workflows/list-assumptions.md +183 -0
  76. package/write-the-f-paper/workflows/list-assumptions.wcn.md +42 -0
  77. package/write-the-f-paper/workflows/lit-review-phase.md +281 -0
  78. package/write-the-f-paper/workflows/lit-review-phase.wcn.md +92 -0
  79. package/write-the-f-paper/workflows/map-project.md +359 -0
  80. package/write-the-f-paper/workflows/map-project.wcn.md +73 -0
  81. package/write-the-f-paper/workflows/plan-section.md +409 -0
  82. package/write-the-f-paper/workflows/plan-section.wcn.md +236 -0
  83. package/write-the-f-paper/workflows/research-gap.md +469 -0
  84. package/write-the-f-paper/workflows/research-gap.wcn.md +119 -0
  85. package/write-the-f-paper/workflows/resume-paper.md +274 -0
  86. package/write-the-f-paper/workflows/resume-paper.wcn.md +93 -0
  87. package/write-the-f-paper/workflows/review-section.md +329 -0
  88. package/write-the-f-paper/workflows/review-section.wcn.md +91 -0
  89. package/write-the-f-paper/workflows/submit-draft.md +368 -0
  90. package/write-the-f-paper/workflows/submit-draft.wcn.md +69 -0
  91. package/write-the-f-paper/workflows/transition.md +375 -0
  92. package/write-the-f-paper/workflows/transition.wcn.md +113 -0
@@ -0,0 +1,462 @@
1
+ <purpose>
2
+ Define the sections of the document. Each section is a coherent chunk of writing
3
+ that delivers part of the argument. The outline provides structure, not detailed prose.
4
+ </purpose>
5
+
6
+ <required_reading>
7
+ **Read these files NOW:**
8
+
9
+ 1. ~/.claude/write-the-f-paper/templates/roadmap.md
10
+ 2. ~/.claude/write-the-f-paper/templates/state.md
11
+ 3. Read `.planning/PROJECT.md` if it exists
12
+ </required_reading>
13
+
14
+ <process>
15
+
16
+ <step name="check_brief">
17
+ ```bash
18
+ cat .planning/PROJECT.md 2>/dev/null || echo "No brief found"
19
+ ```
20
+
21
+ **If no brief exists:**
22
+ Ask: "No project brief found. Want to create one first, or proceed with outline?"
23
+
24
+ If proceeding without brief, gather quick context:
25
+
26
+ - What type of document? (journal paper, conference paper, grant proposal)
27
+ - What's the core argument/thesis?
28
+ - Target venue and constraints (page limit, format)?
29
+ </step>
30
+
31
+ <step name="detect_document_type">
32
+ Infer document type from the brief/user request:
33
+
34
+ | Keywords | Document Type | Section Template |
35
+ | -------- | ------------- | ---------------- |
36
+ | "journal", "paper", "article", "manuscript" | IMRaD Paper | intro, methods, results, discussion |
37
+ | "conference", "short paper", "workshop" | Conference Paper | intro, background, approach, evaluation, conclusion |
38
+ | "grant", "proposal", "NSF", "NIH", "funding" | Grant Proposal | aims, significance, innovation, approach, timeline |
39
+ | "thesis", "dissertation", "chapter" | Thesis Chapter | varies by field |
40
+ | "review", "survey", "literature review" | Review Paper | intro, methodology, findings, synthesis |
41
+
42
+ **Present detection:**
43
+ ```
44
+ Detected: [document type] → [section template]
45
+ Use this structure? (Y / customize / show options)
46
+ ```
47
+
48
+ **If multiple types apply:**
49
+ ```
50
+ Detected multiple possible types:
51
+ - IMRaD Paper (research focus)
52
+ - Conference Paper (shorter format)
53
+
54
+ Select type (or describe):
55
+ ```
56
+
57
+ **Store selected template** for section generation.
58
+ </step>
59
+
60
+ <step name="identify_sections">
61
+ Derive sections from the document type and content needs.
62
+
63
+ **Check depth setting:**
64
+ ```bash
65
+ cat .planning/config.json 2>/dev/null | grep depth
66
+ ```
67
+
68
+ <depth_guidance>
69
+ **Depth controls granularity, not artificial inflation.**
70
+
71
+ | Depth | Typical Sections | Typical Plans/Section | Writing Tasks/Plan |
72
+ |-------|-----------------|----------------------|-------------------|
73
+ | Quick | 4-6 | 1-2 | 2-3 |
74
+ | Standard | 6-10 | 2-4 | 2-3 |
75
+ | Comprehensive | 8-15 | 3-6 | 2-3 |
76
+
77
+ **Key principle:** Derive sections from document requirements. Depth determines how you break down complex sections, not a target to hit.
78
+
79
+ - Comprehensive Methods section = 4 plans (because methods genuinely has 4 subsections)
80
+ - Comprehensive Abstract = 1 plan (because that's all it is)
81
+
82
+ For comprehensive depth:
83
+ - Don't compress multiple arguments into single sections
84
+ - Each major contribution gets proper space
85
+ - Let small sections stay small—don't pad to hit a number
86
+
87
+ For quick depth:
88
+ - Combine related content aggressively
89
+ - Focus on critical argument path
90
+ - Defer nice-to-haves to revision phases
91
+ </depth_guidance>
92
+
93
+ **Section Numbering System:**
94
+
95
+ Use integer sections (1, 2, 3) for planned document structure.
96
+
97
+ Use decimal sections (2.1, 2.2) for urgent insertions:
98
+ - Decimal sections inserted between integers
99
+ - Mark with "(INSERTED)" in section title
100
+ - Created when critical content discovered after planning
101
+ - Examples: addressing reviewer comments, adding missing analysis
102
+
103
+ **Deriving sections:**
104
+
105
+ 1. List all required sections for document type
106
+ 2. Group related arguments into coherent sections
107
+ 3. Each section should deliver ONE complete part of the argument
108
+ 4. If a section covers unrelated points: split it
109
+ 5. If a section can't stand alone as a unit: merge it
110
+ 6. Order by logical flow (setup → method → findings → meaning)
111
+
112
+ Good sections are:
113
+ - **Coherent**: Each delivers one complete argumentative unit
114
+ - **Sequential**: Later sections build on earlier
115
+ - **Self-contained**: Can be verified and understood on its own
116
+
117
+ Common section patterns by document type:
118
+
119
+ **IMRaD Paper:**
120
+ - Abstract → Introduction → Methods → Results → Discussion → Conclusion
121
+
122
+ **Conference Paper:**
123
+ - Abstract → Introduction → Background → Approach → Evaluation → Discussion → Conclusion
124
+
125
+ **Grant Proposal:**
126
+ - Specific Aims → Significance → Innovation → Approach → Timeline → Budget
127
+ </step>
128
+
129
+ <step name="detect_research_needs">
130
+ **For each section, determine if literature research is likely needed.**
131
+
132
+ Scan the brief and section descriptions for research triggers:
133
+
134
+ <research_triggers>
135
+ **Likely (flag the section):**
136
+
137
+ | Trigger Pattern | Why Research Needed |
138
+ | --------------- | ------------------- |
139
+ | "literature review", "related work", "background" | Core purpose is citing prior work |
140
+ | "compare to", "differs from", "unlike" | Need to accurately represent prior work |
141
+ | "builds on", "extends", "improves" | Need to understand what's being extended |
142
+ | "controversial", "debated", "contested" | Need to represent multiple perspectives |
143
+ | "recent advances", "state of the art", "current" | Need up-to-date literature |
144
+ | "methodology borrowed from" | Need to cite and accurately describe |
145
+ | Any claim requiring external evidence | Need sources to support |
146
+
147
+ **Unlikely (no flag needed):**
148
+
149
+ | Pattern | Why No Research |
150
+ | ------- | --------------- |
151
+ | "describe our method", "our approach" | Reporting own work |
152
+ | "results show", "we found" | Presenting own findings |
153
+ | "data collected", "analysis performed" | Describing own process |
154
+ | "limitations of our study" | Self-reflection on own work |
155
+
156
+ </research_triggers>
157
+
158
+ **For each section, assign:**
159
+ - `Research: Likely ([reason])` + `Research topics: [what to investigate]`
160
+ - `Research: Unlikely ([reason])`
161
+
162
+ Present research assessment:
163
+
164
+ ```
165
+ Research needs detected:
166
+
167
+ Section 1: Introduction
168
+ Research: Likely (establishing gap requires citing prior work)
169
+ Topics: Prior approaches to [problem], their limitations
170
+
171
+ Section 2: Methods
172
+ Research: Unlikely (describing own methodology)
173
+
174
+ Section 3: Related Work
175
+ Research: Likely (core purpose)
176
+ Topics: [theme 1], [theme 2], contrasting approaches
177
+
178
+ Section 4: Results
179
+ Research: Unlikely (presenting own findings)
180
+
181
+ Section 5: Discussion
182
+ Research: Likely (interpreting findings in context of literature)
183
+ Topics: How findings relate to prior work
184
+
185
+ Does this look right? (yes / adjust)
186
+ ```
187
+ </step>
188
+
189
+ <step name="confirm_sections">
190
+ <config-check>
191
+ ```bash
192
+ cat .planning/config.json 2>/dev/null
193
+ ```
194
+ Note: Config may not exist yet (project initialization). If missing, default to interactive mode.
195
+ </config-check>
196
+
197
+ <if mode="yolo">
198
+ ```
199
+ Auto-approved: Section breakdown ([N] sections)
200
+
201
+ 1. [Section name] - [goal]
202
+ 2. [Section name] - [goal]
203
+ 3. [Section name] - [goal]
204
+
205
+ Proceeding to research detection...
206
+ ```
207
+
208
+ Proceed directly to detect_research_needs step.
209
+ </if>
210
+
211
+ <if mode="interactive" OR="missing OR custom with gates.confirm_sections true">
212
+ Present the section breakdown inline:
213
+
214
+ "Here's how I'd structure this document:
215
+
216
+ 1. [Section name] - [goal]
217
+ 2. [Section name] - [goal]
218
+ 3. [Section name] - [goal]
219
+ ...
220
+
221
+ Does this feel right? (yes / adjust)"
222
+
223
+ If "adjust": Ask what to change, revise, present again.
224
+ </step>
225
+
226
+ <step name="decision_gate">
227
+ <if mode="yolo">
228
+ ```
229
+ Auto-approved: Create outline with [N] sections
230
+
231
+ Proceeding to create .planning/ROADMAP.md...
232
+ ```
233
+
234
+ Proceed directly to create_structure step.
235
+ </if>
236
+
237
+ <if mode="interactive" OR="missing OR custom with gates.confirm_roadmap true">
238
+ Use AskUserQuestion:
239
+
240
+ - header: "Ready"
241
+ - question: "Ready to create the document outline, or would you like me to ask more questions?"
242
+ - options:
243
+ - "Create outline" - I have enough context
244
+ - "Ask more questions" - There are details to clarify
245
+ - "Let me add context" - I want to provide more information
246
+
247
+ Loop until "Create outline" selected.
248
+ </step>
249
+
250
+ <step name="create_structure">
251
+ ```bash
252
+ mkdir -p .planning/sections
253
+ ```
254
+ </step>
255
+
256
+ <step name="write_roadmap">
257
+ Use template from `~/.claude/write-the-f-paper/templates/roadmap.md`.
258
+
259
+ Initial outlines use integer sections (1, 2, 3...).
260
+ Decimal sections added later via /wtfp:insert-section command.
261
+
262
+ Write to `.planning/ROADMAP.md` with:
263
+
264
+ - Document Type section (IMRaD, Grant, etc.)
265
+ - Section list with names and one-line goals
266
+ - Word budget per section
267
+ - Dependencies (what must complete before what)
268
+ - **Research flags** (from detect_research_needs step):
269
+ - `Research: Likely ([reason])` with `Research topics:` for flagged sections
270
+ - `Research: Unlikely ([reason])` for unflagged sections
271
+ - Status tracking (all start as "not started")
272
+
273
+ Create section directories:
274
+
275
+ ```bash
276
+ mkdir -p .planning/sections/01-{section-name}
277
+ mkdir -p .planning/sections/02-{section-name}
278
+ # etc.
279
+ ```
280
+ </step>
281
+
282
+ <step name="initialize_project_state">
283
+
284
+ Create STATE.md — the project's living memory.
285
+
286
+ Use template from `~/.claude/write-the-f-paper/templates/state.md`.
287
+
288
+ Write to `.planning/STATE.md`:
289
+
290
+ ```markdown
291
+ # Project State
292
+
293
+ ## Project Reference
294
+
295
+ See: .planning/PROJECT.md (updated [today's date])
296
+
297
+ **Core argument:** [Copy thesis/core claim from PROJECT.md]
298
+ **Current focus:** Section 1 — [First section name]
299
+
300
+ ## Current Position
301
+
302
+ Section: 1 of [N] ([First section name])
303
+ Plan: Not started
304
+ Status: Ready to plan
305
+ Last activity: [today's date] — Document initialized
306
+
307
+ Progress: ░░░░░░░░░░ 0%
308
+
309
+ ## Word Count
310
+
311
+ Target: [total target] words
312
+ Current: 0 words
313
+ Remaining: [total target] words
314
+
315
+ ## Section Progress
316
+
317
+ | Section | Status | Words | Target | Strength |
318
+ |---------|--------|-------|--------|----------|
319
+ | 1. [Name] | - | 0 | [target] | - |
320
+ | 2. [Name] | - | 0 | [target] | - |
321
+
322
+ ## Argument Strength
323
+
324
+ Core claim: developing
325
+ Evidence gaps: [initial assessment]
326
+ Logic flow: not yet established
327
+
328
+ ## Open Questions
329
+
330
+ (None yet)
331
+
332
+ ## Deferred
333
+
334
+ (None yet)
335
+
336
+ ## Session Continuity
337
+
338
+ Last session: [today's date and time]
339
+ Stopped at: Document initialization complete
340
+ Resume file: None
341
+ ```
342
+
343
+ **Key points:**
344
+ - Project Reference points to PROJECT.md for full context
345
+ - Claude reads PROJECT.md directly for thesis, constraints, decisions
346
+ - This file will be read first in every future operation
347
+ - This file will be updated after every writing session
348
+
349
+ </step>
350
+
351
+ <step name="create_structure_files">
352
+ Create the three structure layers for the document:
353
+
354
+ **argument-map.md** - Logical structure of the argument
355
+ ```bash
356
+ mkdir -p .planning/structure
357
+ ```
358
+
359
+ Use template from `~/.claude/write-the-f-paper/templates/project-context/argument-structure.md`
360
+
361
+ Write initial skeleton based on thesis and sections identified.
362
+
363
+ **outline.md** - Section skeleton with word budgets
364
+
365
+ Already created as ROADMAP.md, but create detailed outline.md if needed.
366
+
367
+ **narrative-arc.md** - Story structure
368
+
369
+ Create using narrative-arc.md template from project-context/.
370
+ </step>
371
+
372
+ <step name="git_commit_initialization">
373
+ Commit project initialization (brief + roadmap + state together):
374
+
375
+ ```bash
376
+ git add .planning/PROJECT.md .planning/ROADMAP.md .planning/STATE.md
377
+ git add .planning/sections/
378
+ git add .planning/structure/
379
+ # config.json if exists
380
+ git add .planning/config.json 2>/dev/null
381
+ git commit -m "$(cat <<'EOF'
382
+ docs: initialize [document-title] ([N] sections)
383
+
384
+ [One-liner thesis/purpose from PROJECT.md]
385
+
386
+ Sections:
387
+ 1. [section-name]: [goal]
388
+ 2. [section-name]: [goal]
389
+ 3. [section-name]: [goal]
390
+ EOF
391
+ )"
392
+ ```
393
+
394
+ Confirm: "Committed: docs: initialize [document] ([N] sections)"
395
+ </step>
396
+
397
+ <step name="offer_next">
398
+ ```
399
+ Document initialized:
400
+ - Brief: .planning/PROJECT.md
401
+ - Outline: .planning/ROADMAP.md
402
+ - State: .planning/STATE.md
403
+ - Structure: .planning/structure/
404
+ - Committed as: docs: initialize [document] ([N] sections)
405
+
406
+ ---
407
+
408
+ ## Next Up
409
+
410
+ **Section 1: [Name]** — [Goal from ROADMAP.md]
411
+
412
+ `/wtfp:plan-section 1`
413
+
414
+ <sub>`/clear` first → fresh context window</sub>
415
+
416
+ ---
417
+
418
+ **Also available:**
419
+ - `/wtfp:discuss-section 1` — gather context first
420
+ - `/wtfp:research-gap [topic]` — investigate literature
421
+ - Review outline
422
+
423
+ ---
424
+ ```
425
+ </step>
426
+
427
+ </process>
428
+
429
+ <section_naming>
430
+ Use `XX-kebab-case-name` format:
431
+ - `01-abstract`
432
+ - `02-introduction`
433
+ - `03-methods`
434
+ - `04-results`
435
+ - `05-discussion`
436
+
437
+ Numbers ensure ordering. Names describe content.
438
+ </section_naming>
439
+
440
+ <anti_patterns>
441
+ - Don't add time estimates
442
+ - Don't create Gantt charts
443
+ - Don't add word count goals per day
444
+ - Don't include revision matrices upfront
445
+ - Don't impose arbitrary section counts (let the document type determine the count)
446
+
447
+ Sections are structural units of the argument, not project management artifacts.
448
+ </anti_patterns>
449
+
450
+ <success_criteria>
451
+ Outline is complete when:
452
+ - [ ] `.planning/ROADMAP.md` exists
453
+ - [ ] `.planning/STATE.md` exists (project memory initialized)
454
+ - [ ] `.planning/structure/` exists with argument-map.md, narrative-arc.md
455
+ - [ ] Sections defined with clear goals (count derived from document type, not imposed)
456
+ - [ ] **Research flags assigned** (Likely/Unlikely for each section)
457
+ - [ ] **Research topics listed** for Likely sections
458
+ - [ ] Word budgets assigned per section
459
+ - [ ] Section directories created
460
+ - [ ] Dependencies noted if any
461
+ - [ ] Status tracking in place
462
+ </success_criteria>
@@ -0,0 +1,194 @@
1
+ <purpose>
2
+ Define document sections. Each section = coherent chunk delivering part of argument.
3
+ Outline provides structure, not detailed prose.
4
+ </purpose>
5
+
6
+ <required_reading>
7
+ READ: ~/.claude/write-the-f-paper/templates/roadmap.md
8
+ READ: ~/.claude/write-the-f-paper/templates/state.md
9
+ READ: .planning/PROJECT.md (if exists)
10
+ </required_reading>
11
+
12
+ <process>
13
+
14
+ [step:check_brief p=1]
15
+ RUN: cat .planning/PROJECT.md 2>/dev/null || echo "No brief found"
16
+ IF no_brief → ASK: "No project brief found. Create one first, or proceed?"
17
+ IF proceed_without → gather: doc_type, core_argument, target_venue, constraints
18
+ [/step]
19
+
20
+ [step:detect_document_type]
21
+ Infer from brief/user request:
22
+
23
+ DOCTYPE{keywords → type → sections}:
24
+ journal/paper/article → IMRaD | intro, methods, results, discussion
25
+ conference/short/workshop → Conference | intro, background, approach, eval, conclusion
26
+ grant/proposal/NSF/NIH → Grant | aims, significance, innovation, approach, timeline
27
+ thesis/dissertation → Thesis | varies by field
28
+ review/survey/lit → Review | intro, methodology, findings, synthesis
29
+
30
+ EMIT: "Detected: [type] → [sections]. Use this? (Y/customize/show options)"
31
+ IF multiple_types → present options, ask user to select
32
+ STORE: selected_template
33
+ [/step]
34
+
35
+ [step:identify_sections]
36
+ RUN: cat .planning/config.json 2>/dev/null | grep depth
37
+
38
+ DEPTH{level,sections,plans_per,tasks_per}:
39
+ quick | 4-6 | 1-2 | 2-3
40
+ standard | 6-10 | 2-4 | 2-3
41
+ comprehensive | 8-15 | 3-6 | 2-3
42
+
43
+ PRINCIPLE: Derive sections from doc requirements. Depth = how to break down complex sections, NOT a target.
44
+ - Comprehensive Methods = 4 plans (methods has 4 subsections)
45
+ - Comprehensive Abstract = 1 plan (that's all it is)
46
+ - Let small sections stay small—don't pad
47
+
48
+ SECTION_NUMBERING:
49
+ integers (1,2,3) = planned structure
50
+ decimals (2.1,2.2) = urgent insertions between integers
51
+
52
+ SECTION_RULES:
53
+ 1. List all required sections for doc type
54
+ 2. Group related arguments into coherent sections
55
+ 3. Each section delivers ONE complete argument part
56
+ 4. If covers unrelated points → split
57
+ 5. If can't stand alone → merge
58
+ 6. Order: setup → method → findings → meaning
59
+
60
+ GOOD_SECTIONS: coherent (one unit), sequential (builds), self-contained (verifiable alone)
61
+ [/step]
62
+
63
+ [step:detect_research_needs]
64
+ For each section, assess if literature research needed:
65
+
66
+ RESEARCH_LIKELY{trigger → reason}:
67
+ lit_review/related_work/background → core purpose is citing
68
+ compare_to/differs_from/unlike → need to represent prior work
69
+ builds_on/extends/improves → need to understand what's extended
70
+ controversial/debated/contested → need multiple perspectives
71
+ recent_advances/state_of_art → need up-to-date literature
72
+ methodology_borrowed_from → need to cite and describe
73
+
74
+ RESEARCH_UNLIKELY{pattern → reason}:
75
+ describe_our_method/our_approach → reporting own work
76
+ results_show/we_found → presenting own findings
77
+ data_collected/analysis_performed → describing own process
78
+ limitations_of_our_study → self-reflection
79
+
80
+ ASSIGN: per section "Research: Likely ([reason]) + Topics: [what]" OR "Research: Unlikely ([reason])"
81
+ EMIT: research assessment table, ASK: "Does this look right? (yes/adjust)"
82
+ [/step]
83
+
84
+ [step:confirm_sections]
85
+ RUN: cat .planning/config.json 2>/dev/null
86
+ IF mode=yolo → EMIT "Auto-approved: [N] sections" → proceed
87
+ IF mode=interactive|missing → present breakdown, ASK: "Does this feel right? (yes/adjust)"
88
+ IF adjust → revise, present again
89
+ [/step]
90
+
91
+ [step:decision_gate]
92
+ IF mode=yolo → EMIT "Auto-approved: Create outline" → proceed
93
+ IF mode=interactive|missing → ASK: "Ready to create outline, or ask more questions?"
94
+ OPTIONS: Create outline | Ask more questions | Let me add context
95
+ LOOP until "Create outline" selected
96
+ [/step]
97
+
98
+ [step:create_structure]
99
+ RUN: mkdir -p .planning/sections
100
+ [/step]
101
+
102
+ [step:write_roadmap]
103
+ READ: ~/.claude/write-the-f-paper/templates/roadmap.md
104
+ WRITE: .planning/ROADMAP.md
105
+
106
+ INCLUDE:
107
+ - Document Type section
108
+ - Section list with names + one-line goals
109
+ - Word budget per section
110
+ - Dependencies (what before what)
111
+ - Research flags from detect_research_needs
112
+ - Status tracking (all "not started")
113
+
114
+ RUN: mkdir -p .planning/sections/01-{section-name}
115
+ RUN: mkdir -p .planning/sections/02-{section-name}
116
+ [/step]
117
+
118
+ [step:initialize_project_state]
119
+ READ: ~/.claude/write-the-f-paper/templates/state.md
120
+ WRITE: .planning/STATE.md
121
+
122
+ STATE_FIELDS:
123
+ - Project Reference → points to PROJECT.md
124
+ - Core argument → copy thesis from PROJECT.md
125
+ - Current Position → Section 1, Plan not started
126
+ - Word Count → target vs current (0)
127
+ - Section Progress → table with status/words/target/strength
128
+ - Argument Strength → "developing"
129
+ - Open Questions → (none yet)
130
+ - Deferred → (none yet)
131
+ - Session Continuity → timestamp + resume info
132
+ [/step]
133
+
134
+ [step:create_structure_files]
135
+ RUN: mkdir -p .planning/structure
136
+
137
+ WRITE: .planning/structure/argument-map.md
138
+ USE: ~/.claude/write-the-f-paper/templates/project-context/argument-structure.md
139
+ FILL: skeleton based on thesis + sections
140
+
141
+ WRITE: .planning/structure/narrative-arc.md
142
+ USE: ~/.claude/write-the-f-paper/templates/project-context/narrative-arc.md
143
+ [/step]
144
+
145
+ [step:git_commit]
146
+ RUN: git add .planning/PROJECT.md .planning/ROADMAP.md .planning/STATE.md .planning/sections/ .planning/structure/
147
+ RUN: git add .planning/config.json 2>/dev/null
148
+ COMMIT: "docs: initialize [title] ([N] sections)"
149
+ EMIT: "Committed: docs: initialize [document] ([N] sections)"
150
+ [/step]
151
+
152
+ [step:offer_next]
153
+ EMIT:
154
+ Document initialized:
155
+ - Brief: .planning/PROJECT.md
156
+ - Outline: .planning/ROADMAP.md
157
+ - State: .planning/STATE.md
158
+ - Structure: .planning/structure/
159
+
160
+ Next: Section 1: [Name] — [Goal]
161
+ → /wtfp:plan-section 1
162
+
163
+ Also: /wtfp:discuss-section 1, /wtfp:research-gap [topic]
164
+ [/step]
165
+
166
+ </process>
167
+
168
+ <section_naming>
169
+ Format: XX-kebab-case-name
170
+ Examples: 01-abstract, 02-introduction, 03-methods
171
+ Numbers ensure ordering. Names describe content.
172
+ </section_naming>
173
+
174
+ <anti_patterns>
175
+ - No time estimates
176
+ - No Gantt charts
177
+ - No word count goals per day
178
+ - No revision matrices upfront
179
+ - No arbitrary section counts (let doc type determine)
180
+ Sections = structural units of argument, not project management artifacts.
181
+ </anti_patterns>
182
+
183
+ <success_criteria>
184
+ - [ ] .planning/ROADMAP.md exists
185
+ - [ ] .planning/STATE.md exists
186
+ - [ ] .planning/structure/ with argument-map.md, narrative-arc.md
187
+ - [ ] Sections defined with clear goals (count from doc type)
188
+ - [ ] Research flags assigned (Likely/Unlikely per section)
189
+ - [ ] Research topics listed for Likely sections
190
+ - [ ] Word budgets assigned
191
+ - [ ] Section directories created
192
+ - [ ] Dependencies noted
193
+ - [ ] Status tracking in place
194
+ </success_criteria>