@riotprompt/riotplan 1.0.4 → 1.0.5

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.
@@ -0,0 +1,187 @@
1
+ # Explore Idea
2
+
3
+ ## Purpose
4
+
5
+ Guide collaborative exploration of a new idea without premature commitment. This prompt helps capture initial thinking, constraints, and questions before moving to formal planning.
6
+
7
+ ## When to Use
8
+
9
+ - User mentions a new concept or feature
10
+ - Starting to think about a problem
11
+ - Not ready to commit to a full plan yet
12
+ - Want to capture thoughts and gather evidence
13
+
14
+ ## Workflow
15
+
16
+ ### 1. Create the Idea
17
+
18
+ Ask the user for:
19
+ - A short code/identifier (kebab-case)
20
+ - Initial description of the concept
21
+
22
+ Create the idea:
23
+ ```
24
+ riotplan_idea_create({
25
+ code: "feature-name",
26
+ description: "Initial concept description"
27
+ })
28
+ ```
29
+
30
+ ### 2. Explore Together
31
+
32
+ Ask open-ended questions:
33
+ - "What's driving this idea?"
34
+ - "What constraints should we consider?"
35
+ - "What questions need answering?"
36
+ - "Do you have any evidence (docs, diagrams, examples)?"
37
+
38
+ As the user responds, capture their thinking in TWO ways:
39
+
40
+ **FIRST: Capture the full narrative (preserve the raw conversation)**
41
+
42
+ When the user provides detailed responses, especially voice transcriptions or long explanations, capture the FULL TEXT as narrative:
43
+
44
+ ```
45
+ riotplan_idea_add_narrative({
46
+ content: "[User's complete response, verbatim or paraphrased if spoken]",
47
+ source: "voice", // or "typing", "paste", "import"
48
+ context: "User explaining document type requirements"
49
+ })
50
+ ```
51
+
52
+ **THEN: Extract structured information**
53
+
54
+ After capturing the narrative, extract key points into structured categories:
55
+
56
+ **For thoughts/notes:**
57
+ ```
58
+ riotplan_idea_add_note({
59
+ note: "User's thought or observation"
60
+ })
61
+ ```
62
+
63
+ **For constraints:**
64
+ ```
65
+ riotplan_idea_add_constraint({
66
+ constraint: "Must work on mobile"
67
+ })
68
+ ```
69
+
70
+ **For questions:**
71
+ ```
72
+ riotplan_idea_add_question({
73
+ question: "How will this integrate with existing API?"
74
+ })
75
+ ```
76
+
77
+ **For evidence:**
78
+ ```
79
+ riotplan_idea_add_evidence({
80
+ evidencePath: "./path/to/diagram.png",
81
+ description: "Architecture diagram showing current state"
82
+ })
83
+ ```
84
+
85
+ **Why Both?**
86
+ - Narrative preserves full context and nuance
87
+ - Structured data makes information actionable
88
+ - Timeline shows both the conversation and the decisions
89
+
90
+ ### 3. Decide Next Steps
91
+
92
+ After exploration, ask:
93
+ - "Does this feel worth pursuing?"
94
+ - "Are we ready to explore different approaches?" (→ shaping)
95
+ - "Should we set this aside for now?" (→ kill)
96
+
97
+ **If ready to shape:**
98
+ ```
99
+ riotplan_shaping_start()
100
+ ```
101
+
102
+ **If not viable:**
103
+ ```
104
+ riotplan_idea_kill({
105
+ reason: "Not feasible due to X"
106
+ })
107
+ ```
108
+
109
+ **If needs more time:**
110
+ Just leave it in idea stage. Can return later.
111
+
112
+ ## Key Principles
113
+
114
+ 1. **No Commitment**: Ideas don't obligate execution
115
+ 2. **Cheap Thinking**: Capture thoughts without formality
116
+ 3. **Evidence Gathering**: Collect supporting materials
117
+ 4. **Question-Driven**: Surface unknowns early
118
+
119
+ ## Example Conversation
120
+
121
+ **User**: "I'm thinking about adding real-time notifications"
122
+
123
+ **AI**: "Let's explore that idea. I'll create a lightweight idea to capture your thinking."
124
+
125
+ *Creates idea*
126
+
127
+ **AI**: "What's driving this? What problem does it solve?"
128
+
129
+ **User**: "Users miss important updates. They have to refresh constantly. It's frustrating for them and we're getting complaints. I think we need some kind of push notification system but I'm not sure if it should be in-app only or also email."
130
+
131
+ *Captures narrative first:*
132
+ ```
133
+ riotplan_idea_add_narrative({
134
+ content: "Users miss important updates. They have to refresh constantly. It's frustrating for them and we're getting complaints. I think we need some kind of push notification system but I'm not sure if it should be in-app only or also email.",
135
+ source: "typing",
136
+ context: "User explaining the problem driving this idea"
137
+ })
138
+ ```
139
+
140
+ *Then adds structured note:*
141
+ ```
142
+ riotplan_idea_add_note({
143
+ note: "Problem: Users missing updates, forced to refresh manually. Considering push notifications (in-app vs email unclear)"
144
+ })
145
+ ```
146
+
147
+ **AI**: "What constraints should we consider?"
148
+
149
+ **User**: "Must work on mobile. Can't require WebSockets everywhere. Also need to keep costs reasonable."
150
+
151
+ *Captures narrative and extracts constraints*
152
+
153
+ **AI**: "Good constraints. Any questions we need to answer?"
154
+
155
+ **User**: "How do we handle offline users? What's the latency requirement?"
156
+
157
+ *Adds questions*
158
+
159
+ **AI**: "Do you have any examples or diagrams of how this might work?"
160
+
161
+ **User**: "Here's a diagram from a similar system" [attaches image]
162
+
163
+ *Adds evidence*
164
+
165
+ **AI**: "This is taking shape. Ready to explore different approaches for implementation?"
166
+
167
+ **User**: "Yes, let's look at options"
168
+
169
+ *Transitions to shaping*
170
+
171
+ ## Anti-Patterns
172
+
173
+ ❌ Don't immediately jump to solutions
174
+ ❌ Don't create detailed plans yet
175
+ ❌ Don't pressure for commitment
176
+ ❌ Don't skip evidence gathering
177
+
178
+ ✅ Do ask open questions
179
+ ✅ Do capture all thinking
180
+ ✅ Do surface constraints early
181
+ ✅ Do gather supporting materials
182
+
183
+ ## Transition Criteria
184
+
185
+ **To Shaping**: User wants to explore implementation approaches
186
+ **To Kill**: Idea not viable or not worth pursuing
187
+ **Stay in Idea**: Need more time to think, not ready yet
@@ -0,0 +1,187 @@
1
+ # Shape Approach
2
+
3
+ ## Purpose
4
+
5
+ Collaboratively explore and compare different approaches to solving a problem before committing to detailed planning. This is where tradeoffs are surfaced and decisions are made.
6
+
7
+ ## When to Use
8
+
9
+ - Transitioning from idea to concrete planning
10
+ - Multiple valid approaches exist
11
+ - Significant tradeoffs to consider
12
+ - Need to align on direction before building
13
+
14
+ ## Workflow
15
+
16
+ ### 1. Start Shaping
17
+
18
+ Transition from idea:
19
+ ```
20
+ riotplan_shaping_start()
21
+ ```
22
+
23
+ ### 2. Identify Approaches
24
+
25
+ Ask the user:
26
+ - "What approaches could we take?"
27
+ - "What have you seen work elsewhere?"
28
+ - "What are the obvious options?"
29
+
30
+ For each approach, capture:
31
+ - Name (clear, descriptive)
32
+ - Description (what it is, how it works)
33
+ - Tradeoffs (pros and cons)
34
+ - Assumptions (what must be true)
35
+
36
+ ```
37
+ riotplan_shaping_add_approach({
38
+ name: "REST API with Polling",
39
+ description: "Traditional REST endpoints with client-side polling every 30s",
40
+ tradeoffs: [
41
+ "Pro: Simple, well understood by team",
42
+ "Pro: Works with existing infrastructure",
43
+ "Con: Higher latency (up to 30s)",
44
+ "Con: More server load from constant polling"
45
+ ],
46
+ assumptions: [
47
+ "30s latency is acceptable",
48
+ "Server can handle polling load"
49
+ ]
50
+ })
51
+ ```
52
+
53
+ ### 3. Gather Feedback
54
+
55
+ As you discuss approaches, capture the user's thinking:
56
+
57
+ ```
58
+ riotplan_shaping_add_feedback({
59
+ feedback: "Concerned about polling load. We have 10k active users. That's 333 requests/second just for notifications."
60
+ })
61
+ ```
62
+
63
+ ### 4. Add Evidence
64
+
65
+ Encourage evidence-based decision making:
66
+ - Performance benchmarks
67
+ - Architecture diagrams
68
+ - Code examples
69
+ - Similar systems
70
+ - Research papers
71
+
72
+ ```
73
+ riotplan_shaping_add_evidence({
74
+ evidencePath: "./benchmarks/polling-vs-websocket.md",
75
+ description: "Performance comparison from similar scale system",
76
+ relatedTo: "REST API with Polling"
77
+ })
78
+ ```
79
+
80
+ ### 5. Compare Approaches
81
+
82
+ When ready to decide:
83
+ ```
84
+ riotplan_shaping_compare()
85
+ ```
86
+
87
+ This shows all approaches side-by-side with their tradeoffs.
88
+
89
+ ### 6. Select Approach
90
+
91
+ Once aligned:
92
+ ```
93
+ riotplan_shaping_select({
94
+ approach: "Server-Sent Events (SSE)",
95
+ reason: "Balances real-time updates with infrastructure simplicity. Team has SSE experience. Lower server load than polling."
96
+ })
97
+ ```
98
+
99
+ ### 7. Transition to Built
100
+
101
+ After selection, transition to build detailed plan:
102
+ ```
103
+ riotplan_transition({
104
+ stage: "built",
105
+ reason: "Approach selected and validated"
106
+ })
107
+ ```
108
+
109
+ Now generate the detailed plan based on the shaped approach.
110
+
111
+ ## Key Principles
112
+
113
+ 1. **Multiple Options**: Always consider alternatives
114
+ 2. **Explicit Tradeoffs**: Surface pros and cons
115
+ 3. **Evidence-Based**: Use data, not opinions
116
+ 4. **Collaborative**: User drives decisions
117
+ 5. **No Premature Detail**: Stay high-level
118
+
119
+ ## Example Conversation
120
+
121
+ **User**: "Let's explore approaches for real-time notifications"
122
+
123
+ **AI**: "I'll start the shaping process. What approaches should we consider?"
124
+
125
+ **User**: "Polling, WebSockets, or Server-Sent Events"
126
+
127
+ **AI**: "Good options. Let's capture each with tradeoffs."
128
+
129
+ *Adds three approaches with tradeoffs*
130
+
131
+ **AI**: "Looking at these, what's your initial reaction?"
132
+
133
+ **User**: "Polling feels wasteful. WebSockets might be overkill. SSE is interesting but I'm not sure about browser support."
134
+
135
+ *Adds feedback*
136
+
137
+ **AI**: "Do you have any evidence about SSE browser support?"
138
+
139
+ **User**: "Let me check... here's caniuse data" [attaches link]
140
+
141
+ *Adds evidence*
142
+
143
+ **AI**: "SSE has 97% browser support. Given your concerns about polling waste and WebSocket complexity, SSE seems like a middle ground. Want to compare them side-by-side?"
144
+
145
+ **User**: "Yes"
146
+
147
+ *Shows comparison*
148
+
149
+ **AI**: "Which approach feels right?"
150
+
151
+ **User**: "SSE. It's simpler than WebSockets and more efficient than polling."
152
+
153
+ *Selects approach*
154
+
155
+ **AI**: "Great. Ready to build a detailed plan based on SSE?"
156
+
157
+ **User**: "Yes"
158
+
159
+ *Transitions to built, generates plan*
160
+
161
+ ## Anti-Patterns
162
+
163
+ ❌ Don't present only one approach
164
+ ❌ Don't hide tradeoffs
165
+ ❌ Don't make decisions for the user
166
+ ❌ Don't skip evidence gathering
167
+ ❌ Don't rush to detailed planning
168
+
169
+ ✅ Do explore multiple options
170
+ ✅ Do surface all tradeoffs
171
+ ✅ Do let user drive selection
172
+ ✅ Do gather supporting evidence
173
+ ✅ Do take time to align
174
+
175
+ ## Transition Criteria
176
+
177
+ **To Built**: Approach selected, ready for detailed planning
178
+ **Back to Idea**: Need to rethink the core concept
179
+ **Stay in Shaping**: More approaches to explore, more evidence needed
180
+
181
+ ## Tips
182
+
183
+ - Aim for 2-4 approaches (not too few, not overwhelming)
184
+ - Be honest about tradeoffs (every approach has downsides)
185
+ - Use evidence to resolve debates
186
+ - Document why alternatives were rejected
187
+ - Capture assumptions explicitly
@@ -0,0 +1,145 @@
1
+ # Track Progress Workflow
2
+
3
+ You are helping the user monitor plan progress, identify blockers, and maintain accurate status tracking throughout plan execution.
4
+
5
+ ## Your Task
6
+
7
+ Follow this workflow to track progress using the riotplan MCP tools and resources available to you.
8
+
9
+ ## Step 1: Check Overall Status
10
+
11
+ Use the `riotplan_status` tool to see high-level progress:
12
+
13
+ ```
14
+ {
15
+ "path": "${path}",
16
+ "verbose": false
17
+ }
18
+ ```
19
+
20
+ This shows:
21
+ - Completion percentage
22
+ - Current step number
23
+ - Active blockers and issues
24
+ - Overall plan state
25
+
26
+ Report this information to the user in a clear, concise format.
27
+
28
+ ## Step 2: Review Step Progress
29
+
30
+ Use the `riotplan_step_list` tool to see all steps:
31
+
32
+ ```
33
+ {
34
+ "path": "${path}",
35
+ "pending": false,
36
+ "all": true
37
+ }
38
+ ```
39
+
40
+ Or to see only remaining work:
41
+
42
+ ```
43
+ {
44
+ "path": "${path}",
45
+ "pending": true
46
+ }
47
+ ```
48
+
49
+ This provides:
50
+ - List of all steps with status
51
+ - Which steps are completed, in progress, or pending
52
+ - Step dependencies and ordering
53
+
54
+ Present this information to the user, highlighting:
55
+ - Completed steps (✅)
56
+ - Current step (🔄)
57
+ - Pending steps (⬜)
58
+ - Any blocked steps (⏸️)
59
+
60
+ ## Step 3: Identify Issues
61
+
62
+ Look for:
63
+ - Blockers in the status output
64
+ - Steps taking longer than expected
65
+ - Any issues or notes in STATUS.md
66
+
67
+ Inform the user about any problems found and suggest actions.
68
+
69
+ ## Step 4: Suggest Actions
70
+
71
+ Based on the progress review, suggest to the user:
72
+ - Which step to work on next
73
+ - Whether any steps need to be added or split
74
+ - If any blockers need to be addressed
75
+ - Whether the plan needs adjustment
76
+
77
+ ## Important Guidelines
78
+
79
+ - **Always use MCP tools** - Never shell out to CLI commands
80
+ - **Be clear and concise** - Present status information in an easy-to-understand format
81
+ - **Highlight issues** - Call attention to blockers or problems
82
+ - **Suggest next steps** - Help the user understand what to do next
83
+ - **Use resources** - Fetch status and steps resources for detailed information
84
+
85
+ ## Status Indicators
86
+
87
+ When presenting status to the user, use these indicators:
88
+
89
+ | Symbol | Status | Meaning |
90
+ |--------|--------|---------|
91
+ | ⬜ | Pending | Not yet started |
92
+ | 🔄 | In Progress | Currently being worked on |
93
+ | ✅ | Completed | Done and verified |
94
+ | ❌ | Failed | Attempted but failed |
95
+ | ⏸️ | Blocked | Waiting on dependency or external factor |
96
+ | ⏭️ | Skipped | Intentionally skipped |
97
+
98
+ ## Handling Blockers
99
+
100
+ When you identify a blocker:
101
+
102
+ 1. **Inform the User**
103
+ - Clearly explain what's blocking progress
104
+ - Note any dependencies or external factors
105
+ - Assess the impact on the overall plan
106
+
107
+ 2. **Suggest Actions**
108
+ - Can other steps proceed in parallel?
109
+ - What's needed to unblock?
110
+ - Should the plan be adjusted?
111
+
112
+ 3. **Document It**
113
+ - Help the user document the blocker in STATUS.md
114
+ - Track when it was identified and what's needed to resolve it
115
+
116
+ ## Adjusting Plans
117
+
118
+ If requirements emerge or steps need adjustment:
119
+
120
+ ### Adding Steps
121
+ Suggest using `riotplan_step_add`:
122
+
123
+ ```
124
+ {
125
+ "path": "${path}",
126
+ "title": "New Step Title",
127
+ "after": 5
128
+ }
129
+ ```
130
+
131
+ ### Splitting Large Steps
132
+ If a step is too complex, suggest breaking it into smaller steps using `riotplan_step_add`.
133
+
134
+ ## Example Workflow
135
+
136
+ Here's how you should execute this workflow:
137
+
138
+ 1. Call `riotplan_status` with path: "${path}"
139
+ 2. Present the status to the user clearly
140
+ 3. Call `riotplan_step_list` to show all steps
141
+ 4. Identify any issues or blockers
142
+ 5. Suggest next actions to the user
143
+ 6. If the user wants to adjust the plan, use `riotplan_step_add` or other tools
144
+
145
+ Remember: Always use MCP tools, never shell commands.