@vfarcic/dot-ai 0.174.0 → 0.176.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/dist/core/user-prompts-loader.d.ts +66 -0
- package/dist/core/user-prompts-loader.d.ts.map +1 -0
- package/dist/core/user-prompts-loader.js +319 -0
- package/dist/interfaces/rest-api.d.ts +45 -0
- package/dist/interfaces/rest-api.d.ts.map +1 -1
- package/dist/interfaces/rest-api.js +286 -0
- package/dist/tools/prompts.d.ts +21 -3
- package/dist/tools/prompts.d.ts.map +1 -1
- package/dist/tools/prompts.js +166 -26
- package/dist/tools/query.d.ts +13 -0
- package/dist/tools/query.d.ts.map +1 -1
- package/dist/tools/query.js +33 -1
- package/package.json +1 -1
- package/prompts/visualize-query.md +113 -0
- package/shared-prompts/prd-create.md +1 -3
- package/shared-prompts/prd-next.md +6 -6
- package/shared-prompts/prd-start.md +54 -112
- package/shared-prompts/prd-update-progress.md +2 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/tools/query.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/tools/query.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,sBAAsB,iWAAuV,CAAC;AAG3X,eAAO,MAAM,uBAAuB;;;CAGnC,CAAC;AAGF,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,KAAK,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,GAAG,CAAC;QACX,MAAM,EAAE,GAAG,CAAC;KACb,CAAC,CAAC;CACJ;AAGD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AA8ED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAsI7D"}
|
package/dist/tools/query.js
CHANGED
|
@@ -49,6 +49,7 @@ const ai_provider_factory_1 = require("../core/ai-provider-factory");
|
|
|
49
49
|
const capability_tools_1 = require("../core/capability-tools");
|
|
50
50
|
const resource_tools_1 = require("../core/resource-tools");
|
|
51
51
|
const kubectl_tools_1 = require("../core/kubectl-tools");
|
|
52
|
+
const generic_session_manager_1 = require("../core/generic-session-manager");
|
|
52
53
|
const fs = __importStar(require("fs"));
|
|
53
54
|
const path = __importStar(require("path"));
|
|
54
55
|
// Tool metadata for MCP registration
|
|
@@ -59,6 +60,19 @@ exports.QUERY_TOOL_INPUT_SCHEMA = {
|
|
|
59
60
|
intent: zod_1.z.string().min(1).max(1000).describe('Natural language query about the cluster'),
|
|
60
61
|
interaction_id: zod_1.z.string().optional().describe('INTERNAL ONLY - Do not populate. Used for evaluation dataset generation.')
|
|
61
62
|
};
|
|
63
|
+
/**
|
|
64
|
+
* Get visualization URL if WEB_UI_BASE_URL is configured
|
|
65
|
+
* PRD #317: Feature toggle - only include URL when env var is set
|
|
66
|
+
*/
|
|
67
|
+
function getVisualizationUrl(sessionId) {
|
|
68
|
+
const baseUrl = process.env.WEB_UI_BASE_URL;
|
|
69
|
+
if (!baseUrl) {
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
// Remove trailing slash if present, then append /v/{sessionId}
|
|
73
|
+
const normalizedBaseUrl = baseUrl.replace(/\/$/, '');
|
|
74
|
+
return `${normalizedBaseUrl}/v/${sessionId}`;
|
|
75
|
+
}
|
|
62
76
|
/**
|
|
63
77
|
* Parse the AI's final JSON response for summary only
|
|
64
78
|
*/
|
|
@@ -179,11 +193,29 @@ async function handleQueryTool(args) {
|
|
|
179
193
|
iterations: result.iterations,
|
|
180
194
|
toolsUsed
|
|
181
195
|
});
|
|
196
|
+
// Store session for visualization (PRD #317)
|
|
197
|
+
const sessionManager = new generic_session_manager_1.GenericSessionManager('qry');
|
|
198
|
+
const session = sessionManager.createSession({
|
|
199
|
+
intent,
|
|
200
|
+
summary,
|
|
201
|
+
toolsUsed,
|
|
202
|
+
iterations: result.iterations,
|
|
203
|
+
toolCallsExecuted: result.toolCallsExecuted
|
|
204
|
+
});
|
|
205
|
+
// PRD #317: Include visualization URL when WEB_UI_BASE_URL is configured
|
|
206
|
+
const visualizationUrl = getVisualizationUrl(session.sessionId);
|
|
207
|
+
logger.info('Session created for visualization', {
|
|
208
|
+
requestId,
|
|
209
|
+
sessionId: session.sessionId,
|
|
210
|
+
...(visualizationUrl && { visualizationUrl })
|
|
211
|
+
});
|
|
182
212
|
const output = {
|
|
183
213
|
success: true,
|
|
184
214
|
summary,
|
|
185
215
|
toolsUsed,
|
|
186
|
-
iterations: result.iterations
|
|
216
|
+
iterations: result.iterations,
|
|
217
|
+
sessionId: session.sessionId,
|
|
218
|
+
...(visualizationUrl && { visualizationUrl })
|
|
187
219
|
};
|
|
188
220
|
return {
|
|
189
221
|
content: [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vfarcic/dot-ai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.176.0",
|
|
4
4
|
"description": "AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance",
|
|
5
5
|
"mcpName": "io.github.vfarcic/dot-ai",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Query Visualization Generator
|
|
2
|
+
|
|
3
|
+
You are a Kubernetes cluster visualization expert. Analyze the query results and generate visualizations that reveal relationships and patterns in the data.
|
|
4
|
+
|
|
5
|
+
## User Query
|
|
6
|
+
|
|
7
|
+
{{{intent}}}
|
|
8
|
+
|
|
9
|
+
## Query Results
|
|
10
|
+
|
|
11
|
+
{{{toolCallsData}}}
|
|
12
|
+
|
|
13
|
+
## Your Task
|
|
14
|
+
|
|
15
|
+
Thoroughly analyze the query results and surface everything valuable you can find. This includes but is not limited to:
|
|
16
|
+
- Relationships between resources
|
|
17
|
+
- Resource status and health
|
|
18
|
+
- Patterns and architectural insights
|
|
19
|
+
- Anything else worth knowing about these resources
|
|
20
|
+
|
|
21
|
+
If the provided data isn't sufficient for deep analysis, use the available tools to gather additional information. Don't limit yourself to what's already in the context - investigate further if it would produce more valuable insights.
|
|
22
|
+
|
|
23
|
+
## Analysis Approach
|
|
24
|
+
|
|
25
|
+
Include both obvious and non-obvious findings:
|
|
26
|
+
|
|
27
|
+
### Level 1: Obvious Relationships (include these)
|
|
28
|
+
- `metadata.ownerReferences` links
|
|
29
|
+
- Label selectors matching labels
|
|
30
|
+
- Explicit name references in spec fields
|
|
31
|
+
|
|
32
|
+
### Level 2: Deep Analysis (this is where you add unique value)
|
|
33
|
+
Go beyond the obvious. Analyze the data thoroughly. Here are some examples - but don't limit yourself to these:
|
|
34
|
+
|
|
35
|
+
- Inferred dependencies from env vars, config names, port numbers, mount paths
|
|
36
|
+
- Architectural patterns like sidecars, init containers, deployment strategies
|
|
37
|
+
- Potential issues: missing limits, no health checks, security concerns, single points of failure
|
|
38
|
+
- Implicit relationships from naming patterns, shared labels, operator conventions
|
|
39
|
+
- Capacity and scaling considerations
|
|
40
|
+
|
|
41
|
+
These are just examples. Analyze EVERYTHING in the data - annotations, labels, all spec fields, status conditions, anything. Surface whatever is valuable. The non-obvious insights are what make this worthwhile.
|
|
42
|
+
|
|
43
|
+
Do NOT assume what resources exist. Analyze only what's in the data.
|
|
44
|
+
|
|
45
|
+
## Output Format
|
|
46
|
+
|
|
47
|
+
Respond with ONLY a JSON object (no markdown code fences, no extra text):
|
|
48
|
+
|
|
49
|
+
{
|
|
50
|
+
"title": "Descriptive title based on what was found",
|
|
51
|
+
"visualizations": [...],
|
|
52
|
+
"insights": [...]
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
## Visualization Types
|
|
56
|
+
|
|
57
|
+
Generate as many or as few visualizations as add value. You can:
|
|
58
|
+
- Include multiple visualizations of the same type (e.g., several mermaid diagrams for different aspects)
|
|
59
|
+
- Skip any type entirely if it doesn't add value for this data
|
|
60
|
+
- Use whatever combination best represents what you found
|
|
61
|
+
|
|
62
|
+
Each visualization:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
{
|
|
66
|
+
"id": "unique-id",
|
|
67
|
+
"label": "Tab Label",
|
|
68
|
+
"type": "mermaid" | "table" | "cards" | "code",
|
|
69
|
+
"content": <type-specific-content>
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### mermaid
|
|
74
|
+
For showing relationships between resources.
|
|
75
|
+
- `content`: Valid Mermaid diagram string
|
|
76
|
+
- Use `graph TD` or `graph LR` depending on relationship type
|
|
77
|
+
- Use subgraphs to group by namespace or logical grouping
|
|
78
|
+
- Arrows: `-->` for ownership/direct, `-.->` for inferred/indirect
|
|
79
|
+
- Keep readable - summarize similar resources rather than showing every instance
|
|
80
|
+
|
|
81
|
+
### table
|
|
82
|
+
For listing resources with their properties.
|
|
83
|
+
- `content`: `{ "headers": ["Col1", "Col2"], "rows": [["val1", "val2"]] }`
|
|
84
|
+
- Choose columns relevant to the resource types present
|
|
85
|
+
- Include status/condition information when available
|
|
86
|
+
|
|
87
|
+
### cards
|
|
88
|
+
For highlighting individual resources with status.
|
|
89
|
+
- `content`: `[{ "id": "unique", "title": "Name", "description": "Status info", "tags": ["tag1"] }]`
|
|
90
|
+
- Use for resources where individual status matters
|
|
91
|
+
- Tags should reflect actual state from the data
|
|
92
|
+
|
|
93
|
+
### code
|
|
94
|
+
For showing raw data or configurations.
|
|
95
|
+
- `content`: `{ "language": "yaml" | "json", "code": "..." }`
|
|
96
|
+
- Use sparingly - only when raw output adds value
|
|
97
|
+
|
|
98
|
+
## Insights
|
|
99
|
+
|
|
100
|
+
Generate insights that add value beyond what someone could see by just reading the raw data. Prioritize non-obvious findings over summaries of what's there.
|
|
101
|
+
|
|
102
|
+
Each insight should:
|
|
103
|
+
- Reference specific resource names from the data
|
|
104
|
+
- Explain WHY it matters, not just WHAT you found
|
|
105
|
+
- Be actionable when highlighting issues
|
|
106
|
+
|
|
107
|
+
## Rules
|
|
108
|
+
|
|
109
|
+
1. **Data-driven only** - Generate visualizations based on actual resources present
|
|
110
|
+
2. **Skip empty visualizations** - Don't include a topology diagram if there are no relationships
|
|
111
|
+
3. **Valid output** - Ensure Mermaid syntax is correct and JSON is valid
|
|
112
|
+
4. **Resource-agnostic** - Handle any Kubernetes resource type (core, CRDs, operators)
|
|
113
|
+
5. **JSON only** - No markdown fences, no explanations outside the JSON structure
|
|
@@ -164,9 +164,7 @@ If user chooses option 1, first commit and push the PRD (same as Option 2), then
|
|
|
164
164
|
|
|
165
165
|
**PRD committed and pushed.**
|
|
166
166
|
|
|
167
|
-
To start working on this PRD, run
|
|
168
|
-
|
|
169
|
-
*Note: Different agents/clients may have different syntax for executing commands and prompts (e.g., `/prd-start [issue-id]` in Claude Code, or other syntax in different MCP clients). Start a new conversation/context to run the prompt.*
|
|
167
|
+
To start working on this PRD, run `/prd-start [issue-id]`
|
|
170
168
|
|
|
171
169
|
---
|
|
172
170
|
|
|
@@ -28,7 +28,7 @@ You are helping analyze an existing Product Requirements Document (PRD) to sugge
|
|
|
28
28
|
**Skip detection/analysis if recent conversation shows:**
|
|
29
29
|
- **Recent PRD work discussed** - "We just worked on PRD 29", "Just completed PRD update", etc.
|
|
30
30
|
- **Specific PRD mentioned** - "PRD #X", "MCP Prompts PRD", etc.
|
|
31
|
-
- **PRD-specific commands used** - Recent use of
|
|
31
|
+
- **PRD-specific commands used** - Recent use of `/prd-update-progress`, `/prd-start` with specific PRD
|
|
32
32
|
- **Clear work context** - Discussion of specific features, tasks, or requirements for a known PRD
|
|
33
33
|
|
|
34
34
|
**If context is clear:**
|
|
@@ -248,16 +248,16 @@ This command should:
|
|
|
248
248
|
|
|
249
249
|
## Step 8: Update Progress After Completion
|
|
250
250
|
|
|
251
|
-
|
|
251
|
+
**CRITICAL: Do NOT update the PRD yourself. Do NOT edit PRD files directly. Your job is to prompt the user to run the update command.**
|
|
252
|
+
|
|
253
|
+
After the user completes the task implementation, output ONLY this message:
|
|
252
254
|
|
|
253
255
|
---
|
|
254
256
|
|
|
255
257
|
**Task implementation complete.**
|
|
256
258
|
|
|
257
|
-
To update PRD progress and commit your work, run
|
|
258
|
-
|
|
259
|
-
*Note: Different agents/clients may have different syntax for executing commands and prompts (e.g., `/prd-update-progress` in Claude Code, or other syntax in different MCP clients).*
|
|
259
|
+
To update PRD progress and commit your work, run `/prd-update-progress`.
|
|
260
260
|
|
|
261
261
|
---
|
|
262
262
|
|
|
263
|
-
|
|
263
|
+
Then STOP. Do not proceed further. The `/prd-update-progress` command handles PRD updates, progress tracking, and commits. This separation ensures proper workflow and avoids duplicate/conflicting updates.
|
|
@@ -2,41 +2,52 @@
|
|
|
2
2
|
name: prd-start
|
|
3
3
|
description: Start working on a PRD implementation
|
|
4
4
|
category: project-management
|
|
5
|
+
arguments:
|
|
6
|
+
- name: prdNumber
|
|
7
|
+
description: PRD number to start working on (e.g., 306)
|
|
8
|
+
required: false
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
# PRD Start - Begin Implementation Work
|
|
8
12
|
|
|
9
13
|
## Instructions
|
|
10
14
|
|
|
11
|
-
You are helping initiate active implementation work on a specific Product Requirements Document (PRD). This command
|
|
15
|
+
You are helping initiate active implementation work on a specific Product Requirements Document (PRD). This command sets up the implementation context (validates readiness, creates branch, prepares environment) then hands off to `/prd-next` for task identification.
|
|
12
16
|
|
|
13
|
-
**IMPORTANT**: Do NOT include time estimates or effort estimates in your responses. Focus on
|
|
17
|
+
**IMPORTANT**: Do NOT include time estimates or effort estimates in your responses. Focus on setup and readiness without speculating on duration.
|
|
14
18
|
|
|
15
19
|
## Process Overview
|
|
16
20
|
|
|
17
|
-
1. **Select Target PRD** -
|
|
18
|
-
2. **Validate PRD Readiness** - Ensure the
|
|
19
|
-
3. **Set Up Implementation Context** -
|
|
20
|
-
4. **
|
|
21
|
-
5. **Begin Implementation** - Launch into actual development work
|
|
21
|
+
1. **Select Target PRD** - Identify which PRD to implement
|
|
22
|
+
2. **Validate PRD Readiness** - Ensure the PRD is ready for implementation
|
|
23
|
+
3. **Set Up Implementation Context** - Create branch and prepare environment
|
|
24
|
+
4. **Hand Off to prd-next** - Delegate task identification to the appropriate prompt
|
|
22
25
|
|
|
23
|
-
## Step 0:
|
|
26
|
+
## Step 0: Check for PRD Argument
|
|
24
27
|
|
|
25
|
-
**
|
|
28
|
+
**If `prdNumber` argument is provided ({{prdNumber}}):**
|
|
29
|
+
- Skip context check and auto-detection
|
|
30
|
+
- Use PRD #{{prdNumber}} directly
|
|
31
|
+
- Proceed to Step 2 (PRD Readiness Validation)
|
|
26
32
|
|
|
27
|
-
**
|
|
33
|
+
**If `prdNumber` argument is NOT provided:**
|
|
34
|
+
- Continue to context awareness check below
|
|
35
|
+
|
|
36
|
+
## Step 0b: Context Awareness Check
|
|
37
|
+
|
|
38
|
+
**Check if PRD context is already clear from recent conversation:**
|
|
39
|
+
|
|
40
|
+
**Skip detection if recent conversation shows:**
|
|
28
41
|
- **Recent PRD work discussed** - "We just worked on PRD 29", "Just completed PRD update", etc.
|
|
29
42
|
- **Specific PRD mentioned** - "PRD #X", "MCP Prompts PRD", etc.
|
|
30
|
-
- **PRD-specific commands used** - Recent use of
|
|
43
|
+
- **PRD-specific commands used** - Recent use of `/prd-update-progress`, `/prd-start` with specific PRD
|
|
31
44
|
- **Clear work context** - Discussion of specific features, tasks, or requirements for a known PRD
|
|
32
45
|
|
|
33
46
|
**If context is clear:**
|
|
34
|
-
- Skip to Step 2 (PRD Readiness Validation) using the known PRD
|
|
35
|
-
- Use conversation history to understand current state and recent progress
|
|
36
|
-
- Proceed directly with readiness validation based on known PRD status
|
|
47
|
+
- Skip to Step 2 (PRD Readiness Validation) using the known PRD
|
|
37
48
|
|
|
38
49
|
**If context is unclear:**
|
|
39
|
-
- Continue to Step 1 (PRD Detection)
|
|
50
|
+
- Continue to Step 1 (PRD Detection)
|
|
40
51
|
|
|
41
52
|
## Step 1: Smart PRD Detection (Only if Context Unclear)
|
|
42
53
|
|
|
@@ -55,35 +66,16 @@ You are helping initiate active implementation work on a specific Product Requir
|
|
|
55
66
|
- Modified `prds/12-*.md` → PRD 12
|
|
56
67
|
- Changes in feature-specific directories
|
|
57
68
|
|
|
58
|
-
4. **Available PRDs Discovery** - List all PRDs in `prds/` directory
|
|
59
|
-
- `prds/12-documentation-testing.md`
|
|
60
|
-
- `prds/13-cicd-documentation-testing.md`
|
|
69
|
+
4. **Available PRDs Discovery** - List all PRDs in `prds/` directory
|
|
61
70
|
|
|
62
71
|
5. **Fallback to User Choice** - Only if context detection fails, ask user to specify
|
|
63
72
|
|
|
64
|
-
**PRD Detection Implementation:**
|
|
65
|
-
```bash
|
|
66
|
-
# Use these tools to gather context:
|
|
67
|
-
# 1. Check git branch: gitStatus shows current branch
|
|
68
|
-
# 2. Check git status: Look for modified PRD files
|
|
69
|
-
# 3. List PRDs: Use LS or Glob to find prds/*.md files
|
|
70
|
-
# 4. Recent commits: Use Bash 'git log --oneline -n 5' for recent context
|
|
71
|
-
```
|
|
72
|
-
|
|
73
73
|
**Detection Logic:**
|
|
74
74
|
- **High Confidence**: Branch name matches PRD pattern (e.g., `feature/prd-12-documentation-testing`)
|
|
75
75
|
- **Medium Confidence**: Modified PRD files in git status or recent commits mention PRD
|
|
76
76
|
- **Low Confidence**: Multiple PRDs available, use heuristics (most recent, largest)
|
|
77
77
|
- **No Context**: Present available options to user
|
|
78
78
|
|
|
79
|
-
**Example Detection Outputs:**
|
|
80
|
-
```markdown
|
|
81
|
-
🎯 **Auto-detected PRD 12** (Documentation Testing)
|
|
82
|
-
- Branch: `feature/prd-12-documentation-testing` ✅
|
|
83
|
-
- Modified files: `prds/12-documentation-testing.md` ✅
|
|
84
|
-
- Recent commits mention PRD 12 features ✅
|
|
85
|
-
```
|
|
86
|
-
|
|
87
79
|
**If context detection fails, ask the user:**
|
|
88
80
|
|
|
89
81
|
```markdown
|
|
@@ -91,7 +83,7 @@ You are helping initiate active implementation work on a specific Product Requir
|
|
|
91
83
|
|
|
92
84
|
Please provide the PRD number (e.g., "12", "PRD 12", or "36").
|
|
93
85
|
|
|
94
|
-
**Not sure which PRD to work on?**
|
|
86
|
+
**Not sure which PRD to work on?**
|
|
95
87
|
Execute `dot-ai:prds-get` prompt to see all available PRDs organized by priority and readiness.
|
|
96
88
|
|
|
97
89
|
**Your choice**: [Wait for user input]
|
|
@@ -99,8 +91,6 @@ Execute `dot-ai:prds-get` prompt to see all available PRDs organized by priority
|
|
|
99
91
|
|
|
100
92
|
**Once PRD is identified:**
|
|
101
93
|
- Read the PRD file from `prds/[issue-id]-[feature-name].md`
|
|
102
|
-
- Analyze completion status across all sections
|
|
103
|
-
- Identify patterns in completed vs remaining work
|
|
104
94
|
|
|
105
95
|
## Step 2: PRD Readiness Validation
|
|
106
96
|
|
|
@@ -122,14 +112,16 @@ For documentation-first PRDs:
|
|
|
122
112
|
### Implementation Readiness Checklist
|
|
123
113
|
```markdown
|
|
124
114
|
## PRD Readiness Check
|
|
125
|
-
- [ ] All functional requirements defined
|
|
126
|
-
- [ ] Success criteria measurable
|
|
127
|
-
- [ ] Dependencies available
|
|
128
|
-
- [ ] Documentation complete
|
|
129
|
-
- [ ] Integration points clear
|
|
130
|
-
- [ ] Implementation approach decided
|
|
115
|
+
- [ ] All functional requirements defined
|
|
116
|
+
- [ ] Success criteria measurable
|
|
117
|
+
- [ ] Dependencies available
|
|
118
|
+
- [ ] Documentation complete
|
|
119
|
+
- [ ] Integration points clear
|
|
120
|
+
- [ ] Implementation approach decided
|
|
131
121
|
```
|
|
132
122
|
|
|
123
|
+
**If PRD is not ready:** Inform the user what's missing and suggest they complete PRD planning first.
|
|
124
|
+
|
|
133
125
|
## Step 3: Implementation Context Setup
|
|
134
126
|
|
|
135
127
|
**⚠️ MANDATORY: Complete this step BEFORE proceeding to Step 4**
|
|
@@ -160,76 +152,29 @@ For documentation-first PRDs:
|
|
|
160
152
|
|
|
161
153
|
**DO NOT proceed to Step 4 until branch setup is confirmed.**
|
|
162
154
|
|
|
163
|
-
## Step 4:
|
|
164
|
-
|
|
165
|
-
### Critical Path Analysis
|
|
166
|
-
Identify the highest-priority first task by analyzing:
|
|
167
|
-
- **Foundation requirements**: Core capabilities that other features depend on
|
|
168
|
-
- **Blocking dependencies**: Items that prevent other work from starting
|
|
169
|
-
- **Quick wins**: Early deliverables that provide validation or value
|
|
170
|
-
- **Risk mitigation**: High-uncertainty items that should be tackled early
|
|
171
|
-
|
|
172
|
-
### Implementation Phases
|
|
173
|
-
For complex PRDs, identify logical implementation phases:
|
|
174
|
-
1. **Phase 1 - Foundation**: Core data structures, interfaces, basic functionality
|
|
175
|
-
2. **Phase 2 - Integration**: Connect with existing systems, implement workflows
|
|
176
|
-
3. **Phase 3 - Enhancement**: Advanced features, optimization, polish
|
|
177
|
-
4. **Phase 4 - Validation**: Testing, documentation updates, deployment
|
|
155
|
+
## Step 4: Hand Off to prd-next
|
|
178
156
|
|
|
179
|
-
|
|
180
|
-
Select the single best first task based on:
|
|
181
|
-
- **Dependency analysis**: No blocking dependencies
|
|
182
|
-
- **Value delivery**: Provides meaningful progress toward PRD goals
|
|
183
|
-
- **Learning opportunity**: Generates insights for subsequent work
|
|
184
|
-
- **Validation potential**: Allows early testing of key assumptions
|
|
185
|
-
|
|
186
|
-
## Step 5: Begin Implementation
|
|
187
|
-
|
|
188
|
-
### Implementation Kickoff
|
|
189
|
-
Present the implementation plan:
|
|
157
|
+
Once the implementation context is set up, present this message to the user:
|
|
190
158
|
|
|
191
159
|
```markdown
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
## Selected First Task: [Task Name]
|
|
160
|
+
## Ready for Implementation 🚀
|
|
195
161
|
|
|
196
|
-
**
|
|
197
|
-
|
|
198
|
-
**
|
|
199
|
-
|
|
200
|
-
**Success criteria**: [How you'll know this task is complete]
|
|
201
|
-
|
|
202
|
-
**Next steps after this**: [What becomes possible once this is done]
|
|
203
|
-
|
|
204
|
-
## Implementation Approach
|
|
205
|
-
[Brief technical approach and key decisions]
|
|
206
|
-
|
|
207
|
-
## Ready to Start?
|
|
208
|
-
Type 'yes' to begin implementation, or let me know if you'd prefer to start with a different task.
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
### Implementation Launch
|
|
212
|
-
If confirmed, provide:
|
|
213
|
-
- **Detailed task breakdown**: Step-by-step implementation guide
|
|
214
|
-
- **Code structure recommendations**: Files to create/modify
|
|
215
|
-
- **Testing approach**: How to validate the implementation
|
|
216
|
-
- **Progress checkpoints**: When to update the PRD with progress
|
|
217
|
-
|
|
218
|
-
## Step 6: Update Progress After Completion
|
|
219
|
-
|
|
220
|
-
After the user completes the task implementation, prompt them to update PRD progress:
|
|
162
|
+
**PRD**: [PRD Name] (#[PRD Number])
|
|
163
|
+
**Branch**: `[branch-name]`
|
|
164
|
+
**Status**: Ready for development
|
|
221
165
|
|
|
222
166
|
---
|
|
223
167
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
To update PRD progress and commit your work, run the `prd-update-progress` prompt.
|
|
227
|
-
|
|
228
|
-
*Note: Different agents/clients may have different syntax for executing commands and prompts (e.g., `/prd-update-progress` in Claude Code, or other syntax in different MCP clients).*
|
|
168
|
+
To identify and start working on your first task, run `/prd-next`.
|
|
169
|
+
```
|
|
229
170
|
|
|
230
|
-
|
|
171
|
+
**⚠️ STOP HERE - DO NOT:**
|
|
172
|
+
- Identify or recommend tasks to work on
|
|
173
|
+
- Analyze implementation priorities or critical paths
|
|
174
|
+
- Start any implementation work
|
|
175
|
+
- Continue beyond presenting the handoff message
|
|
231
176
|
|
|
232
|
-
|
|
177
|
+
`/prd-next` handles all task identification and implementation guidance.
|
|
233
178
|
|
|
234
179
|
## Success Criteria
|
|
235
180
|
|
|
@@ -237,13 +182,10 @@ This command should:
|
|
|
237
182
|
- ✅ Successfully identify the target PRD for implementation
|
|
238
183
|
- ✅ Validate that the PRD is ready for development work
|
|
239
184
|
- ✅ Set up proper implementation context (branch, environment)
|
|
240
|
-
- ✅
|
|
241
|
-
- ✅
|
|
242
|
-
- ✅ Bridge the gap between planning and actual coding work
|
|
185
|
+
- ✅ Hand off to `/prd-next` for task identification
|
|
186
|
+
- ✅ Bridge the gap between PRD planning and development setup
|
|
243
187
|
|
|
244
188
|
## Notes
|
|
245
189
|
|
|
246
|
-
- This command
|
|
247
|
-
-
|
|
248
|
-
- Use `prd-update-progress` to track implementation progress against PRD requirements
|
|
249
|
-
- Use `prd-done` when PRD implementation is complete and ready for deployment/closure
|
|
190
|
+
- This command focuses on **setup only** - it validates readiness, creates the branch, and prepares the environment
|
|
191
|
+
- Once setup is complete, `/prd-next` handles all task identification, implementation guidance, and progress tracking
|
|
@@ -302,7 +302,7 @@ After completing the PRD update and committing changes, guide the user based on
|
|
|
302
302
|
|
|
303
303
|
To continue working on this PRD:
|
|
304
304
|
1. Clear/reset the conversation context
|
|
305
|
-
2. Run
|
|
305
|
+
2. Run `/prd-next` to get the next task
|
|
306
306
|
|
|
307
307
|
---
|
|
308
308
|
|
|
@@ -314,8 +314,6 @@ To continue working on this PRD:
|
|
|
314
314
|
|
|
315
315
|
To finalize:
|
|
316
316
|
1. Clear/reset the conversation context
|
|
317
|
-
2. Run
|
|
317
|
+
2. Run `/prd-done` to move the PRD to the done folder and close the GitHub issue
|
|
318
318
|
|
|
319
319
|
---
|
|
320
|
-
|
|
321
|
-
*Note: Different agents/clients may have different syntax for executing prompts (e.g., `/prd-next`, `/prd-done` in Claude Code, or other syntax in different MCP clients).*
|