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,274 @@
|
|
|
1
|
+
<trigger>
|
|
2
|
+
Use this workflow when:
|
|
3
|
+
- Starting a new session on an existing paper
|
|
4
|
+
- User says "continue", "what's next", "where were we", "resume"
|
|
5
|
+
- Any writing operation when .planning/ already exists
|
|
6
|
+
- User returns after time away from writing
|
|
7
|
+
</trigger>
|
|
8
|
+
|
|
9
|
+
<purpose>
|
|
10
|
+
Instantly restore full project context and present clear status.
|
|
11
|
+
Enables seamless session continuity for writing workflows.
|
|
12
|
+
|
|
13
|
+
"Where were we?" should have an immediate, complete answer.
|
|
14
|
+
</purpose>
|
|
15
|
+
|
|
16
|
+
<process>
|
|
17
|
+
|
|
18
|
+
<step name="detect_existing_project">
|
|
19
|
+
Check if this is an existing writing project:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
ls .planning/STATE.md 2>/dev/null && echo "Project exists"
|
|
23
|
+
ls .planning/ROADMAP.md 2>/dev/null && echo "Roadmap exists"
|
|
24
|
+
ls .planning/PROJECT.md 2>/dev/null && echo "Project file exists"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**If STATE.md exists:** Proceed to load_state
|
|
28
|
+
**If only ROADMAP.md/PROJECT.md exist:** Offer to reconstruct STATE.md
|
|
29
|
+
**If .planning/ doesn't exist:** This is a new project - route to /wtfp:new-paper
|
|
30
|
+
</step>
|
|
31
|
+
|
|
32
|
+
<step name="load_state">
|
|
33
|
+
|
|
34
|
+
Read and parse STATE.md, then PROJECT.md:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
cat .planning/STATE.md
|
|
38
|
+
cat .planning/PROJECT.md
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**From STATE.md extract:**
|
|
42
|
+
|
|
43
|
+
- **Project Reference**: Core argument and current focus
|
|
44
|
+
- **Current Position**: Section X of Y, Plan A of B, Status
|
|
45
|
+
- **Word Count**: Current vs target
|
|
46
|
+
- **Section Progress**: Which sections are done
|
|
47
|
+
- **Argument Strength**: How solid is the thesis
|
|
48
|
+
- **Open Questions**: Unresolved items
|
|
49
|
+
- **Deferred**: Nice-to-haves logged for later
|
|
50
|
+
- **Session Continuity**: Where we left off, any resume files
|
|
51
|
+
|
|
52
|
+
**From PROJECT.md extract:**
|
|
53
|
+
|
|
54
|
+
- **What This Is**: Document type, venue, deadline
|
|
55
|
+
- **Core Argument**: The thesis
|
|
56
|
+
- **Requirements**: What must be in the document
|
|
57
|
+
- **Key Decisions**: Choices made about framing, scope
|
|
58
|
+
|
|
59
|
+
</step>
|
|
60
|
+
|
|
61
|
+
<step name="check_incomplete_work">
|
|
62
|
+
Look for incomplete work that needs attention:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Check for continue-here files (mid-plan resumption)
|
|
66
|
+
ls .planning/sections/*/.continue-here*.md 2>/dev/null
|
|
67
|
+
|
|
68
|
+
# Check for plans without summaries (incomplete writing)
|
|
69
|
+
for plan in .planning/sections/*/*-PLAN.md; do
|
|
70
|
+
summary="${plan/PLAN/SUMMARY}"
|
|
71
|
+
[ ! -f "$summary" ] && echo "Incomplete: $plan"
|
|
72
|
+
done 2>/dev/null
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**If .continue-here file exists:**
|
|
76
|
+
|
|
77
|
+
- This is a mid-plan resumption point
|
|
78
|
+
- Read the file for specific resumption context
|
|
79
|
+
- Flag: "Found mid-section checkpoint"
|
|
80
|
+
|
|
81
|
+
**If PLAN without SUMMARY exists:**
|
|
82
|
+
|
|
83
|
+
- Writing was started but not completed
|
|
84
|
+
- Flag: "Found incomplete writing plan"
|
|
85
|
+
</step>
|
|
86
|
+
|
|
87
|
+
<step name="present_status">
|
|
88
|
+
Present complete project status to user:
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
92
|
+
║ WRITING PROJECT STATUS ║
|
|
93
|
+
╠══════════════════════════════════════════════════════════════╣
|
|
94
|
+
║ Document: [title from PROJECT.md] ║
|
|
95
|
+
║ Venue: [target venue] ║
|
|
96
|
+
║ ║
|
|
97
|
+
║ Section: [X] of [Y] - [Section name] ║
|
|
98
|
+
║ Plan: [A] of [B] - [Status] ║
|
|
99
|
+
║ Progress: [██████░░░░] XX% ║
|
|
100
|
+
║ ║
|
|
101
|
+
║ Words: [current] / [target] ║
|
|
102
|
+
║ Last activity: [date] - [what happened] ║
|
|
103
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
104
|
+
|
|
105
|
+
[If incomplete work found:]
|
|
106
|
+
⚠️ Incomplete work detected:
|
|
107
|
+
- [.continue-here file or incomplete plan]
|
|
108
|
+
|
|
109
|
+
[If open questions exist:]
|
|
110
|
+
❓ Open questions:
|
|
111
|
+
- [Question 1]
|
|
112
|
+
- [Question 2]
|
|
113
|
+
|
|
114
|
+
[If argument strength is concerning:]
|
|
115
|
+
📊 Argument status: [developing/weak]
|
|
116
|
+
- [Concern about thesis support]
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
</step>
|
|
120
|
+
|
|
121
|
+
<step name="determine_next_action">
|
|
122
|
+
Based on project state, determine the most logical next action:
|
|
123
|
+
|
|
124
|
+
**If .continue-here file exists:**
|
|
125
|
+
→ Primary: Resume from checkpoint
|
|
126
|
+
→ Option: Start fresh on current plan
|
|
127
|
+
|
|
128
|
+
**If incomplete plan (PLAN without SUMMARY):**
|
|
129
|
+
→ Primary: Complete the incomplete plan
|
|
130
|
+
→ Option: Abandon and move on
|
|
131
|
+
|
|
132
|
+
**If section in progress, all plans complete:**
|
|
133
|
+
→ Primary: Transition to next section
|
|
134
|
+
→ Option: Review completed work
|
|
135
|
+
|
|
136
|
+
**If section ready to plan:**
|
|
137
|
+
Check if CONTEXT.md exists for this section:
|
|
138
|
+
|
|
139
|
+
- If CONTEXT.md missing:
|
|
140
|
+
→ Primary: Discuss section vision
|
|
141
|
+
→ Secondary: Plan directly (skip context gathering)
|
|
142
|
+
- If CONTEXT.md exists:
|
|
143
|
+
→ Primary: Plan the section
|
|
144
|
+
→ Option: Review roadmap
|
|
145
|
+
|
|
146
|
+
**If section ready to write:**
|
|
147
|
+
→ Primary: Execute next plan
|
|
148
|
+
→ Option: Review the plan first
|
|
149
|
+
</step>
|
|
150
|
+
|
|
151
|
+
<step name="offer_options">
|
|
152
|
+
Present contextual options based on project state:
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
What would you like to do?
|
|
156
|
+
|
|
157
|
+
[Primary action based on state - e.g.:]
|
|
158
|
+
1. Resume from checkpoint
|
|
159
|
+
OR
|
|
160
|
+
1. Write next plan (/wtfp:write-section .planning/sections/XX-name/02-02-PLAN.md)
|
|
161
|
+
OR
|
|
162
|
+
1. Discuss Section 3 context (/wtfp:discuss-section 3)
|
|
163
|
+
OR
|
|
164
|
+
1. Plan Section 3 (/wtfp:plan-section 3)
|
|
165
|
+
|
|
166
|
+
[Secondary options:]
|
|
167
|
+
2. Review current section status
|
|
168
|
+
3. Check word count progress
|
|
169
|
+
4. Review argument strength
|
|
170
|
+
5. Something else
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Wait for user selection.
|
|
174
|
+
</step>
|
|
175
|
+
|
|
176
|
+
<step name="route_to_workflow">
|
|
177
|
+
Based on user selection, route to appropriate workflow:
|
|
178
|
+
|
|
179
|
+
- **Write plan** → Show command for user to run after clearing:
|
|
180
|
+
```
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Next Up
|
|
184
|
+
|
|
185
|
+
**{section}-{plan}: [Plan Name]** — [objective from PLAN.md]
|
|
186
|
+
|
|
187
|
+
`/wtfp:write-section [path]`
|
|
188
|
+
|
|
189
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
```
|
|
193
|
+
- **Plan section** → Show command for user to run after clearing:
|
|
194
|
+
```
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## Next Up
|
|
198
|
+
|
|
199
|
+
**Section [N]: [Name]** — [Goal from ROADMAP.md]
|
|
200
|
+
|
|
201
|
+
`/wtfp:plan-section [section-number]`
|
|
202
|
+
|
|
203
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
**Also available:**
|
|
208
|
+
- `/wtfp:discuss-section [N]` — gather context first
|
|
209
|
+
- `/wtfp:research-gap [topic]` — investigate literature
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
```
|
|
213
|
+
- **Review section** → Read section content, present summary
|
|
214
|
+
- **Check word count** → Calculate and display progress
|
|
215
|
+
- **Review argument** → Read argument-map.md, assess thesis support
|
|
216
|
+
- **Something else** → Ask what they need
|
|
217
|
+
</step>
|
|
218
|
+
|
|
219
|
+
<step name="update_session">
|
|
220
|
+
Before proceeding to routed workflow, update session continuity:
|
|
221
|
+
|
|
222
|
+
Update STATE.md:
|
|
223
|
+
|
|
224
|
+
```markdown
|
|
225
|
+
## Session Continuity
|
|
226
|
+
|
|
227
|
+
Last session: [now]
|
|
228
|
+
Stopped at: Session resumed, proceeding to [action]
|
|
229
|
+
Resume file: [updated if applicable]
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
This ensures if session ends unexpectedly, next resume knows the state.
|
|
233
|
+
</step>
|
|
234
|
+
|
|
235
|
+
</process>
|
|
236
|
+
|
|
237
|
+
<reconstruction>
|
|
238
|
+
If STATE.md is missing but other artifacts exist:
|
|
239
|
+
|
|
240
|
+
"STATE.md missing. Reconstructing from artifacts..."
|
|
241
|
+
|
|
242
|
+
1. Read PROJECT.md → Extract thesis and document info
|
|
243
|
+
2. Read ROADMAP.md → Determine sections, find current position
|
|
244
|
+
3. Scan *-SUMMARY.md files → Extract decisions, word counts
|
|
245
|
+
4. Check paper/ directory → Count actual words written
|
|
246
|
+
5. Check for .continue-here files → Session continuity
|
|
247
|
+
|
|
248
|
+
Reconstruct and write STATE.md, then proceed normally.
|
|
249
|
+
</reconstruction>
|
|
250
|
+
|
|
251
|
+
<quick_resume>
|
|
252
|
+
For users who want minimal friction:
|
|
253
|
+
|
|
254
|
+
If user says just "continue" or "go":
|
|
255
|
+
|
|
256
|
+
- Load state silently
|
|
257
|
+
- Determine primary action
|
|
258
|
+
- Execute immediately without presenting options
|
|
259
|
+
|
|
260
|
+
"Continuing from [state]... [action]"
|
|
261
|
+
|
|
262
|
+
This enables "just keep writing" workflow.
|
|
263
|
+
</quick_resume>
|
|
264
|
+
|
|
265
|
+
<success_criteria>
|
|
266
|
+
Resume is complete when:
|
|
267
|
+
|
|
268
|
+
- [ ] STATE.md loaded (or reconstructed)
|
|
269
|
+
- [ ] Incomplete work detected and flagged
|
|
270
|
+
- [ ] Clear status presented to user
|
|
271
|
+
- [ ] Contextual next actions offered
|
|
272
|
+
- [ ] User knows exactly where project stands
|
|
273
|
+
- [ ] Session continuity updated
|
|
274
|
+
</success_criteria>
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
<trigger>
|
|
2
|
+
Use this workflow when:
|
|
3
|
+
- Starting a new session on an existing paper
|
|
4
|
+
- User says "continue", "what's next", "where were we", "resume"
|
|
5
|
+
- Any writing operation when .planning/ already exists
|
|
6
|
+
- User returns after time away from writing
|
|
7
|
+
</trigger>
|
|
8
|
+
|
|
9
|
+
<purpose>
|
|
10
|
+
Instantly restore full project context and present clear status.
|
|
11
|
+
Enables seamless session continuity for writing workflows.
|
|
12
|
+
|
|
13
|
+
"Where were we?" should have an immediate, complete answer.
|
|
14
|
+
</purpose>
|
|
15
|
+
|
|
16
|
+
<process>
|
|
17
|
+
|
|
18
|
+
[step:detect_existing_project]
|
|
19
|
+
RUN: ls .planning/STATE.md 2>/dev/null && echo "Project exists"
|
|
20
|
+
IF STATE.md_exists → Proceed to load_state
|
|
21
|
+
IF only_ROADMAP.md/PROJECT.md_exist → Offer to reconstruct STATE.md
|
|
22
|
+
IF .planning/_doesnt_exist → This is a new project - route to /wtfp:new-paper
|
|
23
|
+
[/step]
|
|
24
|
+
|
|
25
|
+
[step:load_state]
|
|
26
|
+
RUN: cat .planning/STATE.md
|
|
27
|
+
[/step]
|
|
28
|
+
|
|
29
|
+
[step:check_incomplete_work]
|
|
30
|
+
IF .continue-here_file_exists → - This is a mid-plan resumption point
|
|
31
|
+
IF PLAN_without_SUMMARY_exists → - Writing was started but not completed
|
|
32
|
+
[/step]
|
|
33
|
+
|
|
34
|
+
[step:present_status]
|
|
35
|
+
[/step]
|
|
36
|
+
|
|
37
|
+
[step:determine_next_action]
|
|
38
|
+
IF .continue-here_file_exists → → Primary: Resume from checkpoint
|
|
39
|
+
IF incomplete_plan_(PLAN_without_SUMMARY) → → Primary: Complete the incomplete plan
|
|
40
|
+
IF section_in_progress,_all_plans_complete → → Primary: Transition to next section
|
|
41
|
+
IF section_ready_to_plan → Check if CONTEXT.md exists for this section:
|
|
42
|
+
IF section_ready_to_write → → Primary: Execute next plan
|
|
43
|
+
[/step]
|
|
44
|
+
|
|
45
|
+
[step:offer_options]
|
|
46
|
+
[/step]
|
|
47
|
+
|
|
48
|
+
[step:route_to_workflow]
|
|
49
|
+
[/step]
|
|
50
|
+
|
|
51
|
+
[step:update_session]
|
|
52
|
+
[/step]
|
|
53
|
+
|
|
54
|
+
</process>
|
|
55
|
+
|
|
56
|
+
<reconstruction>
|
|
57
|
+
If STATE.md is missing but other artifacts exist:
|
|
58
|
+
|
|
59
|
+
"STATE.md missing. Reconstructing from artifacts..."
|
|
60
|
+
|
|
61
|
+
1. Read PROJECT.md → Extract thesis and document info
|
|
62
|
+
2. Read ROADMAP.md → Determine sections, find current position
|
|
63
|
+
3. Scan *-SUMMARY.md files → Extract decisions, word counts
|
|
64
|
+
4. Check paper/ directory → Count actual words written
|
|
65
|
+
5. Check for .continue-here files → Session continuity
|
|
66
|
+
|
|
67
|
+
Reconstruct and write STATE.md, then proceed normally.
|
|
68
|
+
</reconstruction>
|
|
69
|
+
|
|
70
|
+
<quick_resume>
|
|
71
|
+
For users who want minimal friction:
|
|
72
|
+
|
|
73
|
+
If user says just "continue" or "go":
|
|
74
|
+
|
|
75
|
+
- Load state silently
|
|
76
|
+
- Determine primary action
|
|
77
|
+
- Execute immediately without presenting options
|
|
78
|
+
|
|
79
|
+
"Continuing from [state]... [action]"
|
|
80
|
+
|
|
81
|
+
This enables "just keep writing" workflow.
|
|
82
|
+
</quick_resume>
|
|
83
|
+
|
|
84
|
+
<success_criteria>
|
|
85
|
+
Resume is complete when:
|
|
86
|
+
|
|
87
|
+
- [ ] STATE.md loaded (or reconstructed)
|
|
88
|
+
- [ ] Incomplete work detected and flagged
|
|
89
|
+
- [ ] Clear status presented to user
|
|
90
|
+
- [ ] Contextual next actions offered
|
|
91
|
+
- [ ] User knows exactly where project stands
|
|
92
|
+
- [ ] Session continuity updated
|
|
93
|
+
</success_criteria>
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Run three-layer verification on written sections. Extract deliverables from SUMMARY.md,
|
|
3
|
+
generate verification checklist, guide user through each check, log issues.
|
|
4
|
+
|
|
5
|
+
The USER performs judgment-based verification — Claude runs mechanical checks,
|
|
6
|
+
identifies potential issues, and guides the verification process.
|
|
7
|
+
</purpose>
|
|
8
|
+
|
|
9
|
+
<three_layers>
|
|
10
|
+
Academic writing verification has three distinct layers:
|
|
11
|
+
|
|
12
|
+
**1. Citation Check (Mechanical)** - Claude can run this
|
|
13
|
+
- All claims have citations where needed
|
|
14
|
+
- Citations formatted correctly for style
|
|
15
|
+
- All cited works appear in bibliography
|
|
16
|
+
- No broken references or [CITE:] placeholders
|
|
17
|
+
- Page numbers where required by style
|
|
18
|
+
|
|
19
|
+
**2. Argument Coherence (Logical)** - Claude identifies, user verifies
|
|
20
|
+
- Claims follow from evidence
|
|
21
|
+
- No logical contradictions
|
|
22
|
+
- Thesis supported throughout
|
|
23
|
+
- Counterarguments addressed
|
|
24
|
+
- Flow between paragraphs
|
|
25
|
+
|
|
26
|
+
**3. Rubric Check (Requirements)** - Both verify
|
|
27
|
+
- Required sections present
|
|
28
|
+
- Word/page limits met
|
|
29
|
+
- Formatting requirements met
|
|
30
|
+
- All required elements included
|
|
31
|
+
- Submission checklist complete
|
|
32
|
+
</three_layers>
|
|
33
|
+
|
|
34
|
+
<process>
|
|
35
|
+
|
|
36
|
+
<step name="identify">
|
|
37
|
+
**Determine what to verify:**
|
|
38
|
+
|
|
39
|
+
If $ARGUMENTS provided:
|
|
40
|
+
- Parse as section number (e.g., "4") or plan number (e.g., "04-02")
|
|
41
|
+
- Find corresponding SUMMARY.md file(s)
|
|
42
|
+
|
|
43
|
+
If no arguments:
|
|
44
|
+
- Find most recently modified SUMMARY.md
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
find .planning/sections -name "*SUMMARY.md" -type f -exec ls -lt {} + | head -5
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Read the SUMMARY.md to understand what was written.
|
|
51
|
+
</step>
|
|
52
|
+
|
|
53
|
+
<step name="extract">
|
|
54
|
+
**Extract verifiable elements from SUMMARY.md:**
|
|
55
|
+
|
|
56
|
+
Parse for:
|
|
57
|
+
1. **Claims made** - Statements that need citations
|
|
58
|
+
2. **Citations used** - References added
|
|
59
|
+
3. **Word count** - Against target
|
|
60
|
+
4. **Section goal** - Was it accomplished?
|
|
61
|
+
|
|
62
|
+
Focus on VERIFIABLE outcomes:
|
|
63
|
+
|
|
64
|
+
Examples:
|
|
65
|
+
- "Introduction establishes research gap" → Check: gap clearly stated
|
|
66
|
+
- "Three prior approaches cited" → Check: verify three relevant citations
|
|
67
|
+
- "Methods section ~500 words" → Check: actual word count
|
|
68
|
+
</step>
|
|
69
|
+
|
|
70
|
+
<step name="layer_1_citation_check">
|
|
71
|
+
**Run Citation Check (Mechanical):**
|
|
72
|
+
|
|
73
|
+
Claude performs these checks directly:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
## Layer 1: Citation Check
|
|
77
|
+
|
|
78
|
+
Scanning [section/file] for citation issues...
|
|
79
|
+
|
|
80
|
+
### All Claims Have Citations
|
|
81
|
+
- [ ] [Claim 1] - citation: [present/missing]
|
|
82
|
+
- [ ] [Claim 2] - citation: [present/missing]
|
|
83
|
+
[List all factual claims and their citation status]
|
|
84
|
+
|
|
85
|
+
### Citation Format
|
|
86
|
+
Style: [detected/specified style - APA, IEEE, etc.]
|
|
87
|
+
- [ ] Author-year format consistent
|
|
88
|
+
- [ ] Et al. used correctly
|
|
89
|
+
- [ ] Punctuation correct
|
|
90
|
+
|
|
91
|
+
### Bibliography Match
|
|
92
|
+
- [ ] All in-text citations appear in references
|
|
93
|
+
- [ ] No orphan references (in bibliography but not cited)
|
|
94
|
+
- [ ] All [CITE:] placeholders resolved
|
|
95
|
+
|
|
96
|
+
### Issues Found
|
|
97
|
+
[List any mechanical citation issues]
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**If issues found:**
|
|
101
|
+
Present for resolution before continuing.
|
|
102
|
+
</step>
|
|
103
|
+
|
|
104
|
+
<step name="layer_2_coherence_check">
|
|
105
|
+
**Prepare Argument Coherence Check (Logical):**
|
|
106
|
+
|
|
107
|
+
Claude identifies potential issues, user verifies:
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
## Layer 2: Argument Coherence
|
|
111
|
+
|
|
112
|
+
### Thesis Support
|
|
113
|
+
Central claim: [from argument-map.md]
|
|
114
|
+
|
|
115
|
+
This section should support it by: [expected contribution]
|
|
116
|
+
|
|
117
|
+
**Check:** Does the section actually advance the thesis?
|
|
118
|
+
|
|
119
|
+
### Logical Flow
|
|
120
|
+
Reading the section for argument structure...
|
|
121
|
+
|
|
122
|
+
Paragraph flow:
|
|
123
|
+
1. [Para 1 purpose] → [Para 2 purpose] → [Para 3 purpose]
|
|
124
|
+
|
|
125
|
+
**Potential gaps identified:**
|
|
126
|
+
- [Gap 1]: Between [X] and [Y], transition unclear
|
|
127
|
+
- [Gap 2]: Claim [Z] not fully supported
|
|
128
|
+
|
|
129
|
+
### Contradiction Check
|
|
130
|
+
Cross-referencing with prior sections...
|
|
131
|
+
|
|
132
|
+
**Potential contradictions:**
|
|
133
|
+
- [None found / List any inconsistencies]
|
|
134
|
+
|
|
135
|
+
### Counterargument Coverage
|
|
136
|
+
For claims that might face objection:
|
|
137
|
+
- [Claim]: [Counterargument addressed? Y/N]
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Use AskUserQuestion for each potential issue:
|
|
141
|
+
- header: "[Issue type]"
|
|
142
|
+
- question: "[Describe the potential issue] - Is this actually a problem?"
|
|
143
|
+
- options:
|
|
144
|
+
- "Not an issue" — The logic is sound
|
|
145
|
+
- "Minor issue" — Note but don't block
|
|
146
|
+
- "Major issue" — Needs fixing
|
|
147
|
+
- "Let me look" — I need to review the text
|
|
148
|
+
</step>
|
|
149
|
+
|
|
150
|
+
<step name="layer_3_rubric_check">
|
|
151
|
+
**Run Rubric Check (Requirements):**
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
## Layer 3: Rubric Check
|
|
155
|
+
|
|
156
|
+
### Required Elements
|
|
157
|
+
[Based on document type and venue requirements]
|
|
158
|
+
|
|
159
|
+
- [ ] [Required element 1]: [present/missing]
|
|
160
|
+
- [ ] [Required element 2]: [present/missing]
|
|
161
|
+
[Check all required elements for this section type]
|
|
162
|
+
|
|
163
|
+
### Word Count
|
|
164
|
+
Target: [from ROADMAP.md]
|
|
165
|
+
Actual: [count from written content]
|
|
166
|
+
Status: [within range / over / under by X%]
|
|
167
|
+
|
|
168
|
+
### Formatting
|
|
169
|
+
- [ ] Heading levels correct
|
|
170
|
+
- [ ] Figure/table formatting (if applicable)
|
|
171
|
+
- [ ] Reference style consistent
|
|
172
|
+
|
|
173
|
+
### Section-Specific Requirements
|
|
174
|
+
[Based on section type - e.g., for Methods:]
|
|
175
|
+
- [ ] Participants/setting described
|
|
176
|
+
- [ ] Procedure clear
|
|
177
|
+
- [ ] Measures defined
|
|
178
|
+
- [ ] Analysis approach stated
|
|
179
|
+
```
|
|
180
|
+
</step>
|
|
181
|
+
|
|
182
|
+
<step name="collect_issues">
|
|
183
|
+
**Collect and categorize all issues:**
|
|
184
|
+
|
|
185
|
+
For each issue identified across three layers:
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
### Issue Summary
|
|
189
|
+
|
|
190
|
+
**Layer 1 (Citation) Issues:**
|
|
191
|
+
- [Issue]: [Severity] - [Brief description]
|
|
192
|
+
|
|
193
|
+
**Layer 2 (Coherence) Issues:**
|
|
194
|
+
- [Issue]: [Severity] - [Brief description]
|
|
195
|
+
|
|
196
|
+
**Layer 3 (Rubric) Issues:**
|
|
197
|
+
- [Issue]: [Severity] - [Brief description]
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Severity levels:
|
|
201
|
+
- **Critical** — Must fix before submission (factual error, missing required element)
|
|
202
|
+
- **Major** — Should fix (logical gap, weak support)
|
|
203
|
+
- **Minor** — Consider fixing (polish, enhancement)
|
|
204
|
+
- **Note** — Awareness item (not blocking)
|
|
205
|
+
</step>
|
|
206
|
+
|
|
207
|
+
<step name="log_issues">
|
|
208
|
+
**Log issues to section file if found:**
|
|
209
|
+
|
|
210
|
+
If any Critical or Major issues:
|
|
211
|
+
|
|
212
|
+
Create `.planning/sections/XX-name/{section}-ISSUES.md`:
|
|
213
|
+
|
|
214
|
+
```markdown
|
|
215
|
+
# Section [X] Verification Issues
|
|
216
|
+
|
|
217
|
+
## Summary
|
|
218
|
+
- Critical: [N]
|
|
219
|
+
- Major: [N]
|
|
220
|
+
- Minor: [N]
|
|
221
|
+
|
|
222
|
+
## Critical Issues
|
|
223
|
+
|
|
224
|
+
### CRIT-001: [Brief description]
|
|
225
|
+
**Layer:** [Citation/Coherence/Rubric]
|
|
226
|
+
**Location:** [paragraph/claim/element]
|
|
227
|
+
**Issue:** [Full description]
|
|
228
|
+
**Fix needed:** [What needs to change]
|
|
229
|
+
|
|
230
|
+
## Major Issues
|
|
231
|
+
|
|
232
|
+
### MAJ-001: [Brief description]
|
|
233
|
+
[Same format]
|
|
234
|
+
|
|
235
|
+
## Minor Issues
|
|
236
|
+
[List briefly]
|
|
237
|
+
|
|
238
|
+
## Verification Date
|
|
239
|
+
[Date of this review]
|
|
240
|
+
```
|
|
241
|
+
</step>
|
|
242
|
+
|
|
243
|
+
<step name="summarize">
|
|
244
|
+
**Present verification summary:**
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
# Verification Results: [Section Name]
|
|
248
|
+
|
|
249
|
+
## Layer Scores
|
|
250
|
+
- Citation Check: [PASS/ISSUES - N issues]
|
|
251
|
+
- Coherence Check: [PASS/ISSUES - N issues]
|
|
252
|
+
- Rubric Check: [PASS/ISSUES - N issues]
|
|
253
|
+
|
|
254
|
+
## Overall Status
|
|
255
|
+
|
|
256
|
+
[Based on issues found:]
|
|
257
|
+
- ALL PASS: "Section verified. Ready to proceed."
|
|
258
|
+
- MINOR ONLY: "Section solid with minor polish opportunities."
|
|
259
|
+
- MAJOR ISSUES: "Section needs revisions before proceeding."
|
|
260
|
+
- CRITICAL: "Critical issues found - must address before continuing."
|
|
261
|
+
|
|
262
|
+
## Issues by Priority
|
|
263
|
+
|
|
264
|
+
[If issues exist:]
|
|
265
|
+
**Must Fix:**
|
|
266
|
+
- [Critical issue 1]
|
|
267
|
+
- [Major issue 1]
|
|
268
|
+
|
|
269
|
+
**Should Fix:**
|
|
270
|
+
- [Major issue 2]
|
|
271
|
+
- [Minor issue 1]
|
|
272
|
+
|
|
273
|
+
**Consider:**
|
|
274
|
+
- [Minor issues]
|
|
275
|
+
|
|
276
|
+
## Next Steps
|
|
277
|
+
[Based on verdict:]
|
|
278
|
+
- If clean: Proceed to next section
|
|
279
|
+
- If issues: /wtfp:plan-revision to address
|
|
280
|
+
```
|
|
281
|
+
</step>
|
|
282
|
+
|
|
283
|
+
<step name="offer_next">
|
|
284
|
+
**Offer next actions based on results:**
|
|
285
|
+
|
|
286
|
+
Use AskUserQuestion:
|
|
287
|
+
- header: "Next"
|
|
288
|
+
- question: "What would you like to do?"
|
|
289
|
+
- options (based on results):
|
|
290
|
+
|
|
291
|
+
If all passed:
|
|
292
|
+
- "Continue to next section" — Proceed with confidence
|
|
293
|
+
- "Verify more" — Run additional checks
|
|
294
|
+
- "Done" — Finish verification session
|
|
295
|
+
|
|
296
|
+
If issues found:
|
|
297
|
+
- "Plan revision" — Create plan to fix issues (/wtfp:plan-revision)
|
|
298
|
+
- "Fix now" — Address issues immediately
|
|
299
|
+
- "Log and continue" — Issues logged, proceed anyway
|
|
300
|
+
- "Done" — Finish verification session
|
|
301
|
+
</step>
|
|
302
|
+
|
|
303
|
+
</process>
|
|
304
|
+
|
|
305
|
+
<verification_by_section_type>
|
|
306
|
+
**Different sections emphasize different checks:**
|
|
307
|
+
|
|
308
|
+
| Section | Citation Heavy | Coherence Heavy | Rubric Heavy |
|
|
309
|
+
|---------|---------------|-----------------|--------------|
|
|
310
|
+
| Abstract | Low | Medium | High (word limit) |
|
|
311
|
+
| Introduction | High (gap) | High (argument) | Medium |
|
|
312
|
+
| Related Work | Very High | High (synthesis) | Medium |
|
|
313
|
+
| Methods | Low | Medium | High (completeness) |
|
|
314
|
+
| Results | Low (own data) | Medium | High (all findings) |
|
|
315
|
+
| Discussion | High (context) | Very High | Medium |
|
|
316
|
+
|
|
317
|
+
Adjust verification emphasis accordingly.
|
|
318
|
+
</verification_by_section_type>
|
|
319
|
+
|
|
320
|
+
<success_criteria>
|
|
321
|
+
- [ ] Section/plan identified from SUMMARY.md
|
|
322
|
+
- [ ] Layer 1 (Citation) check completed
|
|
323
|
+
- [ ] Layer 2 (Coherence) issues identified for user verification
|
|
324
|
+
- [ ] Layer 3 (Rubric) check completed
|
|
325
|
+
- [ ] All issues categorized by severity
|
|
326
|
+
- [ ] Issues logged to section ISSUES.md if Critical/Major
|
|
327
|
+
- [ ] Summary presented with clear verdict
|
|
328
|
+
- [ ] User knows next steps based on results
|
|
329
|
+
</success_criteria>
|