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.
- package/LICENSE +21 -0
- package/README.md +338 -0
- package/bin/install.js +358 -0
- package/bin/uninstall.js +485 -0
- package/commands/wtfp/analyze-bib.md +326 -0
- package/commands/wtfp/check-refs.md +205 -0
- package/commands/wtfp/create-outline.md +275 -0
- package/commands/wtfp/discuss-section.md +71 -0
- package/commands/wtfp/export-latex.md +216 -0
- package/commands/wtfp/help.md +342 -0
- package/commands/wtfp/insert-section.md +130 -0
- package/commands/wtfp/list-assumptions.md +109 -0
- package/commands/wtfp/map-project.md +197 -0
- package/commands/wtfp/new-paper.md +443 -0
- package/commands/wtfp/pause-writing.md +145 -0
- package/commands/wtfp/plan-revision.md +180 -0
- package/commands/wtfp/plan-section.md +247 -0
- package/commands/wtfp/polish-prose.md +177 -0
- package/commands/wtfp/progress.md +325 -0
- package/commands/wtfp/remove-section.md +147 -0
- package/commands/wtfp/research-gap.md +235 -0
- package/commands/wtfp/resume-writing.md +142 -0
- package/commands/wtfp/review-section.md +409 -0
- package/commands/wtfp/submit-milestone.md +211 -0
- package/commands/wtfp/write-section.md +273 -0
- package/package.json +40 -0
- package/write-the-f-paper/references/checkpoints.md +213 -0
- package/write-the-f-paper/references/continuation-format.md +223 -0
- package/write-the-f-paper/references/git-integration.md +241 -0
- package/write-the-f-paper/references/imrad-structure.md +212 -0
- package/write-the-f-paper/references/length-estimation.md +148 -0
- package/write-the-f-paper/references/plan-format.md +361 -0
- package/write-the-f-paper/references/principles.md +158 -0
- package/write-the-f-paper/references/questioning.md +132 -0
- package/write-the-f-paper/references/research-pitfalls.md +208 -0
- package/write-the-f-paper/templates/config.json +30 -0
- package/write-the-f-paper/templates/context.md +179 -0
- package/write-the-f-paper/templates/continue-here.md +142 -0
- package/write-the-f-paper/templates/data-inventory.md +142 -0
- package/write-the-f-paper/templates/discovery.md +146 -0
- package/write-the-f-paper/templates/issues.md +59 -0
- package/write-the-f-paper/templates/manuscript.md +253 -0
- package/write-the-f-paper/templates/narrative-arc.md +227 -0
- package/write-the-f-paper/templates/outline.md +274 -0
- package/write-the-f-paper/templates/phase-prompt.md +348 -0
- package/write-the-f-paper/templates/prior-drafts.md +204 -0
- package/write-the-f-paper/templates/project-context/argument-structure.md +267 -0
- package/write-the-f-paper/templates/project-context/bibliography.md +152 -0
- package/write-the-f-paper/templates/project-context/gaps.md +122 -0
- package/write-the-f-paper/templates/project-context/imrad.md +140 -0
- package/write-the-f-paper/templates/project-context/peer-review.md +152 -0
- package/write-the-f-paper/templates/project-context/style-guide.md +198 -0
- package/write-the-f-paper/templates/project-context/tools.md +170 -0
- package/write-the-f-paper/templates/project.md +185 -0
- package/write-the-f-paper/templates/research.md +384 -0
- package/write-the-f-paper/templates/review-comments.md +253 -0
- package/write-the-f-paper/templates/revision-issues.md +169 -0
- package/write-the-f-paper/templates/roadmap.md +187 -0
- package/write-the-f-paper/templates/section-archive.md +178 -0
- package/write-the-f-paper/templates/section-context.md +114 -0
- package/write-the-f-paper/templates/section.md +128 -0
- package/write-the-f-paper/templates/state.md +244 -0
- package/write-the-f-paper/templates/summary.md +277 -0
- package/write-the-f-paper/venues/acm-cs.yaml +102 -0
- package/write-the-f-paper/venues/arxiv-ml.yaml +103 -0
- package/write-the-f-paper/venues/ieee-cs.yaml +100 -0
- package/write-the-f-paper/venues/nature.yaml +81 -0
- package/write-the-f-paper/venues/thesis-chapter.yaml +101 -0
- package/write-the-f-paper/workflows/create-outline.md +462 -0
- package/write-the-f-paper/workflows/create-outline.wcn.md +194 -0
- package/write-the-f-paper/workflows/discuss-section.md +249 -0
- package/write-the-f-paper/workflows/discuss-section.wcn.md +63 -0
- package/write-the-f-paper/workflows/execute-section.md +704 -0
- package/write-the-f-paper/workflows/execute-section.wcn.md +219 -0
- package/write-the-f-paper/workflows/list-assumptions.md +183 -0
- package/write-the-f-paper/workflows/list-assumptions.wcn.md +42 -0
- package/write-the-f-paper/workflows/lit-review-phase.md +281 -0
- package/write-the-f-paper/workflows/lit-review-phase.wcn.md +92 -0
- package/write-the-f-paper/workflows/map-project.md +359 -0
- package/write-the-f-paper/workflows/map-project.wcn.md +73 -0
- package/write-the-f-paper/workflows/plan-section.md +409 -0
- package/write-the-f-paper/workflows/plan-section.wcn.md +236 -0
- package/write-the-f-paper/workflows/research-gap.md +469 -0
- package/write-the-f-paper/workflows/research-gap.wcn.md +119 -0
- package/write-the-f-paper/workflows/resume-paper.md +274 -0
- package/write-the-f-paper/workflows/resume-paper.wcn.md +93 -0
- package/write-the-f-paper/workflows/review-section.md +329 -0
- package/write-the-f-paper/workflows/review-section.wcn.md +91 -0
- package/write-the-f-paper/workflows/submit-draft.md +368 -0
- package/write-the-f-paper/workflows/submit-draft.wcn.md +69 -0
- package/write-the-f-paper/workflows/transition.md +375 -0
- package/write-the-f-paper/workflows/transition.wcn.md +113 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wtfp:map-project
|
|
3
|
+
description: Map existing source materials for brownfield writing projects
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
- Write
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Task
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<objective>
|
|
14
|
+
Index existing source materials (literature, data, prior drafts) for a writing project.
|
|
15
|
+
|
|
16
|
+
Creates `.planning/sources/` with organized references covering:
|
|
17
|
+
- literature.md (bibliography index)
|
|
18
|
+
- data.md (figures, tables, evidence inventory)
|
|
19
|
+
- prior-drafts.md (existing material to incorporate)
|
|
20
|
+
|
|
21
|
+
Use before `/wtfp:new-paper` on existing writing projects.
|
|
22
|
+
</objective>
|
|
23
|
+
|
|
24
|
+
<execution_context>
|
|
25
|
+
@~/.claude/write-the-f-paper/workflows/map-project.md
|
|
26
|
+
</execution_context>
|
|
27
|
+
|
|
28
|
+
<process>
|
|
29
|
+
|
|
30
|
+
<step name="detect">
|
|
31
|
+
**Detect existing materials:**
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Find bibliography files
|
|
35
|
+
find . -name "*.bib" -o -name "references.md" -o -name "bibliography.md" 2>/dev/null | head -20
|
|
36
|
+
|
|
37
|
+
# Find existing drafts
|
|
38
|
+
find . -name "*.tex" -o -name "*.md" -o -name "*.docx" 2>/dev/null | grep -v node_modules | grep -v .planning | head -20
|
|
39
|
+
|
|
40
|
+
# Find data files
|
|
41
|
+
find . -name "*.csv" -o -name "*.json" -o -name "*.xlsx" 2>/dev/null | head -20
|
|
42
|
+
|
|
43
|
+
# Find figures
|
|
44
|
+
find . -name "*.png" -o -name "*.pdf" -o -name "*.svg" -o -name "*.jpg" 2>/dev/null | head -20
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
</step>
|
|
48
|
+
|
|
49
|
+
<step name="create_structure">
|
|
50
|
+
**Create sources directory:**
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
mkdir -p .planning/sources
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
</step>
|
|
57
|
+
|
|
58
|
+
<step name="literature">
|
|
59
|
+
**Index literature sources:**
|
|
60
|
+
|
|
61
|
+
If .bib files found:
|
|
62
|
+
- Parse BibTeX entries
|
|
63
|
+
- Extract: key, title, authors, year, relevance
|
|
64
|
+
|
|
65
|
+
Create `.planning/sources/literature.md`:
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
# Literature Index
|
|
69
|
+
|
|
70
|
+
## Core References (cite in paper)
|
|
71
|
+
| Key | Citation | Relevance | Status |
|
|
72
|
+
|-----|----------|-----------|--------|
|
|
73
|
+
| [key] | [Author (Year)] | [why relevant] | Available |
|
|
74
|
+
|
|
75
|
+
## Background Reading
|
|
76
|
+
| Key | Citation | Notes |
|
|
77
|
+
|-----|----------|-------|
|
|
78
|
+
|
|
79
|
+
## To Find
|
|
80
|
+
- [ ] [Missing citations needed]
|
|
81
|
+
|
|
82
|
+
## Sources
|
|
83
|
+
- [path to .bib file]
|
|
84
|
+
- [other source files]
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
*Indexed: [date]*
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
</step>
|
|
91
|
+
|
|
92
|
+
<step name="data">
|
|
93
|
+
**Index data and evidence:**
|
|
94
|
+
|
|
95
|
+
Scan for figures, tables, data files.
|
|
96
|
+
|
|
97
|
+
Create `.planning/sources/data.md`:
|
|
98
|
+
|
|
99
|
+
```markdown
|
|
100
|
+
# Data & Evidence Inventory
|
|
101
|
+
|
|
102
|
+
## Figures
|
|
103
|
+
| ID | File | Description | Status | Target Section |
|
|
104
|
+
|----|------|-------------|--------|----------------|
|
|
105
|
+
| fig1 | [path] | [description] | Ready/Needs work | [section] |
|
|
106
|
+
|
|
107
|
+
## Tables
|
|
108
|
+
| ID | File/Location | Description | Status |
|
|
109
|
+
|----|---------------|-------------|--------|
|
|
110
|
+
|
|
111
|
+
## Data Files
|
|
112
|
+
| File | Format | Description | Use |
|
|
113
|
+
|------|--------|-------------|-----|
|
|
114
|
+
|
|
115
|
+
## Statistics
|
|
116
|
+
[Any statistical results to report]
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
*Indexed: [date]*
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
</step>
|
|
123
|
+
|
|
124
|
+
<step name="drafts">
|
|
125
|
+
**Index prior drafts:**
|
|
126
|
+
|
|
127
|
+
Scan for existing writing.
|
|
128
|
+
|
|
129
|
+
Create `.planning/sources/prior-drafts.md`:
|
|
130
|
+
|
|
131
|
+
```markdown
|
|
132
|
+
# Prior Drafts & Notes
|
|
133
|
+
|
|
134
|
+
## Existing Documents
|
|
135
|
+
| File | Type | Description | Usable? | Target Section |
|
|
136
|
+
|------|------|-------------|---------|----------------|
|
|
137
|
+
| [path] | [draft/notes/outline] | [description] | [yes/partial/no] | [section] |
|
|
138
|
+
|
|
139
|
+
## Key Passages to Incorporate
|
|
140
|
+
[Notable excerpts worth keeping]
|
|
141
|
+
|
|
142
|
+
## Material to Avoid
|
|
143
|
+
[Content that shouldn't be reused]
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
*Indexed: [date]*
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
</step>
|
|
150
|
+
|
|
151
|
+
<step name="commit">
|
|
152
|
+
```bash
|
|
153
|
+
git add .planning/sources/
|
|
154
|
+
git commit -m "$(cat <<'EOF'
|
|
155
|
+
docs: index source materials
|
|
156
|
+
|
|
157
|
+
Literature: [N] references
|
|
158
|
+
Data: [N] figures, [N] tables
|
|
159
|
+
Prior drafts: [N] documents
|
|
160
|
+
EOF
|
|
161
|
+
)"
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
</step>
|
|
165
|
+
|
|
166
|
+
<step name="done">
|
|
167
|
+
**Present completion:**
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
Sources indexed:
|
|
171
|
+
|
|
172
|
+
- Literature: .planning/sources/literature.md ([N] references)
|
|
173
|
+
- Data: .planning/sources/data.md ([N] figures, [N] tables)
|
|
174
|
+
- Prior Drafts: .planning/sources/prior-drafts.md ([N] documents)
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## ▶ Next Up
|
|
179
|
+
|
|
180
|
+
**Initialize paper** — capture vision and structure
|
|
181
|
+
|
|
182
|
+
`/wtfp:new-paper`
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
</step>
|
|
188
|
+
|
|
189
|
+
</process>
|
|
190
|
+
|
|
191
|
+
<success_criteria>
|
|
192
|
+
- [ ] All existing materials discovered
|
|
193
|
+
- [ ] literature.md indexes all citations
|
|
194
|
+
- [ ] data.md inventories figures and evidence
|
|
195
|
+
- [ ] prior-drafts.md catalogs existing writing
|
|
196
|
+
- [ ] All committed to git
|
|
197
|
+
</success_criteria>
|
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wtfp:new-paper
|
|
3
|
+
description: Initialize a new paper with deep context gathering and PROJECT.md
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
- Write
|
|
8
|
+
- AskUserQuestion
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
|
|
13
|
+
Initialize a new academic paper through comprehensive context gathering.
|
|
14
|
+
|
|
15
|
+
This is the most leveraged moment in any writing project. Deep questioning here means better structure, better arguments, better outcomes.
|
|
16
|
+
|
|
17
|
+
Creates `.planning/` with PROJECT.md, config.json, and structure documents.
|
|
18
|
+
|
|
19
|
+
</objective>
|
|
20
|
+
|
|
21
|
+
<execution_context>
|
|
22
|
+
|
|
23
|
+
@~/.claude/write-the-f-paper/references/principles.md
|
|
24
|
+
@~/.claude/write-the-f-paper/references/questioning.md
|
|
25
|
+
@~/.claude/write-the-f-paper/templates/project.md
|
|
26
|
+
@~/.claude/write-the-f-paper/templates/config.json
|
|
27
|
+
@~/.claude/write-the-f-paper/venues/
|
|
28
|
+
|
|
29
|
+
</execution_context>
|
|
30
|
+
|
|
31
|
+
<process>
|
|
32
|
+
|
|
33
|
+
<step name="setup">
|
|
34
|
+
|
|
35
|
+
**MANDATORY FIRST STEP — Execute these checks before ANY user interaction:**
|
|
36
|
+
|
|
37
|
+
1. **Abort if project exists:**
|
|
38
|
+
```bash
|
|
39
|
+
[ -f .planning/PROJECT.md ] && echo "ERROR: Paper already initialized. Use /wtfp:progress" && exit 1
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
2. **Initialize git repo in THIS directory** (required for version tracking):
|
|
43
|
+
```bash
|
|
44
|
+
if [ -d .git ] || [ -f .git ]; then
|
|
45
|
+
echo "Git repo exists in current directory"
|
|
46
|
+
else
|
|
47
|
+
git init
|
|
48
|
+
echo "Initialized new git repo"
|
|
49
|
+
fi
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
3. **Detect existing writing materials (brownfield detection):**
|
|
53
|
+
```bash
|
|
54
|
+
# Check for existing writing files
|
|
55
|
+
WRITING_FILES=$(find . -name "*.tex" -o -name "*.md" -o -name "*.bib" -o -name "*.docx" 2>/dev/null | grep -v node_modules | grep -v .git | grep -v .planning | head -20)
|
|
56
|
+
HAS_SOURCES=$([ -d sources ] || [ -d references ] || [ -d literature ] && echo "yes")
|
|
57
|
+
HAS_SOURCE_MAP=$([ -d .planning/sources ] && echo "yes")
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**You MUST run all bash commands above using the Bash tool before proceeding.**
|
|
61
|
+
|
|
62
|
+
</step>
|
|
63
|
+
|
|
64
|
+
<step name="brownfield_offer">
|
|
65
|
+
|
|
66
|
+
**If existing writing detected and .planning/sources/ doesn't exist:**
|
|
67
|
+
|
|
68
|
+
Check the results from setup step:
|
|
69
|
+
- If `WRITING_FILES` is non-empty OR `HAS_SOURCES` is "yes"
|
|
70
|
+
- AND `HAS_SOURCE_MAP` is NOT "yes"
|
|
71
|
+
|
|
72
|
+
Use AskUserQuestion:
|
|
73
|
+
- header: "Existing Material"
|
|
74
|
+
- question: "I detected existing writing materials. Would you like to map them first?"
|
|
75
|
+
- options:
|
|
76
|
+
- "Map sources first" — Run /wtfp:map-project to index existing literature/drafts (Recommended)
|
|
77
|
+
- "Skip mapping" — Proceed with paper initialization
|
|
78
|
+
|
|
79
|
+
**If "Map sources first":**
|
|
80
|
+
```
|
|
81
|
+
Run `/wtfp:map-project` first, then return to `/wtfp:new-paper`
|
|
82
|
+
```
|
|
83
|
+
Exit command.
|
|
84
|
+
|
|
85
|
+
**If "Skip mapping":** Continue to type step.
|
|
86
|
+
|
|
87
|
+
**If no existing materials detected OR sources already mapped:** Continue to type step.
|
|
88
|
+
|
|
89
|
+
</step>
|
|
90
|
+
|
|
91
|
+
<step name="type">
|
|
92
|
+
|
|
93
|
+
**Ask paper type:**
|
|
94
|
+
|
|
95
|
+
Use AskUserQuestion:
|
|
96
|
+
- header: "Paper Type"
|
|
97
|
+
- question: "What type of document are you writing?"
|
|
98
|
+
- options:
|
|
99
|
+
- "Research paper" — Journal article or conference paper
|
|
100
|
+
- "Grant proposal" — Funding application (NSF, NIH, etc.)
|
|
101
|
+
- "Thesis chapter" — Dissertation or thesis section
|
|
102
|
+
- "Other" — Essay, report, or something else
|
|
103
|
+
|
|
104
|
+
Store the document type for later structure decisions.
|
|
105
|
+
|
|
106
|
+
</step>
|
|
107
|
+
|
|
108
|
+
<step name="venue_template">
|
|
109
|
+
|
|
110
|
+
**Select venue template (for research papers):**
|
|
111
|
+
|
|
112
|
+
If document type is "Research paper", ask for venue template:
|
|
113
|
+
|
|
114
|
+
Use AskUserQuestion:
|
|
115
|
+
- header: "Venue"
|
|
116
|
+
- question: "What's your target venue or field?"
|
|
117
|
+
- options:
|
|
118
|
+
- "ACM CS" — Systems, databases, architecture (SIGMOD, OSDI, SOSP)
|
|
119
|
+
- "IEEE CS" — HPC, parallel systems, storage (SC, IPDPS, TPDS)
|
|
120
|
+
- "ML/AI" — NeurIPS, ICML, ICLR style
|
|
121
|
+
- "Nature/Science" — Classic IMRaD for life sciences
|
|
122
|
+
- "Other" — Custom structure
|
|
123
|
+
|
|
124
|
+
**Load venue template:**
|
|
125
|
+
|
|
126
|
+
Based on selection, read the corresponding venue template:
|
|
127
|
+
- ACM CS → `~/.claude/write-the-f-paper/venues/acm-cs.yaml`
|
|
128
|
+
- IEEE CS → `~/.claude/write-the-f-paper/venues/ieee-cs.yaml`
|
|
129
|
+
- ML/AI → `~/.claude/write-the-f-paper/venues/arxiv-ml.yaml`
|
|
130
|
+
- Nature/Science → `~/.claude/write-the-f-paper/venues/nature.yaml`
|
|
131
|
+
- Other → Ask user to describe structure
|
|
132
|
+
|
|
133
|
+
If document type is "Thesis chapter":
|
|
134
|
+
- Load `~/.claude/write-the-f-paper/venues/thesis-chapter.yaml`
|
|
135
|
+
|
|
136
|
+
Store the selected venue template for use in structure step.
|
|
137
|
+
|
|
138
|
+
</step>
|
|
139
|
+
|
|
140
|
+
<step name="question">
|
|
141
|
+
|
|
142
|
+
**1. Open (FREEFORM — do NOT use AskUserQuestion):**
|
|
143
|
+
|
|
144
|
+
Ask inline: "What is the core argument or contribution of your paper?"
|
|
145
|
+
|
|
146
|
+
Wait for their freeform response. This gives you the context needed to ask intelligent follow-up questions.
|
|
147
|
+
|
|
148
|
+
**2. Follow the thread (NOW use AskUserQuestion):**
|
|
149
|
+
|
|
150
|
+
Based on their response, use AskUserQuestion with options that probe what they mentioned:
|
|
151
|
+
- header: "[Topic they mentioned]"
|
|
152
|
+
- question: "You mentioned [X] — how would you describe the key insight?"
|
|
153
|
+
- options: 2-3 interpretations + "Something else"
|
|
154
|
+
|
|
155
|
+
**3. Target venue:**
|
|
156
|
+
|
|
157
|
+
Use AskUserQuestion:
|
|
158
|
+
- header: "Venue"
|
|
159
|
+
- question: "What's the target venue or format?"
|
|
160
|
+
- options: Common venues for their field + "Undecided" + "Let me specify"
|
|
161
|
+
|
|
162
|
+
**4. Sharpen the core:**
|
|
163
|
+
|
|
164
|
+
Use AskUserQuestion:
|
|
165
|
+
- header: "Core"
|
|
166
|
+
- question: "If reviewers remember one thing, what should it be?"
|
|
167
|
+
- options: Key aspects they've mentioned + "The methodology" + "The findings" + "Something else"
|
|
168
|
+
|
|
169
|
+
**5. Find boundaries:**
|
|
170
|
+
|
|
171
|
+
Use AskUserQuestion:
|
|
172
|
+
- header: "Scope"
|
|
173
|
+
- question: "What's explicitly NOT in this paper?"
|
|
174
|
+
- options: Tempting tangents + "Nothing specific" + "Let me list them"
|
|
175
|
+
|
|
176
|
+
**6. Constraints:**
|
|
177
|
+
|
|
178
|
+
Use AskUserQuestion:
|
|
179
|
+
- header: "Constraints"
|
|
180
|
+
- question: "Any hard constraints?"
|
|
181
|
+
- options:
|
|
182
|
+
- "Page/word limit" — Strict length requirements
|
|
183
|
+
- "Deadline" — Submission deadline pressure
|
|
184
|
+
- "Data limitations" — Working with specific dataset
|
|
185
|
+
- "None" — Flexible constraints
|
|
186
|
+
- "Multiple constraints" — Let me explain
|
|
187
|
+
|
|
188
|
+
**7. Decision gate:**
|
|
189
|
+
|
|
190
|
+
Use AskUserQuestion:
|
|
191
|
+
- header: "Ready?"
|
|
192
|
+
- question: "Ready to create PROJECT.md, or explore more?"
|
|
193
|
+
- options (ALL THREE REQUIRED):
|
|
194
|
+
- "Create PROJECT.md" — Finalize and continue
|
|
195
|
+
- "Ask more questions" — I'll dig deeper
|
|
196
|
+
- "Let me add context" — You have more to share
|
|
197
|
+
|
|
198
|
+
If "Ask more questions" → return to step 2.
|
|
199
|
+
If "Let me add context" → receive input via their response → return to step 2.
|
|
200
|
+
Loop until "Create PROJECT.md" selected.
|
|
201
|
+
|
|
202
|
+
</step>
|
|
203
|
+
|
|
204
|
+
<step name="project">
|
|
205
|
+
|
|
206
|
+
Synthesize all context into `.planning/PROJECT.md`:
|
|
207
|
+
|
|
208
|
+
```markdown
|
|
209
|
+
# [Paper Title]
|
|
210
|
+
|
|
211
|
+
## What This Is
|
|
212
|
+
[Paper type, target venue, approximate length]
|
|
213
|
+
|
|
214
|
+
## Core Argument
|
|
215
|
+
[The thesis in 1-2 sentences — the one thing reviewers should remember]
|
|
216
|
+
|
|
217
|
+
## Requirements
|
|
218
|
+
|
|
219
|
+
### Must Have
|
|
220
|
+
- [ ] [Required element 1]
|
|
221
|
+
- [ ] [Required element 2]
|
|
222
|
+
- [ ] [Required element 3]
|
|
223
|
+
|
|
224
|
+
### Should Have
|
|
225
|
+
- [ ] [Desired element 1]
|
|
226
|
+
- [ ] [Desired element 2]
|
|
227
|
+
|
|
228
|
+
### Out of Scope
|
|
229
|
+
- [Exclusion 1] — [why]
|
|
230
|
+
- [Exclusion 2] — [why]
|
|
231
|
+
|
|
232
|
+
## Target Audience
|
|
233
|
+
[Who reads this, what they care about, what they already know]
|
|
234
|
+
|
|
235
|
+
## Constraints
|
|
236
|
+
- [Constraint 1]: [detail]
|
|
237
|
+
- [Constraint 2]: [detail]
|
|
238
|
+
|
|
239
|
+
## Key Decisions
|
|
240
|
+
|
|
241
|
+
| Decision | Rationale | Outcome |
|
|
242
|
+
|----------|-----------|---------|
|
|
243
|
+
| [Choice from questioning] | [Why] | — Pending |
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
*Last updated: [date] after initialization*
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
Do not compress. Capture everything gathered.
|
|
250
|
+
|
|
251
|
+
</step>
|
|
252
|
+
|
|
253
|
+
<step name="structure">
|
|
254
|
+
|
|
255
|
+
**Create structure documents:**
|
|
256
|
+
|
|
257
|
+
Create `.planning/structure/` directory.
|
|
258
|
+
|
|
259
|
+
**argument-map.md:**
|
|
260
|
+
```markdown
|
|
261
|
+
# Argument Map
|
|
262
|
+
|
|
263
|
+
## Central Thesis
|
|
264
|
+
[From core argument above]
|
|
265
|
+
|
|
266
|
+
## Supporting Claims
|
|
267
|
+
### Claim 1: [Statement]
|
|
268
|
+
- Evidence: [What will support this]
|
|
269
|
+
- Strength: [to be determined]
|
|
270
|
+
|
|
271
|
+
### Claim 2: [Statement]
|
|
272
|
+
- Evidence: [What will support this]
|
|
273
|
+
- Strength: [to be determined]
|
|
274
|
+
|
|
275
|
+
## Logical Flow
|
|
276
|
+
[How claims build to thesis]
|
|
277
|
+
|
|
278
|
+
## Gaps
|
|
279
|
+
- [Claims needing evidence]
|
|
280
|
+
- [Logical leaps to address]
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
**outline.md:**
|
|
284
|
+
```markdown
|
|
285
|
+
# Document Outline
|
|
286
|
+
|
|
287
|
+
## Venue Template: [acm-cs / ieee-cs / arxiv-ml / nature / thesis / custom]
|
|
288
|
+
|
|
289
|
+
## Sections
|
|
290
|
+
[Generated from venue template - see ~/.claude/write-the-f-paper/venues/]
|
|
291
|
+
|
|
292
|
+
| # | Section | Purpose | Word Ratio |
|
|
293
|
+
|---|---------|---------|------------|
|
|
294
|
+
[Populated from venue template structure]
|
|
295
|
+
|
|
296
|
+
## Word Budget
|
|
297
|
+
| Section | Target | Current |
|
|
298
|
+
|---------|--------|---------|
|
|
299
|
+
| Abstract | [X] | 0 |
|
|
300
|
+
| [Section 1 from template] | [X] | 0 |
|
|
301
|
+
| [Section 2 from template] | [X] | 0 |
|
|
302
|
+
| [...] | | |
|
|
303
|
+
| Total | [X] | 0 |
|
|
304
|
+
|
|
305
|
+
## Venue Notes
|
|
306
|
+
[From venue template notes field - venue-specific guidance]
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
**narrative-arc.md:**
|
|
310
|
+
```markdown
|
|
311
|
+
# Narrative Arc
|
|
312
|
+
|
|
313
|
+
## Act 1: The Problem
|
|
314
|
+
- World state: [Current understanding]
|
|
315
|
+
- Tension: [What's missing]
|
|
316
|
+
- Stakes: [Why it matters]
|
|
317
|
+
|
|
318
|
+
## Act 2: The Journey
|
|
319
|
+
- Approach: [How you tackled it]
|
|
320
|
+
- Discovery: [What you found]
|
|
321
|
+
|
|
322
|
+
## Act 3: The Resolution
|
|
323
|
+
- Insight: [What it means]
|
|
324
|
+
- Transformation: [How understanding changes]
|
|
325
|
+
|
|
326
|
+
## Reader Experience
|
|
327
|
+
- Hook: [Why they keep reading]
|
|
328
|
+
- Payoff: [The "aha" moment]
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
</step>
|
|
332
|
+
|
|
333
|
+
<step name="mode">
|
|
334
|
+
|
|
335
|
+
Ask workflow mode preference:
|
|
336
|
+
|
|
337
|
+
Use AskUserQuestion:
|
|
338
|
+
|
|
339
|
+
- header: "Mode"
|
|
340
|
+
- question: "How do you want to work?"
|
|
341
|
+
- options:
|
|
342
|
+
- "Interactive" — Confirm at each step
|
|
343
|
+
- "Flow" — Auto-approve, minimize interruptions
|
|
344
|
+
|
|
345
|
+
</step>
|
|
346
|
+
|
|
347
|
+
<step name="depth">
|
|
348
|
+
|
|
349
|
+
Ask planning depth preference:
|
|
350
|
+
|
|
351
|
+
Use AskUserQuestion:
|
|
352
|
+
|
|
353
|
+
- header: "Depth"
|
|
354
|
+
- question: "How thorough should section planning be?"
|
|
355
|
+
- options:
|
|
356
|
+
- "Quick" — Draft fast, iterate later (minimal planning)
|
|
357
|
+
- "Standard" — Balanced planning and writing
|
|
358
|
+
- "Comprehensive" — Thorough outlines before writing
|
|
359
|
+
|
|
360
|
+
Create `.planning/config.json`:
|
|
361
|
+
```json
|
|
362
|
+
{
|
|
363
|
+
"mode": "[chosen mode]",
|
|
364
|
+
"depth": "[chosen depth]",
|
|
365
|
+
"document_type": "[paper/grant/thesis/other]",
|
|
366
|
+
"venue_template": "[acm-cs/ieee-cs/arxiv-ml/nature/thesis/custom]",
|
|
367
|
+
"citation_style": "[from venue template]",
|
|
368
|
+
"gates": {
|
|
369
|
+
"confirm_project": true,
|
|
370
|
+
"confirm_sections": true,
|
|
371
|
+
"confirm_outline": true,
|
|
372
|
+
"confirm_plan": true,
|
|
373
|
+
"review_before_submit": true
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
</step>
|
|
379
|
+
|
|
380
|
+
<step name="commit">
|
|
381
|
+
|
|
382
|
+
```bash
|
|
383
|
+
git add .planning/PROJECT.md .planning/config.json .planning/structure/
|
|
384
|
+
git commit -m "$(cat <<'EOF'
|
|
385
|
+
docs: initialize [paper-title]
|
|
386
|
+
|
|
387
|
+
[One-liner core argument]
|
|
388
|
+
|
|
389
|
+
Creates PROJECT.md with paper vision and structure documents.
|
|
390
|
+
EOF
|
|
391
|
+
)"
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
</step>
|
|
395
|
+
|
|
396
|
+
<step name="done">
|
|
397
|
+
|
|
398
|
+
Present completion with next steps:
|
|
399
|
+
|
|
400
|
+
```
|
|
401
|
+
Paper initialized:
|
|
402
|
+
|
|
403
|
+
- Project: .planning/PROJECT.md
|
|
404
|
+
- Config: .planning/config.json (mode: [chosen mode])
|
|
405
|
+
- Structure: .planning/structure/ (argument-map, outline, narrative-arc)
|
|
406
|
+
[If .planning/sources/ exists:] - Sources: .planning/sources/ (literature, data, prior-drafts)
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
## ▶ Next Up
|
|
411
|
+
|
|
412
|
+
**[Paper Title]** — create section outline
|
|
413
|
+
|
|
414
|
+
`/wtfp:create-outline`
|
|
415
|
+
|
|
416
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
417
|
+
|
|
418
|
+
---
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
</step>
|
|
422
|
+
|
|
423
|
+
</process>
|
|
424
|
+
|
|
425
|
+
<output>
|
|
426
|
+
|
|
427
|
+
- `.planning/PROJECT.md`
|
|
428
|
+
- `.planning/config.json`
|
|
429
|
+
- `.planning/structure/argument-map.md`
|
|
430
|
+
- `.planning/structure/outline.md`
|
|
431
|
+
- `.planning/structure/narrative-arc.md`
|
|
432
|
+
|
|
433
|
+
</output>
|
|
434
|
+
|
|
435
|
+
<success_criteria>
|
|
436
|
+
|
|
437
|
+
- [ ] Deep questioning completed (not rushed)
|
|
438
|
+
- [ ] PROJECT.md captures paper vision with core argument
|
|
439
|
+
- [ ] Structure documents created (argument-map, outline, narrative-arc)
|
|
440
|
+
- [ ] config.json has workflow mode
|
|
441
|
+
- [ ] All committed to git
|
|
442
|
+
|
|
443
|
+
</success_criteria>
|