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,177 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wtfp:polish-prose
|
|
3
|
+
description: De-robotize and refine prose for clarity, flow, and academic voice
|
|
4
|
+
argument-hint: "[section-number or file]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Write
|
|
9
|
+
- Edit
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- AskUserQuestion
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<objective>
|
|
16
|
+
Polish prose to eliminate robotic AI-sounding text and improve academic voice.
|
|
17
|
+
|
|
18
|
+
Purpose: Transform draft prose into publication-ready writing that sounds human, flows naturally, and maintains academic rigor.
|
|
19
|
+
Output: Refined section text with improved clarity, varied sentence structure, and natural transitions.
|
|
20
|
+
</objective>
|
|
21
|
+
|
|
22
|
+
<execution_context>
|
|
23
|
+
@~/.claude/write-the-f-paper/references/prose-quality.md
|
|
24
|
+
@~/.claude/write-the-f-paper/references/academic-voice.md
|
|
25
|
+
</execution_context>
|
|
26
|
+
|
|
27
|
+
<context>
|
|
28
|
+
Target: $ARGUMENTS (section number, file path, or "all" for full manuscript)
|
|
29
|
+
|
|
30
|
+
**Load project state:**
|
|
31
|
+
@.planning/STATE.md
|
|
32
|
+
|
|
33
|
+
**Load style context if exists:**
|
|
34
|
+
@.planning/sources/style-guide.md
|
|
35
|
+
</context>
|
|
36
|
+
|
|
37
|
+
<process>
|
|
38
|
+
|
|
39
|
+
<step name="identify_target">
|
|
40
|
+
1. Parse $ARGUMENTS to determine scope:
|
|
41
|
+
- Section number → find section draft in .planning/sections/XX-name/
|
|
42
|
+
- File path → use directly
|
|
43
|
+
- "all" or empty → process all draft sections
|
|
44
|
+
2. Read target content
|
|
45
|
+
3. Identify prose issues
|
|
46
|
+
</step>
|
|
47
|
+
|
|
48
|
+
<step name="analyze_prose">
|
|
49
|
+
**Identify common AI-writing patterns to fix:**
|
|
50
|
+
|
|
51
|
+
| Pattern | Fix |
|
|
52
|
+
|---------|-----|
|
|
53
|
+
| "It is important to note that..." | Delete or integrate naturally |
|
|
54
|
+
| "This study aims to..." | Active voice: "We investigate..." |
|
|
55
|
+
| "In conclusion, it can be said..." | Direct statement |
|
|
56
|
+
| Excessive hedging | Confident assertions where warranted |
|
|
57
|
+
| Repetitive sentence starts | Vary structure |
|
|
58
|
+
| Overuse of "Furthermore", "Moreover" | Natural transitions |
|
|
59
|
+
| Passive voice overload | Active where appropriate |
|
|
60
|
+
| Nominalization | Verbs over noun forms |
|
|
61
|
+
| Word padding | Tighten |
|
|
62
|
+
|
|
63
|
+
**Check for:**
|
|
64
|
+
- Sentence length variety (mix short punchy with longer complex)
|
|
65
|
+
- Paragraph flow and transitions
|
|
66
|
+
- Topic sentences that preview content
|
|
67
|
+
- Concluding sentences that land
|
|
68
|
+
- Jargon density appropriate for venue
|
|
69
|
+
</step>
|
|
70
|
+
|
|
71
|
+
<step name="gather_preferences">
|
|
72
|
+
Use AskUserQuestion:
|
|
73
|
+
- header: "Voice"
|
|
74
|
+
- question: "What tone should dominate this section?"
|
|
75
|
+
- options:
|
|
76
|
+
- "Authoritative" — Confident, direct claims
|
|
77
|
+
- "Measured" — Careful hedging, academic caution
|
|
78
|
+
- "Accessible" — Clear to non-specialists
|
|
79
|
+
- "Technical" — Dense, specialist terminology OK
|
|
80
|
+
</step>
|
|
81
|
+
|
|
82
|
+
<step name="polish">
|
|
83
|
+
**Apply transformations:**
|
|
84
|
+
|
|
85
|
+
1. **Sentence-level:**
|
|
86
|
+
- Eliminate filler phrases
|
|
87
|
+
- Convert passive to active where natural
|
|
88
|
+
- Vary sentence openings
|
|
89
|
+
- Tighten word count (cut 10-15%)
|
|
90
|
+
|
|
91
|
+
2. **Paragraph-level:**
|
|
92
|
+
- Ensure clear topic sentences
|
|
93
|
+
- Check logical flow between sentences
|
|
94
|
+
- Verify transitions connect ideas
|
|
95
|
+
|
|
96
|
+
3. **Section-level:**
|
|
97
|
+
- Opening hook engages
|
|
98
|
+
- Closing paragraph lands the point
|
|
99
|
+
- Section advances the argument
|
|
100
|
+
|
|
101
|
+
**Preserve:**
|
|
102
|
+
- Technical accuracy
|
|
103
|
+
- Citation placement
|
|
104
|
+
- Author's core arguments
|
|
105
|
+
- Discipline-specific terminology
|
|
106
|
+
</step>
|
|
107
|
+
|
|
108
|
+
<step name="present_changes">
|
|
109
|
+
Show before/after for significant changes:
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
Before: "It is important to note that the results demonstrate..."
|
|
113
|
+
After: "The results demonstrate..."
|
|
114
|
+
|
|
115
|
+
Before: "This methodology was utilized in order to..."
|
|
116
|
+
After: "We used this methodology to..."
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Use AskUserQuestion:
|
|
120
|
+
- header: "Review"
|
|
121
|
+
- question: "Apply these prose refinements?"
|
|
122
|
+
- options:
|
|
123
|
+
- "Apply all" — Looks good, update the file
|
|
124
|
+
- "Show more" — I want to see more examples
|
|
125
|
+
- "Selective" — Let me choose which changes
|
|
126
|
+
</step>
|
|
127
|
+
|
|
128
|
+
<step name="apply">
|
|
129
|
+
Apply approved changes to the target file(s).
|
|
130
|
+
</step>
|
|
131
|
+
|
|
132
|
+
<step name="commit">
|
|
133
|
+
```bash
|
|
134
|
+
git add [modified files]
|
|
135
|
+
git commit -m "$(cat <<'EOF'
|
|
136
|
+
style(XX): polish prose for clarity and flow
|
|
137
|
+
|
|
138
|
+
- Eliminated AI-sounding phrases
|
|
139
|
+
- Varied sentence structure
|
|
140
|
+
- Tightened word count
|
|
141
|
+
- Improved transitions
|
|
142
|
+
EOF
|
|
143
|
+
)"
|
|
144
|
+
```
|
|
145
|
+
</step>
|
|
146
|
+
|
|
147
|
+
<step name="done">
|
|
148
|
+
```
|
|
149
|
+
Prose polished:
|
|
150
|
+
|
|
151
|
+
- File(s): [list]
|
|
152
|
+
- Word count: [before] → [after] ([X]% reduction)
|
|
153
|
+
- Patterns fixed: [count]
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Next Up
|
|
158
|
+
|
|
159
|
+
Review the changes, then continue:
|
|
160
|
+
- `/wtfp:review-section [N]` — Get reviewer feedback
|
|
161
|
+
- `/wtfp:check-refs` — Verify citations
|
|
162
|
+
- `/wtfp:export-latex` — Generate LaTeX
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
```
|
|
166
|
+
</step>
|
|
167
|
+
|
|
168
|
+
</process>
|
|
169
|
+
|
|
170
|
+
<success_criteria>
|
|
171
|
+
- AI-sounding patterns eliminated
|
|
172
|
+
- Sentence variety improved
|
|
173
|
+
- Transitions flow naturally
|
|
174
|
+
- Word count tightened without losing meaning
|
|
175
|
+
- Academic voice maintained
|
|
176
|
+
- Changes committed to git
|
|
177
|
+
</success_criteria>
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wtfp:progress
|
|
3
|
+
description: Check writing progress, show context, and route to next action
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
- Grep
|
|
8
|
+
- Glob
|
|
9
|
+
- SlashCommand
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Check writing progress, summarize recent work and what's ahead, then intelligently route to the next action - either executing an existing plan or creating the next one.
|
|
14
|
+
|
|
15
|
+
Provides situational awareness before continuing writing.
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
<process>
|
|
20
|
+
|
|
21
|
+
<step name="verify">
|
|
22
|
+
**Verify planning structure exists:**
|
|
23
|
+
|
|
24
|
+
If no `.planning/` directory:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
No planning structure found.
|
|
28
|
+
|
|
29
|
+
Run /wtfp:new-paper to start a new paper.
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Exit.
|
|
33
|
+
|
|
34
|
+
If missing STATE.md or ROADMAP.md: inform what's missing, suggest running `/wtfp:new-paper`.
|
|
35
|
+
</step>
|
|
36
|
+
|
|
37
|
+
<step name="load">
|
|
38
|
+
**Load full project context:**
|
|
39
|
+
|
|
40
|
+
- Read `.planning/STATE.md` for living memory (position, word counts, decisions)
|
|
41
|
+
- Read `.planning/ROADMAP.md` for section structure and objectives
|
|
42
|
+
- Read `.planning/PROJECT.md` for paper vision (Core Argument, Requirements)
|
|
43
|
+
</step>
|
|
44
|
+
|
|
45
|
+
<step name="recent">
|
|
46
|
+
**Gather recent work context:**
|
|
47
|
+
|
|
48
|
+
- Find the 2-3 most recent SUMMARY.md files
|
|
49
|
+
- Extract from each: what was written, key decisions, any issues logged
|
|
50
|
+
- This shows "what we've been working on"
|
|
51
|
+
</step>
|
|
52
|
+
|
|
53
|
+
<step name="position">
|
|
54
|
+
**Parse current position:**
|
|
55
|
+
|
|
56
|
+
- From STATE.md: current section, plan number, status, word count
|
|
57
|
+
- Calculate: total plans, completed plans, remaining plans
|
|
58
|
+
- Calculate: total words written vs target word count
|
|
59
|
+
- Note any gaps, concerns, or deferred issues
|
|
60
|
+
- Check for CONTEXT.md: For sections without PLAN.md files, check if `{section}-CONTEXT.md` exists
|
|
61
|
+
</step>
|
|
62
|
+
|
|
63
|
+
<step name="report">
|
|
64
|
+
**Present rich status report:**
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
# [Paper Title]
|
|
68
|
+
|
|
69
|
+
**Progress:** [████████░░] 8/10 sections drafted
|
|
70
|
+
**Words:** [current] / [target] ([percentage]%)
|
|
71
|
+
|
|
72
|
+
## Recent Work
|
|
73
|
+
- [Section X, Plan Y]: [what was written - 1 line]
|
|
74
|
+
- [Section X, Plan Z]: [what was written - 1 line]
|
|
75
|
+
|
|
76
|
+
## Current Position
|
|
77
|
+
Section [N] of [total]: [section-name]
|
|
78
|
+
Plan [M] of [section-total]: [status]
|
|
79
|
+
CONTEXT: [✓ if CONTEXT.md exists | - if not]
|
|
80
|
+
|
|
81
|
+
## Argument Strength
|
|
82
|
+
- Core claim: [from STATE.md]
|
|
83
|
+
- Evidence gaps: [list]
|
|
84
|
+
|
|
85
|
+
## Key Decisions Made
|
|
86
|
+
- [decision 1 from STATE.md]
|
|
87
|
+
- [decision 2]
|
|
88
|
+
|
|
89
|
+
## Open Issues
|
|
90
|
+
- [any deferred issues or gaps]
|
|
91
|
+
|
|
92
|
+
## What's Next
|
|
93
|
+
[Next section/plan objective from ROADMAP]
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
</step>
|
|
97
|
+
|
|
98
|
+
<step name="route">
|
|
99
|
+
**Determine next action based on verified counts.**
|
|
100
|
+
|
|
101
|
+
**Step 1: Count plans, summaries, and issues in current section**
|
|
102
|
+
|
|
103
|
+
List files in the current section directory:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
ls -1 .planning/sections/[current-section-dir]/*-PLAN.md 2>/dev/null | wc -l
|
|
107
|
+
ls -1 .planning/sections/[current-section-dir]/*-SUMMARY.md 2>/dev/null | wc -l
|
|
108
|
+
ls -1 .planning/sections/[current-section-dir]/*-ISSUES.md 2>/dev/null | wc -l
|
|
109
|
+
ls -1 .planning/sections/[current-section-dir]/*-REVISION.md 2>/dev/null | wc -l
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
State: "This section has {X} plans, {Y} summaries, {Z} issues files."
|
|
113
|
+
|
|
114
|
+
**Step 1.5: Check for unaddressed review issues**
|
|
115
|
+
|
|
116
|
+
For each *-ISSUES.md file, check if matching *-REVISION.md exists.
|
|
117
|
+
For each *-REVISION.md file, check if matching *-REVISION-SUMMARY.md exists.
|
|
118
|
+
|
|
119
|
+
Track:
|
|
120
|
+
- `issues_without_revision`: ISSUES.md files without REVISION.md
|
|
121
|
+
- `revisions_without_summary`: REVISION.md files without REVISION-SUMMARY.md
|
|
122
|
+
|
|
123
|
+
**Step 2: Route based on counts**
|
|
124
|
+
|
|
125
|
+
| Condition | Meaning | Action |
|
|
126
|
+
|-----------|---------|--------|
|
|
127
|
+
| revisions_without_summary > 0 | Unexecuted revision plans exist | Go to **Route A** (with REVISION.md) |
|
|
128
|
+
| issues_without_revision > 0 | Review issues need revision plans | Go to **Route E** |
|
|
129
|
+
| summaries < plans | Unexecuted plans exist | Go to **Route A** |
|
|
130
|
+
| summaries = plans AND plans > 0 | Section complete | Go to Step 3 |
|
|
131
|
+
| plans = 0 | Section not yet planned | Go to **Route B** |
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
**Route A: Unexecuted plan exists**
|
|
136
|
+
|
|
137
|
+
Find the first PLAN.md without matching SUMMARY.md.
|
|
138
|
+
Read its `<objective>` section.
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## ▶ Next Up
|
|
144
|
+
|
|
145
|
+
**{section}-{plan}: [Plan Name]** — [objective summary from PLAN.md]
|
|
146
|
+
|
|
147
|
+
`/wtfp:write-section [full-path-to-PLAN.md]`
|
|
148
|
+
|
|
149
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
**Route B: Section needs planning**
|
|
157
|
+
|
|
158
|
+
Check if `{section}-CONTEXT.md` exists in section directory.
|
|
159
|
+
|
|
160
|
+
**If CONTEXT.md exists:**
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## ▶ Next Up
|
|
166
|
+
|
|
167
|
+
**Section {N}: {Name}** — {Goal from ROADMAP.md}
|
|
168
|
+
<sub>✓ Context gathered, ready to plan</sub>
|
|
169
|
+
|
|
170
|
+
`/wtfp:plan-section {section-number}`
|
|
171
|
+
|
|
172
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**If CONTEXT.md does NOT exist:**
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## ▶ Next Up
|
|
183
|
+
|
|
184
|
+
**Section {N}: {Name}** — {Goal from ROADMAP.md}
|
|
185
|
+
|
|
186
|
+
`/wtfp:plan-section {section}`
|
|
187
|
+
|
|
188
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
**Also available:**
|
|
193
|
+
- `/wtfp:discuss-section {section}` — gather context first
|
|
194
|
+
- `/wtfp:research-gap {section}` — investigate literature
|
|
195
|
+
- `/wtfp:list-assumptions {section}` — see Claude's assumptions
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
**Route E: Review issues need revision plans**
|
|
203
|
+
|
|
204
|
+
ISSUES.md exists without matching REVISION.md. User needs to plan revisions.
|
|
205
|
+
|
|
206
|
+
```
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## ⚠ Review Issues Found
|
|
210
|
+
|
|
211
|
+
**{plan}-ISSUES.md** has {N} issues without a revision plan.
|
|
212
|
+
|
|
213
|
+
`/wtfp:plan-revision {plan}`
|
|
214
|
+
|
|
215
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
**Also available:**
|
|
220
|
+
- `/wtfp:write-section [path]` — continue with other work first
|
|
221
|
+
- `/wtfp:review-section {section}` — run more verification
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
**Step 3: Check paper status (only when section complete)**
|
|
229
|
+
|
|
230
|
+
Read ROADMAP.md and identify:
|
|
231
|
+
1. Current section number
|
|
232
|
+
2. All section numbers in the document structure
|
|
233
|
+
|
|
234
|
+
Count total sections and identify the highest section number.
|
|
235
|
+
|
|
236
|
+
State: "Current section is {X}. Paper has {N} sections (highest: {Y})."
|
|
237
|
+
|
|
238
|
+
**Route based on paper status:**
|
|
239
|
+
|
|
240
|
+
| Condition | Meaning | Action |
|
|
241
|
+
|-----------|---------|--------|
|
|
242
|
+
| current section < highest section | More sections remain | Go to **Route C** |
|
|
243
|
+
| current section = highest section | Paper draft complete | Go to **Route D** |
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
**Route C: Section complete, more sections remain**
|
|
248
|
+
|
|
249
|
+
Read ROADMAP.md to get the next section's name and goal.
|
|
250
|
+
|
|
251
|
+
```
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## ✓ Section {Z} Complete
|
|
255
|
+
|
|
256
|
+
## ▶ Next Up
|
|
257
|
+
|
|
258
|
+
**Section {Z+1}: {Name}** — {Goal from ROADMAP.md}
|
|
259
|
+
|
|
260
|
+
`/wtfp:plan-section {Z+1}`
|
|
261
|
+
|
|
262
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
**Also available:**
|
|
267
|
+
- `/wtfp:review-section {Z}` — verify before continuing
|
|
268
|
+
- `/wtfp:discuss-section {Z+1}` — gather context first
|
|
269
|
+
- `/wtfp:research-gap {Z+1}` — investigate literature
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
**Route D: Paper draft complete**
|
|
277
|
+
|
|
278
|
+
```
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## 🎉 Draft Complete
|
|
282
|
+
|
|
283
|
+
All {N} sections written!
|
|
284
|
+
|
|
285
|
+
**Words:** [current] / [target]
|
|
286
|
+
|
|
287
|
+
## ▶ Next Up
|
|
288
|
+
|
|
289
|
+
**Review & Polish** — verify and prepare for submission
|
|
290
|
+
|
|
291
|
+
`/wtfp:review-section` — run full verification
|
|
292
|
+
`/wtfp:export-latex` — generate LaTeX output
|
|
293
|
+
|
|
294
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
**Also available:**
|
|
299
|
+
- `/wtfp:submit-milestone "draft-1"` — archive this draft
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
</step>
|
|
305
|
+
|
|
306
|
+
<step name="edge_cases">
|
|
307
|
+
**Handle edge cases:**
|
|
308
|
+
|
|
309
|
+
- Section complete but next section not planned → offer `/wtfp:plan-section [next]`
|
|
310
|
+
- All work complete → offer review and export
|
|
311
|
+
- Gaps present → highlight before offering to continue
|
|
312
|
+
- Handoff file exists → mention it, offer `/wtfp:resume-writing`
|
|
313
|
+
</step>
|
|
314
|
+
|
|
315
|
+
</process>
|
|
316
|
+
|
|
317
|
+
<success_criteria>
|
|
318
|
+
|
|
319
|
+
- [ ] Rich context provided (recent work, word counts, decisions)
|
|
320
|
+
- [ ] Current position clear with visual progress
|
|
321
|
+
- [ ] What's next clearly explained
|
|
322
|
+
- [ ] Smart routing: /wtfp:write-section if plan exists, /wtfp:plan-section if not
|
|
323
|
+
- [ ] User confirms before any action
|
|
324
|
+
- [ ] Seamless handoff to appropriate wtfp command
|
|
325
|
+
</success_criteria>
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wtfp:remove-section
|
|
3
|
+
description: Remove a future section and renumber subsequent sections
|
|
4
|
+
argument-hint: "[section]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Write
|
|
9
|
+
- AskUserQuestion
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Remove a future (unwritten) section and renumber subsequent sections.
|
|
14
|
+
|
|
15
|
+
Only works on sections that haven't been started yet.
|
|
16
|
+
|
|
17
|
+
Git commit preserves historical record of what was removed.
|
|
18
|
+
</objective>
|
|
19
|
+
|
|
20
|
+
<process>
|
|
21
|
+
|
|
22
|
+
<step name="verify">
|
|
23
|
+
**Verify project and section:**
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
[ ! -f .planning/ROADMAP.md ] && echo "ERROR: No roadmap found" && exit 1
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Check section exists and hasn't been started:
|
|
30
|
+
- No PLAN.md files in section directory
|
|
31
|
+
- No SUMMARY.md files in section directory
|
|
32
|
+
- Status is "Not started" in ROADMAP.md
|
|
33
|
+
|
|
34
|
+
If section has work:
|
|
35
|
+
```
|
|
36
|
+
ERROR: Section [N] has already been started.
|
|
37
|
+
|
|
38
|
+
To remove a section with existing work:
|
|
39
|
+
1. Manually delete the content
|
|
40
|
+
2. Update ROADMAP.md
|
|
41
|
+
3. Commit the changes
|
|
42
|
+
|
|
43
|
+
This command only removes future/unstarted sections.
|
|
44
|
+
```
|
|
45
|
+
</step>
|
|
46
|
+
|
|
47
|
+
<step name="confirm">
|
|
48
|
+
**Confirm removal:**
|
|
49
|
+
|
|
50
|
+
Show what will be removed:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
## Section to Remove
|
|
54
|
+
|
|
55
|
+
Section [N]: [Name]
|
|
56
|
+
- Goal: [goal]
|
|
57
|
+
- Word target: [X]
|
|
58
|
+
- Status: Not started
|
|
59
|
+
|
|
60
|
+
## Impact
|
|
61
|
+
|
|
62
|
+
Sections to renumber:
|
|
63
|
+
- Section [N+1] → Section [N]
|
|
64
|
+
- Section [N+2] → Section [N+1]
|
|
65
|
+
- ...
|
|
66
|
+
|
|
67
|
+
Files to delete:
|
|
68
|
+
- .planning/sections/[NN]-[name]/
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Use AskUserQuestion:
|
|
72
|
+
- header: "Remove Section"
|
|
73
|
+
- question: "Remove Section [N]: [name] and renumber subsequent sections?"
|
|
74
|
+
- options:
|
|
75
|
+
- "Yes, remove it" — Delete and renumber
|
|
76
|
+
- "Cancel" — Keep the section
|
|
77
|
+
|
|
78
|
+
</step>
|
|
79
|
+
|
|
80
|
+
<step name="remove">
|
|
81
|
+
**Remove section:**
|
|
82
|
+
|
|
83
|
+
1. Delete section directory:
|
|
84
|
+
```bash
|
|
85
|
+
rm -rf ".planning/sections/[NN]-[name]/"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
2. Update ROADMAP.md:
|
|
89
|
+
- Remove section entry
|
|
90
|
+
- Renumber all subsequent sections
|
|
91
|
+
|
|
92
|
+
3. Rename subsequent section directories:
|
|
93
|
+
```bash
|
|
94
|
+
mv ".planning/sections/[N+1]-[name]/" ".planning/sections/[N]-[name]/"
|
|
95
|
+
# ... for all subsequent sections
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
4. Update any references in STATE.md
|
|
99
|
+
|
|
100
|
+
</step>
|
|
101
|
+
|
|
102
|
+
<step name="commit">
|
|
103
|
+
```bash
|
|
104
|
+
git add .planning/
|
|
105
|
+
git commit -m "$(cat <<'EOF'
|
|
106
|
+
docs: remove Section [N] - [name]
|
|
107
|
+
|
|
108
|
+
Removed unstarted section.
|
|
109
|
+
Renumbered sections [N+1]-[total] to [N]-[total-1].
|
|
110
|
+
EOF
|
|
111
|
+
)"
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
</step>
|
|
115
|
+
|
|
116
|
+
<step name="done">
|
|
117
|
+
**Present completion:**
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
Section removed:
|
|
121
|
+
|
|
122
|
+
- Removed: Section [N] - [Name]
|
|
123
|
+
- Renumbered: Sections [N+1]-[total] → [N]-[total-1]
|
|
124
|
+
- Total sections: [new total]
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## ▶ Next Up
|
|
129
|
+
|
|
130
|
+
`/wtfp:progress` — check updated status
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
</step>
|
|
136
|
+
|
|
137
|
+
</process>
|
|
138
|
+
|
|
139
|
+
<success_criteria>
|
|
140
|
+
- [ ] Section verified as unstarted
|
|
141
|
+
- [ ] User confirmed removal
|
|
142
|
+
- [ ] Section directory deleted
|
|
143
|
+
- [ ] ROADMAP.md updated
|
|
144
|
+
- [ ] Subsequent sections renumbered
|
|
145
|
+
- [ ] All references updated
|
|
146
|
+
- [ ] Committed to git with clear history
|
|
147
|
+
</success_criteria>
|