@mrciphersmith/keryx 0.2.72 → 0.2.74
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/cli.js +33409 -32626
- package/package.json +2 -2
- package/src/gdskills/bundled/rules/core/gproject-contracts.mdc +1 -1
- package/src/gdskills/bundled/rules/core/jobs-documentation.mdc +1 -1
- package/src/gdskills/bundled/rules/core/subagent-context-construction.md +1 -1
- package/src/gdskills/bundled/skills/core/reviewer-skill-creator/SKILL.md +214 -0
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.codex.md +326 -20
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.cursor.md +320 -22
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.opencode.md +326 -12
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.zed.md +333 -9
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.codex.md +92 -4
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.cursor.md +92 -4
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.opencode.md +92 -4
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.zed.md +92 -4
- package/src/gdskills/bundled/skills/orchestration/context-collector/orchestrator-prompt.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.codex.md +154 -1098
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.cursor.md +154 -1098
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.opencode.md +154 -1098
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.zed.md +154 -1098
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/orchestrator-prompt.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.codex.md +101 -41
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.cursor.md +101 -41
- package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/SKILL.md +48 -1
- package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/input-contract.schema.json +70 -4
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.codex.md +115 -49
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.cursor.md +115 -49
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.opencode.md +115 -49
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.zed.md +115 -49
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/orchestrator-prompt.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.codex.md +15 -6
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.cursor.md +15 -6
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.opencode.md +15 -6
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.zed.md +15 -6
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.opencode.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.zed.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.codex.md +300 -55
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.cursor.md +300 -55
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.md +120 -37
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.opencode.md +300 -55
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.zed.md +300 -55
- package/src/gdskills/bundled/skills/orchestration/task-implementer/input-contract.schema.json +56 -14
- package/src/gdskills/bundled/skills/orchestration/task-implementer/orchestrator-prompt.md +50 -23
- package/src/gdskills/bundled/skills/orchestration/task-implementer/output-contract.schema.json +6 -2
- package/src/gdskills/bundled/skills/orchestration/task-implementer/task-request.template.md +18 -12
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.codex.md +169 -10
- package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.cursor.md +169 -10
- package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/planning/interview/SKILL.codex.md +7 -1
- package/src/gdskills/bundled/skills/planning/interview/SKILL.cursor.md +7 -1
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.codex.md +7 -1
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.cursor.md +7 -1
- package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.codex.md +216 -10
- package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.cursor.md +216 -10
- package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/planning/planner/SKILL.codex.md +169 -10
- package/src/gdskills/bundled/skills/planning/planner/SKILL.cursor.md +169 -10
- package/src/gdskills/bundled/skills/planning/planner/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.codex.md +2 -2
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.cursor.md +2 -2
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.opencode.md +2 -2
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.zed.md +2 -2
- package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.codex.md +134 -10
- package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.cursor.md +134 -10
- package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.codex.md +146 -10
- package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.cursor.md +146 -10
- package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.codex.md +211 -10
- package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.cursor.md +211 -10
- package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.codex.md +162 -10
- package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.cursor.md +162 -10
- package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/platform/hookify/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/platform/hookify/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/commit/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/commit/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/pr/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/pr/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.codex.md +15 -1
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.cursor.md +248 -165
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.opencode.md +15 -1
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.zed.md +359 -19
- package/src/gdskills/bundled/skills/quality/push/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/push/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.codex.md +299 -24
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.cursor.md +296 -31
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.opencode.md +309 -18
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.zed.md +312 -17
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.codex.md +29 -30
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.cursor.md +29 -30
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.opencode.md +29 -30
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.zed.md +29 -30
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.codex.md +21 -30
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.cursor.md +21 -30
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.opencode.md +21 -30
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.zed.md +21 -30
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.codex.md +19 -23
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.cursor.md +19 -23
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.opencode.md +19 -23
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.zed.md +19 -23
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.codex.md +17 -24
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.cursor.md +17 -24
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.opencode.md +17 -24
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.zed.md +17 -24
- package/src/gdskills/bundled/skills/review/review-clean-code/SKILL.md +33 -1
- package/src/gdskills/bundled/skills/review/review-layout/SKILL.md +217 -0
- package/src/gdskills/bundled/skills/review/review-logic/SKILL.md +26 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +320 -5
- package/src/gdskills/bundled/skills/review/review-pr-feedback/SKILL.md +644 -113
- package/src/gdskills/bundled/skills/review/review-pr-feedback/input-contract.schema.json +79 -0
- package/src/gdskills/bundled/skills/review/review-pr-feedback/output-contract.schema.json +375 -0
- package/src/gdskills/bundled/skills/review/review-testing-practices/SKILL.md +111 -1
- package/src/gdskills/bundled/skills/review/review-verifier/SKILL.md +25 -1
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.claude.md +0 -46
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.claude.md +0 -94
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.claude.md +0 -45
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.claude.md +0 -40
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.claude.md +0 -45
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.claude.md +0 -42
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.claude.md +0 -48
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.claude.md +0 -40
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.claude.md +0 -30
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
name: planner
|
|
3
|
+
description: >
|
|
4
|
+
Generates roadmap, milestones, task breakdown, and dependency graph from PRD.
|
|
5
|
+
Use when: dispatched by gproject-orchestrator Phase 6.
|
|
6
|
+
NOT for: direct user invocation.
|
|
7
7
|
metadata:
|
|
8
|
-
|
|
9
|
-
version: "1.0.0"
|
|
10
|
-
category: "planning"
|
|
8
|
+
version: 1.0.0
|
|
11
9
|
compatible_harnesses: "cursor,codex,zed,opencode"
|
|
12
|
-
license: "MIT"
|
|
13
10
|
---
|
|
14
11
|
|
|
15
|
-
|
|
16
12
|
# gproject-planner
|
|
17
13
|
|
|
18
14
|
## Purpose
|
|
@@ -31,3 +27,166 @@ to feed into job-orchestrator or task-implementer.
|
|
|
31
27
|
| 4 | P0 user stories MUST be in Milestone 1 |
|
|
32
28
|
| 5 | Each milestone MUST be independently deployable / demonstrable |
|
|
33
29
|
| 6 | Infrastructure and setup tasks come before feature tasks |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Input Contract
|
|
34
|
+
|
|
35
|
+
```yaml
|
|
36
|
+
task: "Generate roadmap and task breakdown"
|
|
37
|
+
input_artifacts:
|
|
38
|
+
- .metaproject/jobs/<job>/artifacts/prd.md
|
|
39
|
+
- .metaproject/jobs/<job>/artifacts/architecture.md
|
|
40
|
+
decisions_so_far:
|
|
41
|
+
D_level: "..."
|
|
42
|
+
D_frontend: "..."
|
|
43
|
+
D_backend: "..."
|
|
44
|
+
# All relevant decisions
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Output Contract
|
|
48
|
+
|
|
49
|
+
```yaml
|
|
50
|
+
status: "DONE" | "NEEDS_CONTEXT"
|
|
51
|
+
summary: "<3-5 sentences: milestone count, total tasks, critical path duration>"
|
|
52
|
+
new_decisions:
|
|
53
|
+
D_milestones: ["<M1 name>", "<M2 name>", ...]
|
|
54
|
+
D_estimated_duration: "<range>"
|
|
55
|
+
D_critical_path: "<list of blocking tasks>"
|
|
56
|
+
artifact_path: ".metaproject/jobs/<job>/artifacts/roadmap.md"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Workflow
|
|
62
|
+
|
|
63
|
+
### Step 1: Decompose User Stories into Tasks
|
|
64
|
+
|
|
65
|
+
For each user story, break into implementation tasks:
|
|
66
|
+
|
|
67
|
+
```yaml
|
|
68
|
+
- task_id: "T-001"
|
|
69
|
+
title: "<specific task>"
|
|
70
|
+
user_story: "US-001"
|
|
71
|
+
layer: "frontend | backend | database | infra | testing"
|
|
72
|
+
type: "setup | feature | integration | test | docs"
|
|
73
|
+
estimate:
|
|
74
|
+
optimistic: "<time>"
|
|
75
|
+
realistic: "<time>"
|
|
76
|
+
pessimistic: "<time>"
|
|
77
|
+
depends_on: ["T-000"] # or [] if no deps
|
|
78
|
+
acceptance_criteria:
|
|
79
|
+
- "<from user story, scoped to this task>"
|
|
80
|
+
files_likely_affected:
|
|
81
|
+
- "<file path or module>"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Step 2: Identify Dependencies
|
|
85
|
+
|
|
86
|
+
Build dependency graph:
|
|
87
|
+
- Infrastructure tasks → before all feature tasks
|
|
88
|
+
- Database schema → before backend → before frontend
|
|
89
|
+
- Auth setup → before any authenticated feature
|
|
90
|
+
- Shared components → before pages that use them
|
|
91
|
+
|
|
92
|
+
Verify: no cycles in dependency graph.
|
|
93
|
+
|
|
94
|
+
### Step 3: Group into Milestones
|
|
95
|
+
|
|
96
|
+
Each milestone:
|
|
97
|
+
- Has a clear deliverable (demo-able, deployable)
|
|
98
|
+
- Contains all P0 stories it covers (no half-done P0 at milestone end)
|
|
99
|
+
- Ends with a verification checkpoint
|
|
100
|
+
|
|
101
|
+
Typical milestone structure:
|
|
102
|
+
|
|
103
|
+
**M0: Foundation**
|
|
104
|
+
- Project setup, tooling, CI/CD, dev environment
|
|
105
|
+
- Database schema initial migration
|
|
106
|
+
- Auth skeleton
|
|
107
|
+
- Deploy pipeline to staging
|
|
108
|
+
|
|
109
|
+
**M1: Core (P0 features)**
|
|
110
|
+
- All P0 user stories
|
|
111
|
+
- Core API endpoints
|
|
112
|
+
- Core UI flows
|
|
113
|
+
- Integration tests for critical paths
|
|
114
|
+
|
|
115
|
+
**M2: Complete (P1 features)**
|
|
116
|
+
- P1 user stories
|
|
117
|
+
- Polish, edge cases
|
|
118
|
+
- Performance optimization
|
|
119
|
+
- Full test coverage
|
|
120
|
+
|
|
121
|
+
**M3: Launch-Ready (if production level)**
|
|
122
|
+
- P2 features (selected)
|
|
123
|
+
- Security hardening
|
|
124
|
+
- Monitoring, alerting
|
|
125
|
+
- Documentation
|
|
126
|
+
- Load testing
|
|
127
|
+
|
|
128
|
+
### Step 4: Estimate Critical Path
|
|
129
|
+
|
|
130
|
+
Identify the longest dependency chain and estimate total duration.
|
|
131
|
+
Flag tasks that block the most other tasks.
|
|
132
|
+
|
|
133
|
+
### Step 5: Write Roadmap
|
|
134
|
+
|
|
135
|
+
Write `artifacts/roadmap.md`:
|
|
136
|
+
|
|
137
|
+
```markdown
|
|
138
|
+
# Roadmap: <Project/Task Name>
|
|
139
|
+
|
|
140
|
+
## Overview
|
|
141
|
+
- **Milestones**: <count>
|
|
142
|
+
- **Total tasks**: <count>
|
|
143
|
+
- **Estimated duration**: <optimistic> — <realistic> — <pessimistic>
|
|
144
|
+
- **Critical path**: <list of blocking tasks>
|
|
145
|
+
|
|
146
|
+
## Milestone 0: Foundation
|
|
147
|
+
**Deliverable**: <what can be demonstrated>
|
|
148
|
+
**Duration estimate**: <range>
|
|
149
|
+
|
|
150
|
+
### Tasks
|
|
151
|
+
| ID | Title | Layer | Depends On | Estimate | Story |
|
|
152
|
+
|----|-------|-------|-----------|----------|-------|
|
|
153
|
+
| T-001 | <title> | infra | — | <range> | — |
|
|
154
|
+
| T-002 | <title> | database | T-001 | <range> | — |
|
|
155
|
+
|
|
156
|
+
## Milestone 1: Core
|
|
157
|
+
**Deliverable**: <what can be demonstrated>
|
|
158
|
+
**Duration estimate**: <range>
|
|
159
|
+
|
|
160
|
+
### Tasks
|
|
161
|
+
| ID | Title | Layer | Depends On | Estimate | Story |
|
|
162
|
+
|----|-------|-------|-----------|----------|-------|
|
|
163
|
+
| T-010 | <title> | backend | T-002 | <range> | US-001 |
|
|
164
|
+
|
|
165
|
+
## ...
|
|
166
|
+
|
|
167
|
+
## Dependency Graph (summary)
|
|
168
|
+
<textual description of key dependency chains>
|
|
169
|
+
T-001 → T-002 → T-010 → T-015 (critical path)
|
|
170
|
+
T-001 → T-003 → T-011 (parallel track)
|
|
171
|
+
|
|
172
|
+
## Risk-Adjusted Timeline
|
|
173
|
+
| Scenario | Duration | Assumptions |
|
|
174
|
+
|----------|---------|-------------|
|
|
175
|
+
| Optimistic | <time> | No blockers, all estimates hold |
|
|
176
|
+
| Realistic | <time> | Normal friction, 1-2 minor blockers |
|
|
177
|
+
| Pessimistic | <time> | Major unknowns surface, rework needed |
|
|
178
|
+
|
|
179
|
+
## Parallelization Opportunities
|
|
180
|
+
<Which tasks can run simultaneously — useful for team or multi-agent execution>
|
|
181
|
+
|
|
182
|
+
## Integration with job-orchestrator
|
|
183
|
+
<How to feed this roadmap into job-orchestrator for automated implementation>
|
|
184
|
+
- Each milestone maps to a job-orchestrator run
|
|
185
|
+
- Tasks within a milestone map to issue-analyzer output format
|
|
186
|
+
- Dependency order maps to wave-based execution
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Step 6: Return Summary
|
|
190
|
+
|
|
191
|
+
Compact summary: milestone count, task count, critical path duration,
|
|
192
|
+
biggest scheduling risk.
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
name: planner
|
|
3
|
+
description: >
|
|
4
|
+
Generates roadmap, milestones, task breakdown, and dependency graph from PRD.
|
|
5
|
+
Use when: dispatched by gproject-orchestrator Phase 6.
|
|
6
|
+
NOT for: direct user invocation.
|
|
7
7
|
metadata:
|
|
8
|
-
|
|
9
|
-
version: "1.0.0"
|
|
10
|
-
category: "planning"
|
|
8
|
+
version: 1.0.0
|
|
11
9
|
compatible_harnesses: "cursor,codex,zed,opencode"
|
|
12
|
-
license: "MIT"
|
|
13
10
|
---
|
|
14
11
|
|
|
15
|
-
|
|
16
12
|
# gproject-planner
|
|
17
13
|
|
|
18
14
|
## Purpose
|
|
@@ -31,3 +27,166 @@ to feed into job-orchestrator or task-implementer.
|
|
|
31
27
|
| 4 | P0 user stories MUST be in Milestone 1 |
|
|
32
28
|
| 5 | Each milestone MUST be independently deployable / demonstrable |
|
|
33
29
|
| 6 | Infrastructure and setup tasks come before feature tasks |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Input Contract
|
|
34
|
+
|
|
35
|
+
```yaml
|
|
36
|
+
task: "Generate roadmap and task breakdown"
|
|
37
|
+
input_artifacts:
|
|
38
|
+
- .metaproject/jobs/<job>/artifacts/prd.md
|
|
39
|
+
- .metaproject/jobs/<job>/artifacts/architecture.md
|
|
40
|
+
decisions_so_far:
|
|
41
|
+
D_level: "..."
|
|
42
|
+
D_frontend: "..."
|
|
43
|
+
D_backend: "..."
|
|
44
|
+
# All relevant decisions
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Output Contract
|
|
48
|
+
|
|
49
|
+
```yaml
|
|
50
|
+
status: "DONE" | "NEEDS_CONTEXT"
|
|
51
|
+
summary: "<3-5 sentences: milestone count, total tasks, critical path duration>"
|
|
52
|
+
new_decisions:
|
|
53
|
+
D_milestones: ["<M1 name>", "<M2 name>", ...]
|
|
54
|
+
D_estimated_duration: "<range>"
|
|
55
|
+
D_critical_path: "<list of blocking tasks>"
|
|
56
|
+
artifact_path: ".metaproject/jobs/<job>/artifacts/roadmap.md"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Workflow
|
|
62
|
+
|
|
63
|
+
### Step 1: Decompose User Stories into Tasks
|
|
64
|
+
|
|
65
|
+
For each user story, break into implementation tasks:
|
|
66
|
+
|
|
67
|
+
```yaml
|
|
68
|
+
- task_id: "T-001"
|
|
69
|
+
title: "<specific task>"
|
|
70
|
+
user_story: "US-001"
|
|
71
|
+
layer: "frontend | backend | database | infra | testing"
|
|
72
|
+
type: "setup | feature | integration | test | docs"
|
|
73
|
+
estimate:
|
|
74
|
+
optimistic: "<time>"
|
|
75
|
+
realistic: "<time>"
|
|
76
|
+
pessimistic: "<time>"
|
|
77
|
+
depends_on: ["T-000"] # or [] if no deps
|
|
78
|
+
acceptance_criteria:
|
|
79
|
+
- "<from user story, scoped to this task>"
|
|
80
|
+
files_likely_affected:
|
|
81
|
+
- "<file path or module>"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Step 2: Identify Dependencies
|
|
85
|
+
|
|
86
|
+
Build dependency graph:
|
|
87
|
+
- Infrastructure tasks → before all feature tasks
|
|
88
|
+
- Database schema → before backend → before frontend
|
|
89
|
+
- Auth setup → before any authenticated feature
|
|
90
|
+
- Shared components → before pages that use them
|
|
91
|
+
|
|
92
|
+
Verify: no cycles in dependency graph.
|
|
93
|
+
|
|
94
|
+
### Step 3: Group into Milestones
|
|
95
|
+
|
|
96
|
+
Each milestone:
|
|
97
|
+
- Has a clear deliverable (demo-able, deployable)
|
|
98
|
+
- Contains all P0 stories it covers (no half-done P0 at milestone end)
|
|
99
|
+
- Ends with a verification checkpoint
|
|
100
|
+
|
|
101
|
+
Typical milestone structure:
|
|
102
|
+
|
|
103
|
+
**M0: Foundation**
|
|
104
|
+
- Project setup, tooling, CI/CD, dev environment
|
|
105
|
+
- Database schema initial migration
|
|
106
|
+
- Auth skeleton
|
|
107
|
+
- Deploy pipeline to staging
|
|
108
|
+
|
|
109
|
+
**M1: Core (P0 features)**
|
|
110
|
+
- All P0 user stories
|
|
111
|
+
- Core API endpoints
|
|
112
|
+
- Core UI flows
|
|
113
|
+
- Integration tests for critical paths
|
|
114
|
+
|
|
115
|
+
**M2: Complete (P1 features)**
|
|
116
|
+
- P1 user stories
|
|
117
|
+
- Polish, edge cases
|
|
118
|
+
- Performance optimization
|
|
119
|
+
- Full test coverage
|
|
120
|
+
|
|
121
|
+
**M3: Launch-Ready (if production level)**
|
|
122
|
+
- P2 features (selected)
|
|
123
|
+
- Security hardening
|
|
124
|
+
- Monitoring, alerting
|
|
125
|
+
- Documentation
|
|
126
|
+
- Load testing
|
|
127
|
+
|
|
128
|
+
### Step 4: Estimate Critical Path
|
|
129
|
+
|
|
130
|
+
Identify the longest dependency chain and estimate total duration.
|
|
131
|
+
Flag tasks that block the most other tasks.
|
|
132
|
+
|
|
133
|
+
### Step 5: Write Roadmap
|
|
134
|
+
|
|
135
|
+
Write `artifacts/roadmap.md`:
|
|
136
|
+
|
|
137
|
+
```markdown
|
|
138
|
+
# Roadmap: <Project/Task Name>
|
|
139
|
+
|
|
140
|
+
## Overview
|
|
141
|
+
- **Milestones**: <count>
|
|
142
|
+
- **Total tasks**: <count>
|
|
143
|
+
- **Estimated duration**: <optimistic> — <realistic> — <pessimistic>
|
|
144
|
+
- **Critical path**: <list of blocking tasks>
|
|
145
|
+
|
|
146
|
+
## Milestone 0: Foundation
|
|
147
|
+
**Deliverable**: <what can be demonstrated>
|
|
148
|
+
**Duration estimate**: <range>
|
|
149
|
+
|
|
150
|
+
### Tasks
|
|
151
|
+
| ID | Title | Layer | Depends On | Estimate | Story |
|
|
152
|
+
|----|-------|-------|-----------|----------|-------|
|
|
153
|
+
| T-001 | <title> | infra | — | <range> | — |
|
|
154
|
+
| T-002 | <title> | database | T-001 | <range> | — |
|
|
155
|
+
|
|
156
|
+
## Milestone 1: Core
|
|
157
|
+
**Deliverable**: <what can be demonstrated>
|
|
158
|
+
**Duration estimate**: <range>
|
|
159
|
+
|
|
160
|
+
### Tasks
|
|
161
|
+
| ID | Title | Layer | Depends On | Estimate | Story |
|
|
162
|
+
|----|-------|-------|-----------|----------|-------|
|
|
163
|
+
| T-010 | <title> | backend | T-002 | <range> | US-001 |
|
|
164
|
+
|
|
165
|
+
## ...
|
|
166
|
+
|
|
167
|
+
## Dependency Graph (summary)
|
|
168
|
+
<textual description of key dependency chains>
|
|
169
|
+
T-001 → T-002 → T-010 → T-015 (critical path)
|
|
170
|
+
T-001 → T-003 → T-011 (parallel track)
|
|
171
|
+
|
|
172
|
+
## Risk-Adjusted Timeline
|
|
173
|
+
| Scenario | Duration | Assumptions |
|
|
174
|
+
|----------|---------|-------------|
|
|
175
|
+
| Optimistic | <time> | No blockers, all estimates hold |
|
|
176
|
+
| Realistic | <time> | Normal friction, 1-2 minor blockers |
|
|
177
|
+
| Pessimistic | <time> | Major unknowns surface, rework needed |
|
|
178
|
+
|
|
179
|
+
## Parallelization Opportunities
|
|
180
|
+
<Which tasks can run simultaneously — useful for team or multi-agent execution>
|
|
181
|
+
|
|
182
|
+
## Integration with job-orchestrator
|
|
183
|
+
<How to feed this roadmap into job-orchestrator for automated implementation>
|
|
184
|
+
- Each milestone maps to a job-orchestrator run
|
|
185
|
+
- Tasks within a milestone map to issue-analyzer output format
|
|
186
|
+
- Dependency order maps to wave-based execution
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Step 6: Return Summary
|
|
190
|
+
|
|
191
|
+
Compact summary: milestone count, task count, critical path duration,
|
|
192
|
+
biggest scheduling risk.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prd-creator
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when a vague or unstructured request needs to be converted into a formal, testable Product Requirements Document."
|
|
4
4
|
triggers:
|
|
5
5
|
- "Create a PRD"
|
|
6
6
|
- "Formulate requirements"
|
|
@@ -155,7 +155,7 @@ Then
|
|
|
155
155
|
- You MUST NOT create a single file in the generic `docs/` root.
|
|
156
156
|
|
|
157
157
|
**Orchestrated Mode:**
|
|
158
|
-
- The PRD MUST be saved within the active job's directory for traceability:
|
|
158
|
+
- The PRD MUST be saved within the active job's directory for traceability: `<JOBS_ROOT>/<current_job>/`
|
|
159
159
|
- Follow the orchestrator's constraints for exact file naming in the job context.
|
|
160
160
|
|
|
161
161
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prd-creator
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when a vague or unstructured request needs to be converted into a formal, testable Product Requirements Document."
|
|
4
4
|
triggers:
|
|
5
5
|
- "Create a PRD"
|
|
6
6
|
- "Formulate requirements"
|
|
@@ -155,7 +155,7 @@ Then
|
|
|
155
155
|
- You MUST NOT create a single file in the generic `docs/` root.
|
|
156
156
|
|
|
157
157
|
**Orchestrated Mode:**
|
|
158
|
-
- The PRD MUST be saved within the active job's directory for traceability:
|
|
158
|
+
- The PRD MUST be saved within the active job's directory for traceability: `<JOBS_ROOT>/<current_job>/`
|
|
159
159
|
- Follow the orchestrator's constraints for exact file naming in the job context.
|
|
160
160
|
|
|
161
161
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prd-creator
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when a vague or unstructured request needs to be converted into a formal, testable Product Requirements Document."
|
|
4
4
|
triggers:
|
|
5
5
|
- "Create a PRD"
|
|
6
6
|
- "Formulate requirements"
|
|
@@ -155,7 +155,7 @@ Then
|
|
|
155
155
|
- You MUST NOT create a single file in the generic `docs/` root.
|
|
156
156
|
|
|
157
157
|
**Orchestrated Mode:**
|
|
158
|
-
- The PRD MUST be saved within the active job's directory for traceability:
|
|
158
|
+
- The PRD MUST be saved within the active job's directory for traceability: `<JOBS_ROOT>/<current_job>/`
|
|
159
159
|
- Follow the orchestrator's constraints for exact file naming in the job context.
|
|
160
160
|
|
|
161
161
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prd-creator
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when a vague or unstructured request needs to be converted into a formal, testable Product Requirements Document."
|
|
4
4
|
triggers:
|
|
5
5
|
- "Create a PRD"
|
|
6
6
|
- "Formulate requirements"
|
|
@@ -155,7 +155,7 @@ Then
|
|
|
155
155
|
- You MUST NOT create a single file in the generic `docs/` root.
|
|
156
156
|
|
|
157
157
|
**Orchestrated Mode:**
|
|
158
|
-
- The PRD MUST be saved within the active job's directory for traceability:
|
|
158
|
+
- The PRD MUST be saved within the active job's directory for traceability: `<JOBS_ROOT>/<current_job>/`
|
|
159
159
|
- Follow the orchestrator's constraints for exact file naming in the job context.
|
|
160
160
|
|
|
161
161
|
---
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
name: problem-definer
|
|
3
|
+
description: >
|
|
4
|
+
Defines core problems, goals, non-goals, and success metrics from discovery data.
|
|
5
|
+
Use when: dispatched by gproject-orchestrator Phase 1.
|
|
6
|
+
NOT for: direct user invocation.
|
|
7
7
|
metadata:
|
|
8
|
-
|
|
9
|
-
version: "1.0.0"
|
|
10
|
-
category: "planning"
|
|
8
|
+
version: 1.0.0
|
|
11
9
|
compatible_harnesses: "cursor,codex,zed,opencode"
|
|
12
|
-
license: "MIT"
|
|
13
10
|
---
|
|
14
11
|
|
|
15
|
-
|
|
16
12
|
# gproject-problem-definer
|
|
17
13
|
|
|
18
14
|
## Purpose
|
|
@@ -29,3 +25,131 @@ This phase answers: "Why are we doing this?" and "How will we know we succeeded?
|
|
|
29
25
|
| 3 | Problems MUST be stated from the USER's perspective, not technical |
|
|
30
26
|
| 4 | NEVER introduce solutions in the problem statement |
|
|
31
27
|
| 5 | If discovery brief has low confidence areas, flag them — don't paper over |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Input Contract
|
|
32
|
+
|
|
33
|
+
```yaml
|
|
34
|
+
task: "Define core problems and goals"
|
|
35
|
+
input_artifacts:
|
|
36
|
+
- .metaproject/jobs/<job>/artifacts/discovery-brief.md
|
|
37
|
+
decisions_so_far:
|
|
38
|
+
D_mode: "..."
|
|
39
|
+
D_domain: "..."
|
|
40
|
+
D_audience: "..."
|
|
41
|
+
D_scale_estimate: "..."
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Output Contract
|
|
45
|
+
|
|
46
|
+
```yaml
|
|
47
|
+
status: "DONE" | "NEEDS_CONTEXT"
|
|
48
|
+
summary: "<3-5 sentences: core problem, primary goal, key constraint>"
|
|
49
|
+
new_decisions:
|
|
50
|
+
D_core_problems: ["<problem 1>", "<problem 2>"]
|
|
51
|
+
D_goals: ["<goal 1 + metric>", "<goal 2 + metric>"]
|
|
52
|
+
D_non_goals: ["<non-goal 1>", "<non-goal 2>", "<non-goal 3>"]
|
|
53
|
+
D_success_metrics: ["<metric 1>", "<metric 2>"]
|
|
54
|
+
D_target_users: "<primary persona>"
|
|
55
|
+
artifact_path: ".metaproject/jobs/<job>/artifacts/problem-statement.md"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Workflow
|
|
61
|
+
|
|
62
|
+
### Step 1: Extract Problems
|
|
63
|
+
|
|
64
|
+
From discovery brief, identify:
|
|
65
|
+
- What pain points do target users have?
|
|
66
|
+
- What's broken / missing / inefficient?
|
|
67
|
+
- What opportunity exists?
|
|
68
|
+
|
|
69
|
+
Frame each problem as: "**[User type]** cannot / struggles to **[action]** because **[reason]**, which results in **[consequence]**."
|
|
70
|
+
|
|
71
|
+
### Step 2: Define Goals (SMART)
|
|
72
|
+
|
|
73
|
+
For each problem, define a goal:
|
|
74
|
+
- **Specific** — exactly what will change
|
|
75
|
+
- **Measurable** — quantifiable success metric
|
|
76
|
+
- **Achievable** — realistic given constraints
|
|
77
|
+
- **Relevant** — tied to a real problem
|
|
78
|
+
- **Time-bound** — when to evaluate (if applicable)
|
|
79
|
+
|
|
80
|
+
### Step 3: Define Non-Goals (Critical)
|
|
81
|
+
|
|
82
|
+
Explicitly state what this project will NOT do. This prevents scope creep
|
|
83
|
+
and aligns expectations. Common categories:
|
|
84
|
+
- Features explicitly excluded from scope
|
|
85
|
+
- User segments not targeted
|
|
86
|
+
- Performance levels not targeted (e.g., "not optimized for 1M+ users")
|
|
87
|
+
- Platforms not supported
|
|
88
|
+
- Integrations not included
|
|
89
|
+
|
|
90
|
+
### Step 4: Define Success Metrics
|
|
91
|
+
|
|
92
|
+
For each goal, define how to measure success:
|
|
93
|
+
- Quantitative metrics (response time, conversion rate, error rate)
|
|
94
|
+
- Qualitative metrics (user satisfaction, NPS)
|
|
95
|
+
- Leading indicators (usage frequency, feature adoption)
|
|
96
|
+
|
|
97
|
+
### Step 5: Write Problem Statement
|
|
98
|
+
|
|
99
|
+
Write `artifacts/problem-statement.md`:
|
|
100
|
+
|
|
101
|
+
```markdown
|
|
102
|
+
# Problem Statement: <Project/Task Name>
|
|
103
|
+
|
|
104
|
+
## Core Problems
|
|
105
|
+
### P1: <Problem Title>
|
|
106
|
+
<User type> cannot <action> because <reason>, resulting in <consequence>.
|
|
107
|
+
**Impact**: <high/medium/low>
|
|
108
|
+
**Evidence**: <from discovery brief>
|
|
109
|
+
|
|
110
|
+
### P2: ...
|
|
111
|
+
|
|
112
|
+
## Goals
|
|
113
|
+
### G1: <Goal Title>
|
|
114
|
+
**Statement**: <SMART goal>
|
|
115
|
+
**Success Metric**: <measurable metric>
|
|
116
|
+
**Target**: <specific target value>
|
|
117
|
+
**Measured by**: <how and when>
|
|
118
|
+
|
|
119
|
+
### G2: ...
|
|
120
|
+
|
|
121
|
+
## Non-Goals
|
|
122
|
+
### NG1: <Non-Goal>
|
|
123
|
+
**Why excluded**: <rationale>
|
|
124
|
+
|
|
125
|
+
### NG2: ...
|
|
126
|
+
### NG3: ...
|
|
127
|
+
|
|
128
|
+
## Target Users
|
|
129
|
+
### Primary Persona
|
|
130
|
+
- **Who**: <description>
|
|
131
|
+
- **Core need**: <what they need most>
|
|
132
|
+
- **Current solution**: <how they solve it today>
|
|
133
|
+
|
|
134
|
+
### Secondary Persona (if applicable)
|
|
135
|
+
- ...
|
|
136
|
+
|
|
137
|
+
## Success Criteria
|
|
138
|
+
| Metric | Current State | Target | Measurement Method |
|
|
139
|
+
|--------|--------------|--------|-------------------|
|
|
140
|
+
| <metric> | <baseline or N/A> | <target> | <how to measure> |
|
|
141
|
+
|
|
142
|
+
## Assumptions & Risks
|
|
143
|
+
| Assumption | Risk if Wrong | Mitigation |
|
|
144
|
+
|-----------|--------------|------------|
|
|
145
|
+
| <assumption> | <impact> | <what to do> |
|
|
146
|
+
|
|
147
|
+
## Scope Boundary
|
|
148
|
+
**In scope**: <brief list>
|
|
149
|
+
**Out of scope**: <brief list referencing non-goals>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Step 6: Return Summary
|
|
153
|
+
|
|
154
|
+
Return compact summary to orchestrator: core problem in one sentence,
|
|
155
|
+
primary goal in one sentence, biggest risk, confidence level.
|