pmp-gywd 3.3.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 +27 -0
- package/README.md +567 -0
- package/bin/install.js +348 -0
- package/commands/gywd/add-phase.md +207 -0
- package/commands/gywd/anticipate.md +271 -0
- package/commands/gywd/bootstrap.md +336 -0
- package/commands/gywd/challenge.md +344 -0
- package/commands/gywd/check-drift.md +144 -0
- package/commands/gywd/complete-milestone.md +106 -0
- package/commands/gywd/consider-issues.md +202 -0
- package/commands/gywd/context.md +93 -0
- package/commands/gywd/create-roadmap.md +115 -0
- package/commands/gywd/deps.md +169 -0
- package/commands/gywd/digest.md +138 -0
- package/commands/gywd/discuss-milestone.md +47 -0
- package/commands/gywd/discuss-phase.md +60 -0
- package/commands/gywd/execute-plan.md +161 -0
- package/commands/gywd/extract-decisions.md +325 -0
- package/commands/gywd/health.md +150 -0
- package/commands/gywd/help.md +556 -0
- package/commands/gywd/history.md +278 -0
- package/commands/gywd/impact.md +317 -0
- package/commands/gywd/init.md +95 -0
- package/commands/gywd/insert-phase.md +227 -0
- package/commands/gywd/list-phase-assumptions.md +50 -0
- package/commands/gywd/map-codebase.md +84 -0
- package/commands/gywd/memory.md +159 -0
- package/commands/gywd/new-milestone.md +59 -0
- package/commands/gywd/new-project.md +315 -0
- package/commands/gywd/pause-work.md +123 -0
- package/commands/gywd/plan-fix.md +205 -0
- package/commands/gywd/plan-phase.md +93 -0
- package/commands/gywd/preview-plan.md +139 -0
- package/commands/gywd/profile.md +363 -0
- package/commands/gywd/progress.md +317 -0
- package/commands/gywd/remove-phase.md +338 -0
- package/commands/gywd/research-phase.md +91 -0
- package/commands/gywd/resume-work.md +40 -0
- package/commands/gywd/rollback.md +179 -0
- package/commands/gywd/status.md +42 -0
- package/commands/gywd/sync-github.md +234 -0
- package/commands/gywd/verify-work.md +71 -0
- package/commands/gywd/why.md +251 -0
- package/docs/COMMANDS.md +722 -0
- package/docs/CONTRIBUTING.md +342 -0
- package/docs/EXAMPLES.md +535 -0
- package/docs/GETTING-STARTED.md +262 -0
- package/docs/README.md +55 -0
- package/docs/RELEASING.md +159 -0
- package/get-your-work-done/core/agent-patterns.md +331 -0
- package/get-your-work-done/core/architecture.md +334 -0
- package/get-your-work-done/core/context-model-schema.json +154 -0
- package/get-your-work-done/core/decisions-schema.json +193 -0
- package/get-your-work-done/core/learning-state-schema.json +133 -0
- package/get-your-work-done/core/profile-schema.json +257 -0
- package/get-your-work-done/references/adaptive-decomposition.md +175 -0
- package/get-your-work-done/references/checkpoints.md +287 -0
- package/get-your-work-done/references/confidence-scoring.md +169 -0
- package/get-your-work-done/references/continuation-format.md +255 -0
- package/get-your-work-done/references/git-integration.md +254 -0
- package/get-your-work-done/references/plan-format.md +428 -0
- package/get-your-work-done/references/principles.md +157 -0
- package/get-your-work-done/references/questioning.md +162 -0
- package/get-your-work-done/references/research-pitfalls.md +215 -0
- package/get-your-work-done/references/scope-estimation.md +172 -0
- package/get-your-work-done/references/tdd.md +263 -0
- package/get-your-work-done/templates/codebase/architecture.md +255 -0
- package/get-your-work-done/templates/codebase/concerns.md +310 -0
- package/get-your-work-done/templates/codebase/conventions.md +307 -0
- package/get-your-work-done/templates/codebase/integrations.md +280 -0
- package/get-your-work-done/templates/codebase/stack.md +186 -0
- package/get-your-work-done/templates/codebase/structure.md +285 -0
- package/get-your-work-done/templates/codebase/testing.md +480 -0
- package/get-your-work-done/templates/config.json +18 -0
- package/get-your-work-done/templates/context.md +161 -0
- package/get-your-work-done/templates/continue-here.md +78 -0
- package/get-your-work-done/templates/discovery.md +146 -0
- package/get-your-work-done/templates/issues.md +32 -0
- package/get-your-work-done/templates/milestone-archive.md +123 -0
- package/get-your-work-done/templates/milestone-context.md +93 -0
- package/get-your-work-done/templates/milestone.md +115 -0
- package/get-your-work-done/templates/phase-prompt.md +303 -0
- package/get-your-work-done/templates/project.md +184 -0
- package/get-your-work-done/templates/research.md +529 -0
- package/get-your-work-done/templates/roadmap.md +196 -0
- package/get-your-work-done/templates/state.md +210 -0
- package/get-your-work-done/templates/summary.md +273 -0
- package/get-your-work-done/templates/uat-issues.md +143 -0
- package/get-your-work-done/workflows/complete-milestone.md +643 -0
- package/get-your-work-done/workflows/create-milestone.md +416 -0
- package/get-your-work-done/workflows/create-roadmap.md +481 -0
- package/get-your-work-done/workflows/discovery-phase.md +293 -0
- package/get-your-work-done/workflows/discuss-milestone.md +236 -0
- package/get-your-work-done/workflows/discuss-phase.md +247 -0
- package/get-your-work-done/workflows/execute-phase.md +1625 -0
- package/get-your-work-done/workflows/list-phase-assumptions.md +178 -0
- package/get-your-work-done/workflows/map-codebase.md +434 -0
- package/get-your-work-done/workflows/plan-phase.md +488 -0
- package/get-your-work-done/workflows/research-phase.md +436 -0
- package/get-your-work-done/workflows/resume-project.md +287 -0
- package/get-your-work-done/workflows/transition.md +580 -0
- package/get-your-work-done/workflows/verify-work.md +202 -0
- package/lib/automation/dependency-analyzer.js +635 -0
- package/lib/automation/doc-generator.js +643 -0
- package/lib/automation/index.js +42 -0
- package/lib/automation/test-generator.js +628 -0
- package/lib/context/context-analyzer.js +554 -0
- package/lib/context/context-cache.js +426 -0
- package/lib/context/context-predictor.js +622 -0
- package/lib/context/index.js +44 -0
- package/lib/memory/confidence-calibrator.js +484 -0
- package/lib/memory/feedback-collector.js +551 -0
- package/lib/memory/global-memory.js +465 -0
- package/lib/memory/index.js +75 -0
- package/lib/memory/pattern-aggregator.js +487 -0
- package/lib/memory/team-sync.js +501 -0
- package/lib/profile/index.js +24 -0
- package/lib/profile/pattern-learner.js +303 -0
- package/lib/profile/profile-manager.js +445 -0
- package/lib/questioning/index.js +49 -0
- package/lib/questioning/question-engine.js +311 -0
- package/lib/questioning/question-templates.js +315 -0
- package/lib/validators/command-validator.js +188 -0
- package/lib/validators/index.js +29 -0
- package/lib/validators/schema-validator.js +183 -0
- package/package.json +61 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
<principles>
|
|
2
|
+
Core principles for the Gets Shit Done planning system.
|
|
3
|
+
|
|
4
|
+
<solo_developer_claude>
|
|
5
|
+
|
|
6
|
+
You are planning for ONE person (the user) and ONE implementer (Claude).
|
|
7
|
+
- No teams, stakeholders, ceremonies, coordination overhead
|
|
8
|
+
- User is the visionary/product owner
|
|
9
|
+
- Claude is the builder
|
|
10
|
+
- Estimate effort in Claude execution time, not human dev time
|
|
11
|
+
</solo_developer_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 and why)
|
|
18
|
+
- Context (@file references)
|
|
19
|
+
- Tasks (with verification criteria)
|
|
20
|
+
- Success criteria (measurable)
|
|
21
|
+
|
|
22
|
+
When planning a phase, you are writing the prompt that will execute it.
|
|
23
|
+
</plans_are_prompts>
|
|
24
|
+
|
|
25
|
+
<initialization_leverage>
|
|
26
|
+
|
|
27
|
+
The most leveraged moment is project initialization.
|
|
28
|
+
- Deep questioning here = better everything downstream
|
|
29
|
+
- Garbage in = garbage out
|
|
30
|
+
- Spend the tokens on context gathering
|
|
31
|
+
- Don't rush to "the work"
|
|
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
|
|
40
|
+
- 30-50% context: Good quality
|
|
41
|
+
- 50-70% context: Degrading quality
|
|
42
|
+
- 70%+ context: Poor quality
|
|
43
|
+
|
|
44
|
+
**Solution:** Aggressive atomicity - split into small, focused plans.
|
|
45
|
+
- 2-3 tasks per plan maximum
|
|
46
|
+
- Each plan independently executable
|
|
47
|
+
- Better to have many small plans than few large ones
|
|
48
|
+
</scope_control>
|
|
49
|
+
|
|
50
|
+
<claude_automates>
|
|
51
|
+
|
|
52
|
+
If Claude CAN do it via CLI/API/tool, Claude MUST do it.
|
|
53
|
+
|
|
54
|
+
Checkpoints are for:
|
|
55
|
+
- **Verification** - Human confirms Claude's work (visual, UX)
|
|
56
|
+
- **Decision** - Human makes implementation choice
|
|
57
|
+
|
|
58
|
+
Not for:
|
|
59
|
+
- Deploying (use CLI)
|
|
60
|
+
- Creating resources (use CLI/API)
|
|
61
|
+
- Running builds/tests (use Bash)
|
|
62
|
+
- Writing files (use Write tool)
|
|
63
|
+
</claude_automates>
|
|
64
|
+
|
|
65
|
+
<deviation_rules>
|
|
66
|
+
|
|
67
|
+
Plans are guides, not straitjackets. During execution:
|
|
68
|
+
|
|
69
|
+
1. **Auto-fix bugs** - Fix immediately, document
|
|
70
|
+
2. **Auto-add critical** - Security/correctness gaps, add immediately
|
|
71
|
+
3. **Auto-fix blockers** - Can't proceed, fix immediately
|
|
72
|
+
4. **Ask about architectural** - Major changes, stop and ask
|
|
73
|
+
5. **Log enhancements** - Nice-to-haves, log to Issues, continue
|
|
74
|
+
</deviation_rules>
|
|
75
|
+
|
|
76
|
+
<test_driven_when_beneficial>
|
|
77
|
+
|
|
78
|
+
Use TDD when the work WOULD benefit from it. Not dogma—pragmatism.
|
|
79
|
+
|
|
80
|
+
**TDD candidates (create dedicated TDD plan):**
|
|
81
|
+
- Business logic with defined inputs/outputs
|
|
82
|
+
- API endpoints and handlers
|
|
83
|
+
- Data transformations and parsing
|
|
84
|
+
- Validation rules
|
|
85
|
+
- State machines and workflows
|
|
86
|
+
- Anything where you can describe expected behavior before implementing
|
|
87
|
+
|
|
88
|
+
**Skip TDD (use standard plan):**
|
|
89
|
+
- UI layout and styling
|
|
90
|
+
- Exploratory prototyping
|
|
91
|
+
- One-off scripts and migrations
|
|
92
|
+
- Configuration changes
|
|
93
|
+
- Glue code with no logic
|
|
94
|
+
|
|
95
|
+
**Decision heuristic:**
|
|
96
|
+
Can you write `expect(fn(input)).toBe(output)` before writing `fn`?
|
|
97
|
+
→ Yes: Create a TDD plan (one feature per plan)
|
|
98
|
+
→ No: Standard plan, add tests after if needed
|
|
99
|
+
|
|
100
|
+
**Why TDD gets its own plan:**
|
|
101
|
+
TDD requires 2-3 execution cycles (RED → GREEN → REFACTOR), each with file reads, test runs, and potential debugging. This consumes 40-50% of context for a single feature. Dedicated TDD plans ensure full quality throughout the cycle.
|
|
102
|
+
|
|
103
|
+
**TDD plan structure:**
|
|
104
|
+
1. Write failing test (RED) → commit
|
|
105
|
+
2. Implement to pass (GREEN) → commit
|
|
106
|
+
3. Refactor if needed → commit
|
|
107
|
+
|
|
108
|
+
This is about design quality, not test coverage metrics.
|
|
109
|
+
|
|
110
|
+
See `~/.claude/get-your-work-done/references/tdd.md` for TDD plan structure.
|
|
111
|
+
</test_driven_when_beneficial>
|
|
112
|
+
|
|
113
|
+
<ship_fast>
|
|
114
|
+
|
|
115
|
+
No enterprise process. No approval gates.
|
|
116
|
+
|
|
117
|
+
Plan → Execute → Ship → Learn → Repeat
|
|
118
|
+
|
|
119
|
+
Milestones mark shipped versions (v1.0 → v1.1 → v2.0).
|
|
120
|
+
</ship_fast>
|
|
121
|
+
|
|
122
|
+
<atomic_commits>
|
|
123
|
+
|
|
124
|
+
**Git commits = context engineering for Claude.**
|
|
125
|
+
|
|
126
|
+
Each task gets its own commit immediately after completion:
|
|
127
|
+
- Format: `{type}({phase}-{plan}): {task-description}`
|
|
128
|
+
- Types: feat, fix, test, refactor, perf, chore, docs
|
|
129
|
+
- One final metadata commit per plan: `docs({phase}-{plan}): complete [plan-name]`
|
|
130
|
+
|
|
131
|
+
**Why per-task commits:**
|
|
132
|
+
- Git history becomes primary context source for future Claude sessions
|
|
133
|
+
- `git bisect` finds exact failing task, not just failing plan
|
|
134
|
+
- Each task independently revertable
|
|
135
|
+
- Better failure recovery (task 1 committed ✅, retry task 2)
|
|
136
|
+
- Observability optimized for AI workflow, not human browsing
|
|
137
|
+
|
|
138
|
+
**Plans produce 3-4 commits total:**
|
|
139
|
+
- 2-3 task commits (working code)
|
|
140
|
+
- 1 metadata commit (SUMMARY + STATE + ROADMAP)
|
|
141
|
+
|
|
142
|
+
See `~/.claude/get-your-work-done/references/git-integration.md` for complete strategy.
|
|
143
|
+
</atomic_commits>
|
|
144
|
+
|
|
145
|
+
<anti_enterprise>
|
|
146
|
+
|
|
147
|
+
NEVER include:
|
|
148
|
+
- Team structures, RACI matrices
|
|
149
|
+
- Stakeholder management
|
|
150
|
+
- Sprint ceremonies
|
|
151
|
+
- Human dev time estimates (hours, days, weeks—Claude works differently)
|
|
152
|
+
- Change management processes
|
|
153
|
+
- Documentation for documentation's sake
|
|
154
|
+
|
|
155
|
+
If it sounds like corporate PM theater, delete it.
|
|
156
|
+
</anti_enterprise>
|
|
157
|
+
</principles>
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
<questioning_guide>
|
|
2
|
+
The initialization phase is dream extraction, not requirements gathering. You're helping the user discover and articulate what they want to build. This isn't a contract negotiation — it's collaborative thinking.
|
|
3
|
+
|
|
4
|
+
<philosophy>
|
|
5
|
+
**You are a thinking partner, not an interviewer.**
|
|
6
|
+
|
|
7
|
+
The user often has a fuzzy idea. Your job is to help them sharpen it. Ask questions that make them think "oh, I hadn't considered that" or "yes, that's exactly what I mean."
|
|
8
|
+
|
|
9
|
+
Don't interrogate. Collaborate.
|
|
10
|
+
</philosophy>
|
|
11
|
+
|
|
12
|
+
<critical_rule>
|
|
13
|
+
**ALL questions MUST use AskUserQuestion.**
|
|
14
|
+
|
|
15
|
+
Never ask questions inline as plain text. Every exploration question uses the AskUserQuestion tool with thoughtful options that help the user articulate their vision.
|
|
16
|
+
|
|
17
|
+
This applies to:
|
|
18
|
+
- Opening questions ("What do you want to build?")
|
|
19
|
+
- Follow-up questions ("You mentioned X — what would that look like?")
|
|
20
|
+
- Sharpening questions ("What's essential vs nice-to-have?")
|
|
21
|
+
- Boundary questions ("What's out of scope?")
|
|
22
|
+
- Decision gates ("Ready to proceed?")
|
|
23
|
+
|
|
24
|
+
The AskUserQuestion format helps users think by presenting concrete options to react to, rather than facing a blank text field.
|
|
25
|
+
</critical_rule>
|
|
26
|
+
|
|
27
|
+
<conversation_arc>
|
|
28
|
+
**1. Open**
|
|
29
|
+
|
|
30
|
+
Use AskUserQuestion:
|
|
31
|
+
- header: "Vision"
|
|
32
|
+
- question: "What do you want to build?"
|
|
33
|
+
- options: Contextual starting points if available, otherwise broad categories + "Let me describe it"
|
|
34
|
+
|
|
35
|
+
Let them respond. Then follow up based on what they said.
|
|
36
|
+
|
|
37
|
+
**2. Follow the thread**
|
|
38
|
+
|
|
39
|
+
Whatever they said — dig into it. What excited them? What problem sparked this?
|
|
40
|
+
|
|
41
|
+
Use AskUserQuestion with options that probe what they mentioned:
|
|
42
|
+
- header: "[Topic they mentioned]"
|
|
43
|
+
- question: "You mentioned [X] — what would that actually look like?"
|
|
44
|
+
- options: 2-3 interpretations of what they might mean + "Something else"
|
|
45
|
+
|
|
46
|
+
**3. Sharpen the core**
|
|
47
|
+
|
|
48
|
+
Help them distinguish the essential from the nice-to-have.
|
|
49
|
+
|
|
50
|
+
Use AskUserQuestion:
|
|
51
|
+
- header: "Core"
|
|
52
|
+
- question: "If you could only nail one thing, what would it be?"
|
|
53
|
+
- options: Key features/aspects they've mentioned + "All equally important" + "Something else"
|
|
54
|
+
|
|
55
|
+
**4. Find the boundaries**
|
|
56
|
+
|
|
57
|
+
What is this NOT? Explicit exclusions prevent scope creep later.
|
|
58
|
+
|
|
59
|
+
Use AskUserQuestion:
|
|
60
|
+
- header: "Scope"
|
|
61
|
+
- question: "What's explicitly NOT in v1?"
|
|
62
|
+
- options: Things that might be tempting to include + "Nothing specific" + "Let me list them"
|
|
63
|
+
|
|
64
|
+
**5. Ground in reality**
|
|
65
|
+
|
|
66
|
+
Only ask about constraints that actually exist. Don't invent concerns.
|
|
67
|
+
|
|
68
|
+
Use AskUserQuestion:
|
|
69
|
+
- header: "Constraints"
|
|
70
|
+
- question: "Any hard constraints?"
|
|
71
|
+
- options: Common constraint types relevant to context + "None" + "Yes, let me explain"
|
|
72
|
+
</conversation_arc>
|
|
73
|
+
|
|
74
|
+
<good_vs_bad>
|
|
75
|
+
**BAD — Inline text questions:**
|
|
76
|
+
- Asking "What is your target audience?" as plain text
|
|
77
|
+
- Free-form "Tell me more about X" without options
|
|
78
|
+
- Any question that leaves the user staring at a blank input
|
|
79
|
+
|
|
80
|
+
**GOOD — AskUserQuestion with options:**
|
|
81
|
+
- header: "Audience"
|
|
82
|
+
- question: "Who is this for?"
|
|
83
|
+
- options: ["Just me", "My team", "Public users", "Let me describe"]
|
|
84
|
+
|
|
85
|
+
**BAD — Corporate speak:**
|
|
86
|
+
- "What are your success criteria?"
|
|
87
|
+
- "What's your budget?"
|
|
88
|
+
- "Have you done X before?" (irrelevant — Claude builds)
|
|
89
|
+
|
|
90
|
+
**GOOD — Concrete options that help them think:**
|
|
91
|
+
- header: "Done"
|
|
92
|
+
- question: "How will you know this is working?"
|
|
93
|
+
- options: ["I'm using it daily", "Specific metric improves", "Replaces current workflow", "Let me describe"]
|
|
94
|
+
|
|
95
|
+
**BAD — Checklist walking:**
|
|
96
|
+
- Ask about audience → ask about constraints → ask about tech stack (regardless of what user said)
|
|
97
|
+
|
|
98
|
+
**GOOD — Following threads with targeted options:**
|
|
99
|
+
- User mentions frustration → AskUserQuestion with specific frustration interpretations as options → their selection reveals the core value prop
|
|
100
|
+
</good_vs_bad>
|
|
101
|
+
|
|
102
|
+
<probing_techniques>
|
|
103
|
+
When answers are vague, don't accept them. Probe with AskUserQuestion:
|
|
104
|
+
|
|
105
|
+
**"Make it good"** →
|
|
106
|
+
- header: "Good"
|
|
107
|
+
- question: "What does 'good' mean here?"
|
|
108
|
+
- options: ["Fast", "Beautiful", "Simple", "Reliable", "Let me describe"]
|
|
109
|
+
|
|
110
|
+
**"Users"** →
|
|
111
|
+
- header: "Users"
|
|
112
|
+
- question: "Which users?"
|
|
113
|
+
- options: ["Just me", "My team", "Specific type of person", "Let me describe"]
|
|
114
|
+
|
|
115
|
+
**"It should be easy to use"** →
|
|
116
|
+
- header: "Easy"
|
|
117
|
+
- question: "Easy how?"
|
|
118
|
+
- options: ["Fewer clicks", "No learning curve", "Works on mobile", "Let me describe"]
|
|
119
|
+
|
|
120
|
+
Specifics are everything. Vague in = vague out.
|
|
121
|
+
</probing_techniques>
|
|
122
|
+
|
|
123
|
+
<coverage_check>
|
|
124
|
+
By the end of questioning, you should understand:
|
|
125
|
+
|
|
126
|
+
- [ ] What they're building (the thing)
|
|
127
|
+
- [ ] Why it needs to exist (the motivation)
|
|
128
|
+
- [ ] Who it's for (even if just themselves)
|
|
129
|
+
- [ ] What "done" looks like (measurable outcome)
|
|
130
|
+
- [ ] What's NOT in scope (boundaries)
|
|
131
|
+
- [ ] Any real constraints (tech, timeline, compatibility)
|
|
132
|
+
- [ ] What exists already (greenfield vs brownfield)
|
|
133
|
+
|
|
134
|
+
If gaps remain, weave questions naturally into the conversation. Don't suddenly switch to checklist mode.
|
|
135
|
+
</coverage_check>
|
|
136
|
+
|
|
137
|
+
<decision_gate>
|
|
138
|
+
When you feel you understand the vision, use AskUserQuestion:
|
|
139
|
+
|
|
140
|
+
- header: "Ready?"
|
|
141
|
+
- question: "Ready to create PROJECT.md, or explore more?"
|
|
142
|
+
- options (ALL THREE REQUIRED):
|
|
143
|
+
- "Create PROJECT.md" - Finalize and continue
|
|
144
|
+
- "Ask more questions" - I'll dig into areas we haven't covered
|
|
145
|
+
- "Let me add context" - You have more to share
|
|
146
|
+
|
|
147
|
+
If "Ask more questions" → identify gaps from coverage check → ask naturally → return to gate.
|
|
148
|
+
|
|
149
|
+
Loop until "Create PROJECT.md" selected.
|
|
150
|
+
</decision_gate>
|
|
151
|
+
|
|
152
|
+
<anti_patterns>
|
|
153
|
+
- **Interrogation** - Firing questions without building on answers
|
|
154
|
+
- **Checklist walking** - Going through domains regardless of conversation flow
|
|
155
|
+
- **Corporate speak** - "What are your success criteria?" "Who are your stakeholders?"
|
|
156
|
+
- **Rushing** - Minimizing questions to get to "the work"
|
|
157
|
+
- **Assuming** - Filling gaps with assumptions instead of asking
|
|
158
|
+
- **User skills** - NEVER ask about user's technical experience. Claude builds — user's skills are irrelevant.
|
|
159
|
+
- **Premature constraints** - Asking about tech stack before understanding the idea
|
|
160
|
+
- **Shallow acceptance** - Taking vague answers without probing for specifics
|
|
161
|
+
</anti_patterns>
|
|
162
|
+
</questioning_guide>
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
<research_pitfalls>
|
|
2
|
+
|
|
3
|
+
<purpose>
|
|
4
|
+
This document catalogs research mistakes discovered in production use, providing specific patterns to avoid and verification strategies to prevent recurrence.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<known_pitfalls>
|
|
8
|
+
|
|
9
|
+
<pitfall_config_scope>
|
|
10
|
+
**What**: Assuming global configuration means no project-scoping exists
|
|
11
|
+
**Example**: Concluding "MCP servers are configured GLOBALLY only" while missing project-scoped `.mcp.json`
|
|
12
|
+
**Why it happens**: Not explicitly checking all known configuration patterns
|
|
13
|
+
**Prevention**:
|
|
14
|
+
```xml
|
|
15
|
+
<verification_checklist>
|
|
16
|
+
**CRITICAL**: Verify ALL configuration scopes:
|
|
17
|
+
□ User/global scope - System-wide configuration
|
|
18
|
+
□ Project scope - Project-level configuration files
|
|
19
|
+
□ Local scope - Project-specific user overrides
|
|
20
|
+
□ Workspace scope - IDE/tool workspace settings
|
|
21
|
+
□ Environment scope - Environment variables
|
|
22
|
+
</verification_checklist>
|
|
23
|
+
```
|
|
24
|
+
</pitfall_config_scope>
|
|
25
|
+
|
|
26
|
+
<pitfall_search_vagueness>
|
|
27
|
+
**What**: Asking researchers to "search for documentation" without specifying where
|
|
28
|
+
**Example**: "Research MCP documentation" → finds outdated community blog instead of official docs
|
|
29
|
+
**Why it happens**: Vague research instructions don't specify exact sources
|
|
30
|
+
**Prevention**:
|
|
31
|
+
```xml
|
|
32
|
+
<sources>
|
|
33
|
+
Official sources (use WebFetch):
|
|
34
|
+
- https://exact-url-to-official-docs
|
|
35
|
+
- https://exact-url-to-api-reference
|
|
36
|
+
|
|
37
|
+
Search queries (use WebSearch):
|
|
38
|
+
- "specific search query {current_year}"
|
|
39
|
+
- "another specific query {current_year}"
|
|
40
|
+
</sources>
|
|
41
|
+
```
|
|
42
|
+
</pitfall_search_vagueness>
|
|
43
|
+
|
|
44
|
+
<pitfall_deprecated_features>
|
|
45
|
+
**What**: Finding archived/old documentation and concluding feature doesn't exist
|
|
46
|
+
**Example**: Finding 2022 docs saying "feature not supported" when current version added it
|
|
47
|
+
**Why it happens**: Not checking multiple sources or recent updates
|
|
48
|
+
**Prevention**:
|
|
49
|
+
```xml
|
|
50
|
+
<verification_checklist>
|
|
51
|
+
□ Check current official documentation
|
|
52
|
+
□ Review changelog/release notes for recent updates
|
|
53
|
+
□ Verify version numbers and publication dates
|
|
54
|
+
□ Cross-reference multiple authoritative sources
|
|
55
|
+
</verification_checklist>
|
|
56
|
+
```
|
|
57
|
+
</pitfall_deprecated_features>
|
|
58
|
+
|
|
59
|
+
<pitfall_tool_variations>
|
|
60
|
+
**What**: Conflating capabilities across different tools/environments
|
|
61
|
+
**Example**: "Claude Desktop supports X" ≠ "Claude Code supports X"
|
|
62
|
+
**Why it happens**: Not explicitly checking each environment separately
|
|
63
|
+
**Prevention**:
|
|
64
|
+
```xml
|
|
65
|
+
<verification_checklist>
|
|
66
|
+
□ Claude Desktop capabilities
|
|
67
|
+
□ Claude Code capabilities
|
|
68
|
+
□ VS Code extension capabilities
|
|
69
|
+
□ API/SDK capabilities
|
|
70
|
+
Document which environment supports which features
|
|
71
|
+
</verification_checklist>
|
|
72
|
+
```
|
|
73
|
+
</pitfall_tool_variations>
|
|
74
|
+
|
|
75
|
+
<pitfall_negative_claims>
|
|
76
|
+
**What**: Making definitive "X is not possible" statements without official source verification
|
|
77
|
+
**Example**: "Folder-scoped MCP configuration is not supported" (missing `.mcp.json`)
|
|
78
|
+
**Why it happens**: Drawing conclusions from absence of evidence rather than evidence of absence
|
|
79
|
+
**Prevention**:
|
|
80
|
+
```xml
|
|
81
|
+
<critical_claims_audit>
|
|
82
|
+
For any "X is not possible" or "Y is the only way" statement:
|
|
83
|
+
- [ ] Is this verified by official documentation stating it explicitly?
|
|
84
|
+
- [ ] Have I checked for recent updates that might change this?
|
|
85
|
+
- [ ] Have I verified all possible approaches/mechanisms?
|
|
86
|
+
- [ ] Am I confusing "I didn't find it" with "it doesn't exist"?
|
|
87
|
+
</critical_claims_audit>
|
|
88
|
+
```
|
|
89
|
+
</pitfall_negative_claims>
|
|
90
|
+
|
|
91
|
+
<pitfall_missing_enumeration>
|
|
92
|
+
**What**: Investigating open-ended scope without enumerating known possibilities first
|
|
93
|
+
**Example**: "Research configuration options" instead of listing specific options to verify
|
|
94
|
+
**Why it happens**: Not creating explicit checklist of items to investigate
|
|
95
|
+
**Prevention**:
|
|
96
|
+
```xml
|
|
97
|
+
<verification_checklist>
|
|
98
|
+
Enumerate ALL known options FIRST:
|
|
99
|
+
□ Option 1: [specific item]
|
|
100
|
+
□ Option 2: [specific item]
|
|
101
|
+
□ Option 3: [specific item]
|
|
102
|
+
□ Check for additional unlisted options
|
|
103
|
+
|
|
104
|
+
For each option above, document:
|
|
105
|
+
- Existence (confirmed/not found/unclear)
|
|
106
|
+
- Official source URL
|
|
107
|
+
- Current status (active/deprecated/beta)
|
|
108
|
+
</verification_checklist>
|
|
109
|
+
```
|
|
110
|
+
</pitfall_missing_enumeration>
|
|
111
|
+
|
|
112
|
+
<pitfall_single_source>
|
|
113
|
+
**What**: Relying on a single source for critical claims
|
|
114
|
+
**Example**: Using only Stack Overflow answer from 2021 for current best practices
|
|
115
|
+
**Why it happens**: Not cross-referencing multiple authoritative sources
|
|
116
|
+
**Prevention**:
|
|
117
|
+
```xml
|
|
118
|
+
<source_verification>
|
|
119
|
+
For critical claims, require multiple sources:
|
|
120
|
+
- [ ] Official documentation (primary)
|
|
121
|
+
- [ ] Release notes/changelog (for currency)
|
|
122
|
+
- [ ] Additional authoritative source (for verification)
|
|
123
|
+
- [ ] Contradiction check (ensure sources agree)
|
|
124
|
+
</source_verification>
|
|
125
|
+
```
|
|
126
|
+
</pitfall_single_source>
|
|
127
|
+
|
|
128
|
+
<pitfall_assumed_completeness>
|
|
129
|
+
**What**: Assuming search results are complete and authoritative
|
|
130
|
+
**Example**: First Google result is outdated but assumed current
|
|
131
|
+
**Why it happens**: Not verifying publication dates and source authority
|
|
132
|
+
**Prevention**:
|
|
133
|
+
```xml
|
|
134
|
+
<source_verification>
|
|
135
|
+
For each source consulted:
|
|
136
|
+
- [ ] Publication/update date verified (prefer recent/current)
|
|
137
|
+
- [ ] Source authority confirmed (official docs, not blogs)
|
|
138
|
+
- [ ] Version relevance checked (matches current version)
|
|
139
|
+
- [ ] Multiple search queries tried (not just one)
|
|
140
|
+
</source_verification>
|
|
141
|
+
```
|
|
142
|
+
</pitfall_assumed_completeness>
|
|
143
|
+
</known_pitfalls>
|
|
144
|
+
|
|
145
|
+
<red_flags>
|
|
146
|
+
|
|
147
|
+
<red_flag_zero_not_found>
|
|
148
|
+
**Warning**: Every investigation succeeds perfectly
|
|
149
|
+
**Problem**: Real research encounters dead ends, ambiguity, and unknowns
|
|
150
|
+
**Action**: Expect honest reporting of limitations, contradictions, and gaps
|
|
151
|
+
</red_flag_zero_not_found>
|
|
152
|
+
|
|
153
|
+
<red_flag_no_confidence>
|
|
154
|
+
**Warning**: All findings presented as equally certain
|
|
155
|
+
**Problem**: Can't distinguish verified facts from educated guesses
|
|
156
|
+
**Action**: Require confidence levels (High/Medium/Low) for key findings
|
|
157
|
+
</red_flag_no_confidence>
|
|
158
|
+
|
|
159
|
+
<red_flag_missing_urls>
|
|
160
|
+
**Warning**: "According to documentation..." without specific URL
|
|
161
|
+
**Problem**: Can't verify claims or check for updates
|
|
162
|
+
**Action**: Require actual URLs for all official documentation claims
|
|
163
|
+
</red_flag_missing_urls>
|
|
164
|
+
|
|
165
|
+
<red_flag_no_evidence>
|
|
166
|
+
**Warning**: "X cannot do Y" or "Z is the only way" without citation
|
|
167
|
+
**Problem**: Strong claims require strong evidence
|
|
168
|
+
**Action**: Flag for verification against official sources
|
|
169
|
+
</red_flag_no_evidence>
|
|
170
|
+
|
|
171
|
+
<red_flag_incomplete_enum>
|
|
172
|
+
**Warning**: Verification checklist lists 4 items, output covers 2
|
|
173
|
+
**Problem**: Systematic gaps in coverage
|
|
174
|
+
**Action**: Ensure all enumerated items addressed or marked "not found"
|
|
175
|
+
</red_flag_incomplete_enum>
|
|
176
|
+
</red_flags>
|
|
177
|
+
|
|
178
|
+
<continuous_improvement>
|
|
179
|
+
|
|
180
|
+
When research gaps occur:
|
|
181
|
+
|
|
182
|
+
1. **Document the gap**
|
|
183
|
+
- What was missed or incorrect?
|
|
184
|
+
- What was the actual correct information?
|
|
185
|
+
- What was the impact?
|
|
186
|
+
|
|
187
|
+
2. **Root cause analysis**
|
|
188
|
+
- Why wasn't it caught?
|
|
189
|
+
- Which verification step would have prevented it?
|
|
190
|
+
- What pattern does this reveal?
|
|
191
|
+
|
|
192
|
+
3. **Update this document**
|
|
193
|
+
- Add new pitfall entry
|
|
194
|
+
- Update relevant checklists
|
|
195
|
+
- Share lesson learned
|
|
196
|
+
</continuous_improvement>
|
|
197
|
+
|
|
198
|
+
<quick_reference>
|
|
199
|
+
|
|
200
|
+
Before submitting research, verify:
|
|
201
|
+
|
|
202
|
+
- [ ] All enumerated items investigated (not just some)
|
|
203
|
+
- [ ] Negative claims verified with official docs
|
|
204
|
+
- [ ] Multiple sources cross-referenced for critical claims
|
|
205
|
+
- [ ] URLs provided for all official documentation
|
|
206
|
+
- [ ] Publication dates checked (prefer recent/current)
|
|
207
|
+
- [ ] Tool/environment-specific variations documented
|
|
208
|
+
- [ ] Confidence levels assigned honestly
|
|
209
|
+
- [ ] Assumptions distinguished from verified facts
|
|
210
|
+
- [ ] "What might I have missed?" review completed
|
|
211
|
+
|
|
212
|
+
**Living Document**: Update after each significant research gap
|
|
213
|
+
**Lessons From**: MCP configuration research gap (missed `.mcp.json`)
|
|
214
|
+
</quick_reference>
|
|
215
|
+
</research_pitfalls>
|