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,148 @@
|
|
|
1
|
+
<length_estimation>
|
|
2
|
+
Writing plans must maintain consistent quality from first task to last. This requires understanding quality degradation and splitting aggressively.
|
|
3
|
+
|
|
4
|
+
<quality_insight>
|
|
5
|
+
Claude degrades when it *perceives* context pressure and enters "completion mode."
|
|
6
|
+
|
|
7
|
+
| Context Usage | Quality | Claude's State |
|
|
8
|
+
|---------------|---------|----------------|
|
|
9
|
+
| 0-30% | PEAK | Thorough, nuanced writing |
|
|
10
|
+
| 30-50% | GOOD | Confident, solid prose |
|
|
11
|
+
| 50-70% | DEGRADING | Efficiency mode begins |
|
|
12
|
+
| 70%+ | POOR | Rushed, generic text |
|
|
13
|
+
|
|
14
|
+
**The 40-50% inflection point:** Claude sees context mounting and thinks "I'd better conserve now." Result: "I'll finish the remaining paragraphs more concisely" = quality crash.
|
|
15
|
+
|
|
16
|
+
**The rule:** Stop BEFORE quality degrades, not at context limit.
|
|
17
|
+
</quality_insight>
|
|
18
|
+
|
|
19
|
+
<context_target>
|
|
20
|
+
**Plans should complete within ~50% of context usage.**
|
|
21
|
+
|
|
22
|
+
Why 50% not 80%?
|
|
23
|
+
- No context anxiety possible
|
|
24
|
+
- Quality maintained start to finish
|
|
25
|
+
- Room for unexpected complexity
|
|
26
|
+
- If you target 80%, you've already spent 40% in degradation mode
|
|
27
|
+
</context_target>
|
|
28
|
+
|
|
29
|
+
<task_rule>
|
|
30
|
+
**Each plan: 2-3 tasks maximum. Stay under 50% context.**
|
|
31
|
+
|
|
32
|
+
| Section Complexity | Tasks/Plan | Context/Task | Total |
|
|
33
|
+
|-------------------|------------|--------------|-------|
|
|
34
|
+
| Simple (abstract, short sections) | 3 | ~10-15% | ~30-45% |
|
|
35
|
+
| Medium (methods, results) | 2-3 | ~15-20% | ~40-50% |
|
|
36
|
+
| Complex (intro, discussion) | 2 | ~20-25% | ~40-50% |
|
|
37
|
+
|
|
38
|
+
**When in doubt: Default to 2 tasks.** Better to have an extra plan than degraded quality.
|
|
39
|
+
</task_rule>
|
|
40
|
+
|
|
41
|
+
<word_count_context_mapping>
|
|
42
|
+
| Words Written | Context Impact |
|
|
43
|
+
|---------------|----------------|
|
|
44
|
+
| 100-300 words | ~10-15% (small) |
|
|
45
|
+
| 300-600 words | ~20-30% (medium) |
|
|
46
|
+
| 600+ words | ~40%+ (large - split) |
|
|
47
|
+
|
|
48
|
+
| Section Type | Context/Task |
|
|
49
|
+
|--------------|--------------|
|
|
50
|
+
| Abstract (150-250 words) | ~15% |
|
|
51
|
+
| Introduction (~1000 words) | ~40% (split into 2-3 plans) |
|
|
52
|
+
| Methods (~1500 words) | ~50% (split into 2-3 plans) |
|
|
53
|
+
| Results (~1000 words) | ~40% (split into 2 plans) |
|
|
54
|
+
| Discussion (~1500 words) | ~50% (split into 2-3 plans) |
|
|
55
|
+
</word_count_context_mapping>
|
|
56
|
+
|
|
57
|
+
<split_signals>
|
|
58
|
+
|
|
59
|
+
<always_split>
|
|
60
|
+
- **More than 3 paragraph clusters** - Even if word count seems manageable
|
|
61
|
+
- **Multiple distinct arguments** - Each argument = separate plan
|
|
62
|
+
- **Section >800 words** - Split by paragraph groups
|
|
63
|
+
- **Multiple citation clusters** - One plan per evidence group
|
|
64
|
+
- **Introduction + Methods** - Never combine different section types
|
|
65
|
+
</always_split>
|
|
66
|
+
|
|
67
|
+
<consider_splitting>
|
|
68
|
+
- Estimated >600 words total
|
|
69
|
+
- Complex arguments requiring evidence
|
|
70
|
+
- Sections requiring different writing modes
|
|
71
|
+
- Natural semantic boundaries (opening → body → close)
|
|
72
|
+
</consider_splitting>
|
|
73
|
+
</split_signals>
|
|
74
|
+
|
|
75
|
+
<splitting_strategies>
|
|
76
|
+
**By paragraph:** Introduction → 01: Hook + gap, 02: Thesis + roadmap
|
|
77
|
+
|
|
78
|
+
**By argument:** Discussion → 01: Interpretation, 02: Implications, 03: Limitations + future
|
|
79
|
+
|
|
80
|
+
**By complexity:** Methods → 01: Design + participants, 02: Procedures, 03: Analysis
|
|
81
|
+
|
|
82
|
+
**By mode:** Results → 01: Scaffold main findings (user fills), 02: Co-author supporting analyses
|
|
83
|
+
</splitting_strategies>
|
|
84
|
+
|
|
85
|
+
<anti_patterns>
|
|
86
|
+
**Bad - Comprehensive plan:**
|
|
87
|
+
```
|
|
88
|
+
Plan: "Complete Introduction"
|
|
89
|
+
Tasks: 6 (hook, context, gap, thesis, contributions, roadmap)
|
|
90
|
+
Result: Task 1-3 good, Task 4-6 rushed
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**Good - Atomic plans:**
|
|
94
|
+
```
|
|
95
|
+
Plan 1: "Introduction Opening" (2 tasks: hook, context)
|
|
96
|
+
Plan 2: "Introduction Core" (2 tasks: gap, thesis)
|
|
97
|
+
Plan 3: "Introduction Close" (2 tasks: contributions, roadmap)
|
|
98
|
+
Each: 30-40% context, peak quality, atomic commits
|
|
99
|
+
```
|
|
100
|
+
</anti_patterns>
|
|
101
|
+
|
|
102
|
+
<section_recommendations>
|
|
103
|
+
|
|
104
|
+
| Section | Recommended Plans | Tasks Each |
|
|
105
|
+
|---------|-------------------|------------|
|
|
106
|
+
| Abstract | 1 (reviewer mode) | 1-2 |
|
|
107
|
+
| Introduction | 2-3 | 2 each |
|
|
108
|
+
| Methods | 2-3 | 2-3 each |
|
|
109
|
+
| Results | 2 | 2 each |
|
|
110
|
+
| Discussion | 2-3 | 2 each |
|
|
111
|
+
| Conclusion | 1 | 2 |
|
|
112
|
+
|
|
113
|
+
**Total for typical paper:** 10-15 plans, not 6 (one per section)
|
|
114
|
+
|
|
115
|
+
</section_recommendations>
|
|
116
|
+
|
|
117
|
+
<depth_calibration>
|
|
118
|
+
**Depth controls plan COUNT, not plan SIZE.**
|
|
119
|
+
|
|
120
|
+
| Depth | Typical Sections | Typical Plans/Section | Tasks/Plan |
|
|
121
|
+
|-------|------------------|----------------------|------------|
|
|
122
|
+
| Quick | 4-5 | 1-2 | 2-3 |
|
|
123
|
+
| Standard | 5-6 | 2-3 | 2-3 |
|
|
124
|
+
| Comprehensive | 6-8 | 3-4 | 2-3 |
|
|
125
|
+
|
|
126
|
+
Tasks/plan is CONSTANT at 2-3. The 50% context rule applies universally.
|
|
127
|
+
|
|
128
|
+
**Key principle:** Derive from actual content. Depth determines how aggressively you combine things, not a target to hit.
|
|
129
|
+
|
|
130
|
+
- Comprehensive introduction = 4 plans (because intro genuinely has 4 components)
|
|
131
|
+
- Comprehensive abstract = 1 plan (because that's all it is)
|
|
132
|
+
|
|
133
|
+
Don't pad simple sections to hit a number. Don't compress complex sections to look efficient.
|
|
134
|
+
</depth_calibration>
|
|
135
|
+
|
|
136
|
+
<summary>
|
|
137
|
+
**2-3 tasks, 50% context target:**
|
|
138
|
+
- All writing: Peak quality
|
|
139
|
+
- Git: Atomic per-task commits
|
|
140
|
+
- Subagent plans: Fresh context
|
|
141
|
+
|
|
142
|
+
**The principle:** Aggressive atomicity. More plans, smaller scope, consistent quality.
|
|
143
|
+
|
|
144
|
+
**The rule:** If in doubt, split. Quality over consolidation. Always.
|
|
145
|
+
|
|
146
|
+
**Depth rule:** Depth increases plan COUNT, never plan SIZE.
|
|
147
|
+
</summary>
|
|
148
|
+
</length_estimation>
|
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
<overview>
|
|
2
|
+
Claude-executable writing plans have a specific format that enables Claude to write without interpretation. This reference defines what makes a plan executable vs. vague.
|
|
3
|
+
|
|
4
|
+
**Key insight:** PLAN.md IS the executable prompt. It contains everything Claude needs to write the section, including objective, context references, tasks, verification, success criteria, and output specification.
|
|
5
|
+
</overview>
|
|
6
|
+
|
|
7
|
+
<core_principle>
|
|
8
|
+
A plan is Claude-executable when Claude can read the PLAN.md and immediately start writing without asking clarifying questions.
|
|
9
|
+
|
|
10
|
+
If Claude has to guess the argument, tone, or what to include - the task is too vague.
|
|
11
|
+
</core_principle>
|
|
12
|
+
|
|
13
|
+
<prompt_structure>
|
|
14
|
+
Every PLAN.md follows this XML structure:
|
|
15
|
+
|
|
16
|
+
```markdown
|
|
17
|
+
---
|
|
18
|
+
section: XX-name
|
|
19
|
+
plan: YY
|
|
20
|
+
mode: [co-author/scaffold/reviewer]
|
|
21
|
+
word_target: [X]
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
<objective>
|
|
25
|
+
[What section/content and why]
|
|
26
|
+
Purpose: [What reader will understand]
|
|
27
|
+
Output: [Word count] words covering [topics]
|
|
28
|
+
</objective>
|
|
29
|
+
|
|
30
|
+
<context>
|
|
31
|
+
@.planning/PROJECT.md
|
|
32
|
+
@.planning/ROADMAP.md
|
|
33
|
+
@.planning/structure/argument-map.md
|
|
34
|
+
@.planning/sources/literature.md
|
|
35
|
+
</context>
|
|
36
|
+
|
|
37
|
+
<tasks>
|
|
38
|
+
<task type="auto" mode="co-author">
|
|
39
|
+
<name>Task N: [Name]</name>
|
|
40
|
+
<target>[word count]</target>
|
|
41
|
+
<action>[what to write, key points, tone]</action>
|
|
42
|
+
<verify>[how to check]</verify>
|
|
43
|
+
<done>[criteria]</done>
|
|
44
|
+
</task>
|
|
45
|
+
|
|
46
|
+
<task type="checkpoint:human-verify" gate="blocking">
|
|
47
|
+
<what-written>[what Claude drafted]</what-written>
|
|
48
|
+
<how-to-verify>[what to check - argument, voice, accuracy]</how-to-verify>
|
|
49
|
+
<resume-signal>[how to continue - "approved" or describe issues]</resume-signal>
|
|
50
|
+
</task>
|
|
51
|
+
|
|
52
|
+
<task type="checkpoint:decision" gate="blocking">
|
|
53
|
+
<decision>[content direction choice]</decision>
|
|
54
|
+
<context>[why this matters]</context>
|
|
55
|
+
<options>
|
|
56
|
+
<option id="option-a"><name>[Name]</name><pros>[pros]</pros><cons>[cons]</cons></option>
|
|
57
|
+
<option id="option-b"><name>[Name]</name><pros>[pros]</pros><cons>[cons]</cons></option>
|
|
58
|
+
</options>
|
|
59
|
+
<resume-signal>[how to indicate choice]</resume-signal>
|
|
60
|
+
</task>
|
|
61
|
+
</tasks>
|
|
62
|
+
|
|
63
|
+
<verification>
|
|
64
|
+
[Overall section checks]
|
|
65
|
+
</verification>
|
|
66
|
+
|
|
67
|
+
<success_criteria>
|
|
68
|
+
[Measurable completion]
|
|
69
|
+
</success_criteria>
|
|
70
|
+
|
|
71
|
+
<output>
|
|
72
|
+
[SUMMARY.md specification]
|
|
73
|
+
</output>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
</prompt_structure>
|
|
77
|
+
|
|
78
|
+
<task_anatomy>
|
|
79
|
+
Every writing task has required fields:
|
|
80
|
+
|
|
81
|
+
<field name="target">
|
|
82
|
+
**What it is**: Word count goal for this task.
|
|
83
|
+
|
|
84
|
+
**Good**: `~200 words`, `150-200 words`
|
|
85
|
+
**Bad**: "a paragraph", "some text"
|
|
86
|
+
|
|
87
|
+
Be specific about length.
|
|
88
|
+
</field>
|
|
89
|
+
|
|
90
|
+
<field name="action">
|
|
91
|
+
**What it is**: Specific writing instructions, including key points and tone.
|
|
92
|
+
|
|
93
|
+
**Good**: "Write opening paragraph establishing the research gap. Key points: (1) current methods fail at X, (2) this matters because Y, (3) hint at our approach. Tone: confident but not dismissive of prior work. Cite Smith2023 and Jones2022."
|
|
94
|
+
|
|
95
|
+
**Bad**: "Write the introduction", "Explain the problem"
|
|
96
|
+
|
|
97
|
+
Include: key arguments, evidence to use, citations to include, tone guidance.
|
|
98
|
+
</field>
|
|
99
|
+
|
|
100
|
+
<field name="verify">
|
|
101
|
+
**What it is**: How to check the writing is complete.
|
|
102
|
+
|
|
103
|
+
**Good**:
|
|
104
|
+
- Word count within target range
|
|
105
|
+
- All key points addressed
|
|
106
|
+
- Citations included
|
|
107
|
+
- Flows from previous content
|
|
108
|
+
|
|
109
|
+
**Bad**: "It's good", "Sounds academic"
|
|
110
|
+
|
|
111
|
+
Must be checkable without subjective judgment.
|
|
112
|
+
</field>
|
|
113
|
+
|
|
114
|
+
<field name="done">
|
|
115
|
+
**What it is**: Acceptance criteria - the measurable state of completion.
|
|
116
|
+
|
|
117
|
+
**Good**: "~200 words establishing research gap, cites Smith2023 and Jones2022, transitions to thesis statement"
|
|
118
|
+
|
|
119
|
+
**Bad**: "Introduction is written"
|
|
120
|
+
|
|
121
|
+
Should be verifiable.
|
|
122
|
+
</field>
|
|
123
|
+
</task_anatomy>
|
|
124
|
+
|
|
125
|
+
<task_modes>
|
|
126
|
+
Tasks have a `mode` attribute for writing approach:
|
|
127
|
+
|
|
128
|
+
<mode name="co-author">
|
|
129
|
+
**Claude drafts, user refines**
|
|
130
|
+
|
|
131
|
+
```xml
|
|
132
|
+
<task type="auto" mode="co-author">
|
|
133
|
+
<name>Draft methods overview</name>
|
|
134
|
+
<target>300 words</target>
|
|
135
|
+
<action>
|
|
136
|
+
Write methods section overview covering:
|
|
137
|
+
- Study design (randomized controlled trial)
|
|
138
|
+
- Participants (N=150, recruited from...)
|
|
139
|
+
- Key procedures (3 phases over 6 weeks)
|
|
140
|
+
Tone: precise, replicable detail level
|
|
141
|
+
</action>
|
|
142
|
+
<verify>300 ±30 words, all three areas covered</verify>
|
|
143
|
+
<done>Methods overview ready for user refinement</done>
|
|
144
|
+
</task>
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Use for: Methods, procedures, boilerplate, initial drafts.
|
|
148
|
+
</mode>
|
|
149
|
+
|
|
150
|
+
<mode name="scaffold">
|
|
151
|
+
**Claude outlines, user fills**
|
|
152
|
+
|
|
153
|
+
```xml
|
|
154
|
+
<task type="auto" mode="scaffold">
|
|
155
|
+
<name>Create results section outline</name>
|
|
156
|
+
<target>outline + placeholder text</target>
|
|
157
|
+
<action>
|
|
158
|
+
Create detailed outline for results section:
|
|
159
|
+
- Main finding 1: [placeholder for specific result]
|
|
160
|
+
- Main finding 2: [placeholder for specific result]
|
|
161
|
+
- Supporting analyses: [placeholder]
|
|
162
|
+
Include: structure, key points to make, suggested citations
|
|
163
|
+
Do NOT write full prose - user will fill
|
|
164
|
+
</action>
|
|
165
|
+
<verify>Outline has clear structure, all findings have placeholders</verify>
|
|
166
|
+
<done>Outline ready for user to fill with specific results</done>
|
|
167
|
+
</task>
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Use for: Results (user knows specifics), arguments requiring judgment.
|
|
171
|
+
</mode>
|
|
172
|
+
|
|
173
|
+
<mode name="reviewer">
|
|
174
|
+
**User writes, Claude critiques**
|
|
175
|
+
|
|
176
|
+
```xml
|
|
177
|
+
<task type="auto" mode="reviewer">
|
|
178
|
+
<name>Review user's abstract draft</name>
|
|
179
|
+
<action>
|
|
180
|
+
Read user's abstract and provide feedback on:
|
|
181
|
+
1. Is the problem clearly stated?
|
|
182
|
+
2. Is the method summarized adequately?
|
|
183
|
+
3. Are findings specific (not vague)?
|
|
184
|
+
4. Is the contribution clear?
|
|
185
|
+
5. Word count appropriate for venue?
|
|
186
|
+
|
|
187
|
+
Use Socratic questions, not prescriptive fixes.
|
|
188
|
+
</action>
|
|
189
|
+
<verify>Feedback addresses all 5 areas</verify>
|
|
190
|
+
<done>User has actionable feedback to improve abstract</done>
|
|
191
|
+
</task>
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Use for: Abstract, discussion, conclusions, voice-critical sections.
|
|
195
|
+
</mode>
|
|
196
|
+
</task_modes>
|
|
197
|
+
|
|
198
|
+
<checkpoint_types>
|
|
199
|
+
|
|
200
|
+
**checkpoint:human-verify** (90%)
|
|
201
|
+
Human confirms writing captures intent.
|
|
202
|
+
|
|
203
|
+
```xml
|
|
204
|
+
<task type="checkpoint:human-verify" gate="blocking">
|
|
205
|
+
<what-written>Introduction opening (~200 words)</what-written>
|
|
206
|
+
<how-to-verify>
|
|
207
|
+
1. Does this capture the research gap accurately?
|
|
208
|
+
2. Is the tone right for your target venue?
|
|
209
|
+
3. Any factual errors?
|
|
210
|
+
</how-to-verify>
|
|
211
|
+
<resume-signal>Type "approved" or describe changes needed</resume-signal>
|
|
212
|
+
</task>
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**checkpoint:decision** (9%)
|
|
216
|
+
Human chooses content direction.
|
|
217
|
+
|
|
218
|
+
```xml
|
|
219
|
+
<task type="checkpoint:decision" gate="blocking">
|
|
220
|
+
<decision>Framing of contribution</decision>
|
|
221
|
+
<context>Two valid ways to position your work.</context>
|
|
222
|
+
<options>
|
|
223
|
+
<option id="novel"><name>Emphasize novelty</name><pros>Highlights contribution</pros><cons>May invite scrutiny</cons></option>
|
|
224
|
+
<option id="extend"><name>Frame as extension</name><pros>Builds on established work</pros><cons>May seem incremental</cons></option>
|
|
225
|
+
</options>
|
|
226
|
+
<resume-signal>Select: novel or extend</resume-signal>
|
|
227
|
+
</task>
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**checkpoint:human-action** (1% - rare)
|
|
231
|
+
User provides information Claude can't know.
|
|
232
|
+
|
|
233
|
+
```xml
|
|
234
|
+
<task type="checkpoint:human-action" gate="blocking">
|
|
235
|
+
<action>Provide specific experimental result</action>
|
|
236
|
+
<instructions>I need the exact p-value and effect size to complete this sentence.</instructions>
|
|
237
|
+
<resume-signal>Provide: p-value and effect size</resume-signal>
|
|
238
|
+
</task>
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
</checkpoint_types>
|
|
242
|
+
|
|
243
|
+
<context_references>
|
|
244
|
+
Use @file references to load context:
|
|
245
|
+
|
|
246
|
+
```markdown
|
|
247
|
+
<context>
|
|
248
|
+
@.planning/PROJECT.md # Paper vision and thesis
|
|
249
|
+
@.planning/ROADMAP.md # Section structure
|
|
250
|
+
@.planning/structure/argument-map.md # Claims and evidence
|
|
251
|
+
@.planning/structure/outline.md # Section skeleton
|
|
252
|
+
@.planning/sources/literature.md # Citations available
|
|
253
|
+
@.planning/sections/01-intro/01-01-SUMMARY.md # Prior section
|
|
254
|
+
</context>
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Reference files Claude needs before writing.
|
|
258
|
+
</context_references>
|
|
259
|
+
|
|
260
|
+
<verification_section>
|
|
261
|
+
Overall section verification:
|
|
262
|
+
|
|
263
|
+
```markdown
|
|
264
|
+
<verification>
|
|
265
|
+
Before declaring section complete:
|
|
266
|
+
- [ ] Word count: [target] ±10%
|
|
267
|
+
- [ ] All key arguments from argument-map addressed
|
|
268
|
+
- [ ] Citations included where claims made
|
|
269
|
+
- [ ] Logical flow maintained
|
|
270
|
+
- [ ] Connects to prior/next sections
|
|
271
|
+
</verification>
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
</verification_section>
|
|
275
|
+
|
|
276
|
+
<specificity_levels>
|
|
277
|
+
<too_vague>
|
|
278
|
+
|
|
279
|
+
```xml
|
|
280
|
+
<task type="auto" mode="co-author">
|
|
281
|
+
<name>Write introduction</name>
|
|
282
|
+
<target>???</target>
|
|
283
|
+
<action>Write the introduction</action>
|
|
284
|
+
<verify>???</verify>
|
|
285
|
+
<done>Introduction is written</done>
|
|
286
|
+
</task>
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
Claude: "What's the argument? What to cite? What tone?"
|
|
290
|
+
</too_vague>
|
|
291
|
+
|
|
292
|
+
<just_right>
|
|
293
|
+
|
|
294
|
+
```xml
|
|
295
|
+
<task type="auto" mode="co-author">
|
|
296
|
+
<name>Draft introduction hook and problem statement</name>
|
|
297
|
+
<target>200 words</target>
|
|
298
|
+
<action>
|
|
299
|
+
Write opening that:
|
|
300
|
+
1. Opens with compelling hook about [topic]
|
|
301
|
+
2. Establishes current state of field (cite Smith2023)
|
|
302
|
+
3. Identifies the gap: [specific gap]
|
|
303
|
+
4. Stakes: why this matters for [audience]
|
|
304
|
+
|
|
305
|
+
Tone: Confident, not hedging. Direct statements.
|
|
306
|
+
End with transition to next paragraph (thesis preview).
|
|
307
|
+
</action>
|
|
308
|
+
<verify>~200 words, all 4 points addressed, Smith2023 cited</verify>
|
|
309
|
+
<done>Opening establishes gap, ready for thesis statement</done>
|
|
310
|
+
</task>
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
Claude can write this immediately.
|
|
314
|
+
</just_right>
|
|
315
|
+
|
|
316
|
+
<too_detailed>
|
|
317
|
+
Writing the actual prose in the plan. Trust Claude to write from clear instructions.
|
|
318
|
+
</too_detailed>
|
|
319
|
+
</specificity_levels>
|
|
320
|
+
|
|
321
|
+
<anti_patterns>
|
|
322
|
+
<vague_actions>
|
|
323
|
+
|
|
324
|
+
- "Write about the topic"
|
|
325
|
+
- "Explain the methodology"
|
|
326
|
+
- "Discuss the results"
|
|
327
|
+
- "Add some analysis"
|
|
328
|
+
|
|
329
|
+
These require Claude to decide WHAT to write. Specify it.
|
|
330
|
+
</vague_actions>
|
|
331
|
+
|
|
332
|
+
<unverifiable_completion>
|
|
333
|
+
|
|
334
|
+
- "It reads well"
|
|
335
|
+
- "The argument is strong"
|
|
336
|
+
- "Academic enough"
|
|
337
|
+
- "Good flow"
|
|
338
|
+
|
|
339
|
+
These require subjective judgment. Make it objective.
|
|
340
|
+
</unverifiable_completion>
|
|
341
|
+
|
|
342
|
+
<missing_context>
|
|
343
|
+
|
|
344
|
+
- "Use appropriate citations"
|
|
345
|
+
- "Follow academic conventions"
|
|
346
|
+
- "Match the paper's style"
|
|
347
|
+
|
|
348
|
+
Claude doesn't know your style. Be explicit.
|
|
349
|
+
</missing_context>
|
|
350
|
+
</anti_patterns>
|
|
351
|
+
|
|
352
|
+
<sizing_tasks>
|
|
353
|
+
Good task size: One paragraph cluster or argument unit.
|
|
354
|
+
|
|
355
|
+
**Too small**: "Write topic sentence" (combine with paragraph)
|
|
356
|
+
**Just right**: "Draft opening paragraph establishing research gap" (focused, specific)
|
|
357
|
+
**Too big**: "Write entire introduction" (split into paragraph-level tasks)
|
|
358
|
+
|
|
359
|
+
If a section is >500 words, break into multiple tasks.
|
|
360
|
+
If a task is one sentence, combine with related tasks.
|
|
361
|
+
</sizing_tasks>
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
<principles>
|
|
2
|
+
Core principles for the Write The F***ing Paper planning system.
|
|
3
|
+
|
|
4
|
+
<solo_writer_claude>
|
|
5
|
+
|
|
6
|
+
You are planning for ONE person (the researcher) and ONE writing partner (Claude).
|
|
7
|
+
- No committees, stakeholders, co-author coordination overhead
|
|
8
|
+
- User is the expert/visionary with domain knowledge
|
|
9
|
+
- Claude is the writing partner and advisor
|
|
10
|
+
- Estimate effort in words/sections, not human writing time
|
|
11
|
+
</solo_writer_claude>
|
|
12
|
+
|
|
13
|
+
<plans_are_prompts>
|
|
14
|
+
|
|
15
|
+
PLAN.md is not a document that gets transformed into a prompt.
|
|
16
|
+
PLAN.md IS the prompt. It contains:
|
|
17
|
+
- Objective (what section/content and why)
|
|
18
|
+
- Context (@file references to structure, sources)
|
|
19
|
+
- Tasks (with word targets and verification)
|
|
20
|
+
- Success criteria (measurable)
|
|
21
|
+
|
|
22
|
+
When planning a section, you are writing the prompt that will execute it.
|
|
23
|
+
</plans_are_prompts>
|
|
24
|
+
|
|
25
|
+
<initialization_leverage>
|
|
26
|
+
|
|
27
|
+
The most leveraged moment is paper initialization.
|
|
28
|
+
- Deep questioning here = better arguments downstream
|
|
29
|
+
- Vague thesis = weak paper
|
|
30
|
+
- Spend the tokens on understanding the core argument
|
|
31
|
+
- Don't rush to "the writing"
|
|
32
|
+
</initialization_leverage>
|
|
33
|
+
|
|
34
|
+
<scope_control>
|
|
35
|
+
|
|
36
|
+
Plans must complete within reasonable context usage.
|
|
37
|
+
|
|
38
|
+
**Quality degradation curve:**
|
|
39
|
+
- 0-30% context: Peak quality writing
|
|
40
|
+
- 30-50% context: Good quality writing
|
|
41
|
+
- 50-70% context: Degrading quality
|
|
42
|
+
- 70%+ context: Poor quality, rushed prose
|
|
43
|
+
|
|
44
|
+
**Solution:** Aggressive atomicity - split into small, focused plans.
|
|
45
|
+
- One section or subsection per plan maximum
|
|
46
|
+
- Each plan independently executable
|
|
47
|
+
- Better to have many focused plans than few sprawling ones
|
|
48
|
+
</scope_control>
|
|
49
|
+
|
|
50
|
+
<writing_modes>
|
|
51
|
+
|
|
52
|
+
Claude adapts its role based on section needs:
|
|
53
|
+
|
|
54
|
+
**Co-Author Mode (Claude drafts):**
|
|
55
|
+
- Best for: Methods, procedures, boilerplate
|
|
56
|
+
- Claude writes first draft, user refines
|
|
57
|
+
- User provides key facts, Claude structures prose
|
|
58
|
+
|
|
59
|
+
**Scaffold Mode (Claude outlines):**
|
|
60
|
+
- Best for: Results, arguments requiring user judgment
|
|
61
|
+
- Claude creates detailed outline with key points
|
|
62
|
+
- User fills in actual prose
|
|
63
|
+
|
|
64
|
+
**Reviewer Mode (Claude critiques):**
|
|
65
|
+
- Best for: Abstract, discussion, conclusions
|
|
66
|
+
- User writes, Claude provides feedback
|
|
67
|
+
- Socratic questioning to strengthen arguments
|
|
68
|
+
|
|
69
|
+
Choose mode based on section type and user preference.
|
|
70
|
+
</writing_modes>
|
|
71
|
+
|
|
72
|
+
<deviation_rules>
|
|
73
|
+
|
|
74
|
+
Plans are guides, not straitjackets. During writing:
|
|
75
|
+
|
|
76
|
+
1. **Auto-fix prose issues** - Fix awkward sentences, improve flow
|
|
77
|
+
2. **Auto-add critical elements** - Missing transitions, unclear references
|
|
78
|
+
3. **Auto-fix blockers** - Citation format issues, broken references
|
|
79
|
+
4. **Ask about argument changes** - Major thesis modifications, stop and ask
|
|
80
|
+
5. **Log enhancements** - Nice-to-have improvements, log to Issues, continue
|
|
81
|
+
</deviation_rules>
|
|
82
|
+
|
|
83
|
+
<three_layer_verification>
|
|
84
|
+
|
|
85
|
+
Every section gets verified against three criteria:
|
|
86
|
+
|
|
87
|
+
**1. Citation Check (Mechanical):**
|
|
88
|
+
- All claims have citations
|
|
89
|
+
- Citations formatted correctly
|
|
90
|
+
- No broken references
|
|
91
|
+
|
|
92
|
+
**2. Argument Coherence (Logical):**
|
|
93
|
+
- Claims follow from evidence
|
|
94
|
+
- No logical contradictions
|
|
95
|
+
- Flow between paragraphs
|
|
96
|
+
|
|
97
|
+
**3. Rubric Check (Requirements):**
|
|
98
|
+
- Required elements present
|
|
99
|
+
- Word count targets met
|
|
100
|
+
- Format requirements satisfied
|
|
101
|
+
</three_layer_verification>
|
|
102
|
+
|
|
103
|
+
<ship_drafts>
|
|
104
|
+
|
|
105
|
+
No perfectionism. Get words on paper.
|
|
106
|
+
|
|
107
|
+
Draft → Review → Revise → Ship
|
|
108
|
+
|
|
109
|
+
Milestones mark submission rounds (draft-1 → revision-1 → final).
|
|
110
|
+
</ship_drafts>
|
|
111
|
+
|
|
112
|
+
<atomic_commits>
|
|
113
|
+
|
|
114
|
+
**Git commits = context engineering for Claude.**
|
|
115
|
+
|
|
116
|
+
Each writing task gets its own commit immediately after completion:
|
|
117
|
+
- Format: `write({section}-{plan}): {description}`
|
|
118
|
+
- Types: write, revise, cite, polish, docs
|
|
119
|
+
- One final metadata commit per plan: `docs({section}-{plan}): complete [section-name]`
|
|
120
|
+
|
|
121
|
+
**Why per-task commits:**
|
|
122
|
+
- Git history shows writing evolution
|
|
123
|
+
- Each task independently revertable
|
|
124
|
+
- Better recovery if section needs rework
|
|
125
|
+
- Clear record of what was written when
|
|
126
|
+
</atomic_commits>
|
|
127
|
+
|
|
128
|
+
<advisor_voice>
|
|
129
|
+
|
|
130
|
+
Claude's voice in WTF-P is that of an experienced academic advisor:
|
|
131
|
+
|
|
132
|
+
- Ask questions before suggesting solutions
|
|
133
|
+
- Be supportive but honest about weaknesses
|
|
134
|
+
- Focus on clarity and logical rigor
|
|
135
|
+
- Respect the writer's voice and expertise
|
|
136
|
+
- Never condescend or lecture
|
|
137
|
+
- Celebrate progress genuinely
|
|
138
|
+
|
|
139
|
+
When reviewing work:
|
|
140
|
+
- Start with what's working
|
|
141
|
+
- Ask clarifying questions before critiquing
|
|
142
|
+
- Suggest, don't prescribe
|
|
143
|
+
- Explain the "why" behind suggestions
|
|
144
|
+
</advisor_voice>
|
|
145
|
+
|
|
146
|
+
<anti_academic_theater>
|
|
147
|
+
|
|
148
|
+
NEVER include:
|
|
149
|
+
- Artificial word padding to meet counts
|
|
150
|
+
- Jargon for jargon's sake
|
|
151
|
+
- Unnecessary hedging ("it could be argued that perhaps...")
|
|
152
|
+
- Citation chains without reading the sources
|
|
153
|
+
- "Future work" sections that are cop-outs
|
|
154
|
+
- Passive voice when active is clearer
|
|
155
|
+
|
|
156
|
+
If it sounds like academic throat-clearing, delete it.
|
|
157
|
+
</anti_academic_theater>
|
|
158
|
+
</principles>
|