@mrciphersmith/keryx 0.2.72 → 0.2.73

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.
Files changed (126) hide show
  1. package/dist/cli.js +352 -22
  2. package/package.json +2 -2
  3. package/src/gdskills/bundled/rules/core/gproject-contracts.mdc +1 -1
  4. package/src/gdskills/bundled/rules/core/jobs-documentation.mdc +1 -1
  5. package/src/gdskills/bundled/rules/core/subagent-context-construction.md +1 -1
  6. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.codex.md +326 -20
  7. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.cursor.md +320 -22
  8. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.opencode.md +326 -12
  9. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.zed.md +333 -9
  10. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.codex.md +92 -4
  11. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.cursor.md +92 -4
  12. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.opencode.md +92 -4
  13. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.zed.md +92 -4
  14. package/src/gdskills/bundled/skills/orchestration/context-collector/orchestrator-prompt.md +1 -1
  15. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.codex.md +154 -1098
  16. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.cursor.md +154 -1098
  17. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.opencode.md +154 -1098
  18. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.zed.md +154 -1098
  19. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/orchestrator-prompt.md +1 -1
  20. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.codex.md +101 -41
  21. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.cursor.md +101 -41
  22. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.codex.md +115 -49
  23. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.cursor.md +115 -49
  24. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.opencode.md +115 -49
  25. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.zed.md +115 -49
  26. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/orchestrator-prompt.md +1 -1
  27. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.codex.md +15 -6
  28. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.cursor.md +15 -6
  29. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.opencode.md +15 -6
  30. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.zed.md +15 -6
  31. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.codex.md +1 -1
  32. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.cursor.md +1 -1
  33. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.md +1 -1
  34. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.opencode.md +1 -1
  35. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.zed.md +1 -1
  36. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.codex.md +300 -55
  37. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.cursor.md +300 -55
  38. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.md +120 -37
  39. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.opencode.md +300 -55
  40. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.zed.md +300 -55
  41. package/src/gdskills/bundled/skills/orchestration/task-implementer/input-contract.schema.json +56 -14
  42. package/src/gdskills/bundled/skills/orchestration/task-implementer/orchestrator-prompt.md +50 -23
  43. package/src/gdskills/bundled/skills/orchestration/task-implementer/output-contract.schema.json +6 -2
  44. package/src/gdskills/bundled/skills/orchestration/task-implementer/task-request.template.md +18 -12
  45. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.codex.md +1 -1
  46. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.cursor.md +1 -1
  47. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.codex.md +168 -9
  48. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.cursor.md +168 -9
  49. package/src/gdskills/bundled/skills/planning/interview/SKILL.codex.md +7 -1
  50. package/src/gdskills/bundled/skills/planning/interview/SKILL.cursor.md +7 -1
  51. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.codex.md +7 -1
  52. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.cursor.md +7 -1
  53. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.codex.md +215 -9
  54. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.cursor.md +215 -9
  55. package/src/gdskills/bundled/skills/planning/planner/SKILL.codex.md +168 -9
  56. package/src/gdskills/bundled/skills/planning/planner/SKILL.cursor.md +168 -9
  57. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.codex.md +2 -2
  58. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.cursor.md +2 -2
  59. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.opencode.md +2 -2
  60. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.zed.md +2 -2
  61. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.codex.md +133 -9
  62. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.cursor.md +133 -9
  63. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.codex.md +145 -9
  64. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.cursor.md +145 -9
  65. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.codex.md +210 -9
  66. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.cursor.md +210 -9
  67. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.codex.md +161 -9
  68. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.cursor.md +161 -9
  69. package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.codex.md +1 -1
  70. package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.cursor.md +1 -1
  71. package/src/gdskills/bundled/skills/platform/hookify/SKILL.codex.md +1 -1
  72. package/src/gdskills/bundled/skills/platform/hookify/SKILL.cursor.md +1 -1
  73. package/src/gdskills/bundled/skills/quality/changelog/SKILL.codex.md +1 -1
  74. package/src/gdskills/bundled/skills/quality/changelog/SKILL.cursor.md +1 -1
  75. package/src/gdskills/bundled/skills/quality/commit/SKILL.codex.md +1 -1
  76. package/src/gdskills/bundled/skills/quality/commit/SKILL.cursor.md +1 -1
  77. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.codex.md +1 -1
  78. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.cursor.md +1 -1
  79. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.codex.md +1 -1
  80. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.cursor.md +1 -1
  81. package/src/gdskills/bundled/skills/quality/deploy/SKILL.codex.md +1 -1
  82. package/src/gdskills/bundled/skills/quality/deploy/SKILL.cursor.md +1 -1
  83. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.codex.md +1 -1
  84. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.cursor.md +1 -1
  85. package/src/gdskills/bundled/skills/quality/pr/SKILL.codex.md +1 -1
  86. package/src/gdskills/bundled/skills/quality/pr/SKILL.cursor.md +1 -1
  87. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.codex.md +15 -1
  88. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.cursor.md +248 -165
  89. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.opencode.md +15 -1
  90. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.zed.md +359 -19
  91. package/src/gdskills/bundled/skills/quality/push/SKILL.codex.md +1 -1
  92. package/src/gdskills/bundled/skills/quality/push/SKILL.cursor.md +1 -1
  93. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.codex.md +1 -1
  94. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.cursor.md +1 -1
  95. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.codex.md +1 -1
  96. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.cursor.md +1 -1
  97. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.codex.md +299 -24
  98. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.cursor.md +296 -31
  99. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.opencode.md +309 -18
  100. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.zed.md +312 -17
  101. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.codex.md +29 -30
  102. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.cursor.md +29 -30
  103. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.opencode.md +29 -30
  104. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.zed.md +29 -30
  105. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.codex.md +21 -30
  106. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.cursor.md +21 -30
  107. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.opencode.md +21 -30
  108. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.zed.md +21 -30
  109. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.codex.md +19 -23
  110. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.cursor.md +19 -23
  111. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.opencode.md +19 -23
  112. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.zed.md +19 -23
  113. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.codex.md +17 -24
  114. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.cursor.md +17 -24
  115. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.opencode.md +17 -24
  116. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.zed.md +17 -24
  117. package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +16 -3
  118. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.claude.md +0 -46
  119. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.claude.md +0 -94
  120. package/src/gdskills/bundled/skills/quality/changelog/SKILL.claude.md +0 -45
  121. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.claude.md +0 -40
  122. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.claude.md +0 -45
  123. package/src/gdskills/bundled/skills/quality/deploy/SKILL.claude.md +0 -42
  124. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.claude.md +0 -48
  125. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.claude.md +0 -40
  126. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.claude.md +0 -30
@@ -1,18 +1,14 @@
1
1
  ---
2
2
  name: gproject-discovery
3
- description: "Collects and structures initial project information from user input, documents, codebase, and web research. Use when: dispatched by gproject-orchestrator Phase 0."
4
- triggers:
5
- - "gproject-discovery: collect project data"
6
- - "Dispatched by gproject-orchestrator Phase 0"
3
+ description: >
4
+ Collects and structures initial project information from multiple sources.
5
+ Use when: dispatched by gproject-orchestrator Phase 0.
6
+ NOT for: direct user invocation — always called through orchestrator.
7
7
  metadata:
8
- author: "MrCipherSmith"
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-discovery
17
13
 
18
14
  ## Purpose
@@ -30,3 +26,143 @@ depends on the quality of discovery.
30
26
  | 3 | If a critical area has no data, return NEEDS_CONTEXT — don't fill gaps with guesses |
31
27
  | 4 | Web research MUST cite sources |
32
28
  | 5 | Codebase analysis MUST reference actual file paths |
29
+
30
+ ---
31
+
32
+ ## Input Contract
33
+
34
+ ```yaml
35
+ task: "Collect project discovery data"
36
+ mode: "new_project" | "task_in_project"
37
+ user_input: "<original user request text>"
38
+ uploaded_docs: [<file paths if any>]
39
+ repo_path: "<path if task_in_project>"
40
+ interview_results: "<from interview skill, if already run>"
41
+ ```
42
+
43
+ ## Output Contract
44
+
45
+ ```yaml
46
+ status: "DONE" | "NEEDS_CONTEXT"
47
+ summary: "<3-5 sentences: what was found, key gaps, confidence level>"
48
+ new_decisions:
49
+ D_mode: "new_project | task_in_project"
50
+ D_domain: "<business domain>"
51
+ D_audience: "<target users>"
52
+ D_scale_estimate: "<rough scale: personal/team/startup/enterprise>"
53
+ artifact_path: ".metaproject/jobs/<job>/artifacts/discovery-brief.md"
54
+ ```
55
+
56
+ If NEEDS_CONTEXT:
57
+ ```yaml
58
+ status: "NEEDS_CONTEXT"
59
+ questions:
60
+ - id: "Q1"
61
+ text: "<question>"
62
+ options:
63
+ A: "<option>"
64
+ B: "<option>"
65
+ C: "<option>"
66
+ D: "<option>"
67
+ why: "<why this matters for downstream phases>"
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Workflow
73
+
74
+ ### Step 1: Parse User Input
75
+
76
+ Extract from the user's original request:
77
+ - What they want to build/implement
78
+ - Any constraints mentioned (budget, timeline, team size)
79
+ - Any technical preferences mentioned
80
+ - Target audience / users mentioned
81
+
82
+ ### Step 2: Source-Specific Collection
83
+
84
+ #### Mode: new_project
85
+
86
+ 1. **User input analysis** — extract all explicit and implied requirements
87
+ 2. **Uploaded documents** — parse any attached files (briefs, notes, mockups, transcripts)
88
+ 3. **Web research** — search for:
89
+ - Similar products / competitors (max 5)
90
+ - Market context and trends
91
+ - Common technical approaches for this type of project
92
+ 4. **Gap identification** — list what's missing for confident decision-making
93
+
94
+ #### Mode: task_in_project
95
+
96
+ 1. **User input analysis** — extract the specific task/feature request
97
+ 2. **Codebase scan** (via context-collector) — gather:
98
+ - Project structure (directories, key files)
99
+ - Technology stack (package.json, requirements.txt, Dockerfile, etc.)
100
+ - Architecture patterns in use
101
+ - Existing documentation (README, docs/, ADRs)
102
+ - Related code areas (files likely affected by this task)
103
+ 3. **Existing docs** — parse project documentation for context
104
+ 4. **Web research** — best practices for the specific task within the detected stack
105
+ 5. **Gap identification** — what's unclear about the existing codebase or requirements
106
+
107
+ ### Step 3: Structure Discovery Brief
108
+
109
+ Write `artifacts/discovery-brief.md` with this structure:
110
+
111
+ ```markdown
112
+ # Discovery Brief: <Project/Task Name>
113
+
114
+ ## Source Summary
115
+ - User input: <what was provided>
116
+ - Documents analyzed: <list>
117
+ - Codebase scanned: <yes/no, scope>
118
+ - Web research: <topics covered>
119
+
120
+ ## Project/Task Description
121
+ <Clear 2-3 paragraph description of what needs to be built/done>
122
+
123
+ ## Key Facts (confirmed)
124
+ - <fact 1> [source: user input / document / codebase]
125
+ - <fact 2> [source: ...]
126
+
127
+ ## Assumptions (need validation)
128
+ - <assumption 1> — confidence: high/medium/low
129
+ - <assumption 2> — confidence: ...
130
+
131
+ ## Stakeholders & Users
132
+ - Primary users: <who>
133
+ - Secondary users: <who>
134
+ - Stakeholders: <who decides>
135
+
136
+ ## Existing Context (task_in_project only)
137
+ - Tech stack: <detected>
138
+ - Architecture: <detected patterns>
139
+ - Related components: <list with file paths>
140
+ - Existing patterns to follow: <list>
141
+
142
+ ## Competitive / Market Context (new_project only)
143
+ - Similar products: <list with brief notes>
144
+ - Differentiators mentioned: <list>
145
+ - Market trends: <relevant>
146
+
147
+ ## Constraints Identified
148
+ - Budget: <if mentioned>
149
+ - Timeline: <if mentioned>
150
+ - Team: <size, skills if mentioned>
151
+ - Technical: <any mentioned constraints>
152
+
153
+ ## Open Questions
154
+ - <question 1> — impacts: <which downstream decisions>
155
+ - <question 2> — impacts: ...
156
+
157
+ ## Confidence Assessment
158
+ - Overall completeness: <high/medium/low>
159
+ - Areas needing more data: <list>
160
+ ```
161
+
162
+ ### Step 4: Return Summary to Orchestrator
163
+
164
+ Compose compact summary (3-5 sentences) covering:
165
+ - What the project/task is about
166
+ - Key constraints discovered
167
+ - Confidence level
168
+ - Critical gaps that need resolution
@@ -1,18 +1,14 @@
1
1
  ---
2
2
  name: gproject-discovery
3
- description: "Collects and structures initial project information from user input, documents, codebase, and web research. Use when: dispatched by gproject-orchestrator Phase 0."
4
- triggers:
5
- - "gproject-discovery: collect project data"
6
- - "Dispatched by gproject-orchestrator Phase 0"
3
+ description: >
4
+ Collects and structures initial project information from multiple sources.
5
+ Use when: dispatched by gproject-orchestrator Phase 0.
6
+ NOT for: direct user invocation — always called through orchestrator.
7
7
  metadata:
8
- author: "MrCipherSmith"
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-discovery
17
13
 
18
14
  ## Purpose
@@ -30,3 +26,143 @@ depends on the quality of discovery.
30
26
  | 3 | If a critical area has no data, return NEEDS_CONTEXT — don't fill gaps with guesses |
31
27
  | 4 | Web research MUST cite sources |
32
28
  | 5 | Codebase analysis MUST reference actual file paths |
29
+
30
+ ---
31
+
32
+ ## Input Contract
33
+
34
+ ```yaml
35
+ task: "Collect project discovery data"
36
+ mode: "new_project" | "task_in_project"
37
+ user_input: "<original user request text>"
38
+ uploaded_docs: [<file paths if any>]
39
+ repo_path: "<path if task_in_project>"
40
+ interview_results: "<from interview skill, if already run>"
41
+ ```
42
+
43
+ ## Output Contract
44
+
45
+ ```yaml
46
+ status: "DONE" | "NEEDS_CONTEXT"
47
+ summary: "<3-5 sentences: what was found, key gaps, confidence level>"
48
+ new_decisions:
49
+ D_mode: "new_project | task_in_project"
50
+ D_domain: "<business domain>"
51
+ D_audience: "<target users>"
52
+ D_scale_estimate: "<rough scale: personal/team/startup/enterprise>"
53
+ artifact_path: ".metaproject/jobs/<job>/artifacts/discovery-brief.md"
54
+ ```
55
+
56
+ If NEEDS_CONTEXT:
57
+ ```yaml
58
+ status: "NEEDS_CONTEXT"
59
+ questions:
60
+ - id: "Q1"
61
+ text: "<question>"
62
+ options:
63
+ A: "<option>"
64
+ B: "<option>"
65
+ C: "<option>"
66
+ D: "<option>"
67
+ why: "<why this matters for downstream phases>"
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Workflow
73
+
74
+ ### Step 1: Parse User Input
75
+
76
+ Extract from the user's original request:
77
+ - What they want to build/implement
78
+ - Any constraints mentioned (budget, timeline, team size)
79
+ - Any technical preferences mentioned
80
+ - Target audience / users mentioned
81
+
82
+ ### Step 2: Source-Specific Collection
83
+
84
+ #### Mode: new_project
85
+
86
+ 1. **User input analysis** — extract all explicit and implied requirements
87
+ 2. **Uploaded documents** — parse any attached files (briefs, notes, mockups, transcripts)
88
+ 3. **Web research** — search for:
89
+ - Similar products / competitors (max 5)
90
+ - Market context and trends
91
+ - Common technical approaches for this type of project
92
+ 4. **Gap identification** — list what's missing for confident decision-making
93
+
94
+ #### Mode: task_in_project
95
+
96
+ 1. **User input analysis** — extract the specific task/feature request
97
+ 2. **Codebase scan** (via context-collector) — gather:
98
+ - Project structure (directories, key files)
99
+ - Technology stack (package.json, requirements.txt, Dockerfile, etc.)
100
+ - Architecture patterns in use
101
+ - Existing documentation (README, docs/, ADRs)
102
+ - Related code areas (files likely affected by this task)
103
+ 3. **Existing docs** — parse project documentation for context
104
+ 4. **Web research** — best practices for the specific task within the detected stack
105
+ 5. **Gap identification** — what's unclear about the existing codebase or requirements
106
+
107
+ ### Step 3: Structure Discovery Brief
108
+
109
+ Write `artifacts/discovery-brief.md` with this structure:
110
+
111
+ ```markdown
112
+ # Discovery Brief: <Project/Task Name>
113
+
114
+ ## Source Summary
115
+ - User input: <what was provided>
116
+ - Documents analyzed: <list>
117
+ - Codebase scanned: <yes/no, scope>
118
+ - Web research: <topics covered>
119
+
120
+ ## Project/Task Description
121
+ <Clear 2-3 paragraph description of what needs to be built/done>
122
+
123
+ ## Key Facts (confirmed)
124
+ - <fact 1> [source: user input / document / codebase]
125
+ - <fact 2> [source: ...]
126
+
127
+ ## Assumptions (need validation)
128
+ - <assumption 1> — confidence: high/medium/low
129
+ - <assumption 2> — confidence: ...
130
+
131
+ ## Stakeholders & Users
132
+ - Primary users: <who>
133
+ - Secondary users: <who>
134
+ - Stakeholders: <who decides>
135
+
136
+ ## Existing Context (task_in_project only)
137
+ - Tech stack: <detected>
138
+ - Architecture: <detected patterns>
139
+ - Related components: <list with file paths>
140
+ - Existing patterns to follow: <list>
141
+
142
+ ## Competitive / Market Context (new_project only)
143
+ - Similar products: <list with brief notes>
144
+ - Differentiators mentioned: <list>
145
+ - Market trends: <relevant>
146
+
147
+ ## Constraints Identified
148
+ - Budget: <if mentioned>
149
+ - Timeline: <if mentioned>
150
+ - Team: <size, skills if mentioned>
151
+ - Technical: <any mentioned constraints>
152
+
153
+ ## Open Questions
154
+ - <question 1> — impacts: <which downstream decisions>
155
+ - <question 2> — impacts: ...
156
+
157
+ ## Confidence Assessment
158
+ - Overall completeness: <high/medium/low>
159
+ - Areas needing more data: <list>
160
+ ```
161
+
162
+ ### Step 4: Return Summary to Orchestrator
163
+
164
+ Compose compact summary (3-5 sentences) covering:
165
+ - What the project/task is about
166
+ - Key constraints discovered
167
+ - Confidence level
168
+ - Critical gaps that need resolution
@@ -1,18 +1,15 @@
1
1
  ---
2
2
  name: gproject-spec-writer
3
- description: "Generates PRD or Implementation Plan constrained by upstream decisions, architecture, and best practices. Use when: dispatched by gproject-orchestrator Phase 4."
4
- triggers:
5
- - "gproject-spec-writer: write PRD"
6
- - "Dispatched by gproject-orchestrator Phase 4"
3
+ description: >
4
+ Generates PRD or Implementation Plan constrained by decisions registry,
5
+ architecture doc, and best practices. Does NOT invent new architectural decisions.
6
+ Use when: dispatched by gproject-orchestrator Phase 4.
7
+ NOT for: direct user invocation.
7
8
  metadata:
8
- author: "MrCipherSmith"
9
- version: "1.0.0"
10
- category: "planning"
9
+ version: 1.0.0
11
10
  compatible_harnesses: "cursor,codex,zed,opencode"
12
- license: "MIT"
13
11
  ---
14
12
 
15
-
16
13
  # gproject-spec-writer
17
14
 
18
15
  ## Purpose
@@ -42,3 +39,207 @@ into actionable requirements and user stories.
42
39
  | User story without acceptance criteria | Untestable requirement | STOP → add criteria or flag as incomplete |
43
40
  | Feature that contradicts a non-goal | Scope creep | STOP → remove or flag as conflict |
44
41
  | Technical spec section with no BP constraint reference | Unconstrained decision | STOP → find applicable constraint or flag gap |
42
+
43
+ ---
44
+
45
+ ## Input Contract
46
+
47
+ ```yaml
48
+ task: "Generate PRD / Implementation Plan"
49
+ mode: "new_project" | "task_in_project"
50
+ input_artifacts:
51
+ - .metaproject/jobs/<job>/artifacts/problem-statement.md
52
+ - .metaproject/jobs/<job>/artifacts/architecture.md
53
+ - .metaproject/jobs/<job>/artifacts/tech-bestpractices.md
54
+ - .metaproject/jobs/<job>/decisions.md
55
+ decisions_so_far: <all decisions from D1 through D_arch_pattern>
56
+ ```
57
+
58
+ ## Output Contract
59
+
60
+ ```yaml
61
+ status: "DONE" | "DONE_WITH_CONCERNS" | "BLOCKED"
62
+ summary: "<3-5 sentences: document type, user story count, key scope decisions>"
63
+ new_decisions: {} # PRD does NOT add architectural decisions
64
+ concerns: ["<if DONE_WITH_CONCERNS — gaps or ambiguities found>"]
65
+ artifact_path: ".metaproject/jobs/<job>/artifacts/prd.md"
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Workflow
71
+
72
+ ### Step 1: Validate Inputs
73
+
74
+ Before writing anything, verify:
75
+ - [ ] All referenced decisions exist in decisions.md
76
+ - [ ] No contradictions between problem-statement and architecture
77
+ - [ ] Best practices constraints are internally consistent
78
+ - [ ] Scope (goals + non-goals) is clear
79
+
80
+ If validation fails → return `STATUS: BLOCKED` with specific issues.
81
+
82
+ ### Step 2: Determine Document Type
83
+
84
+ ```
85
+ IF mode == "new_project":
86
+ → Write full PRD (template A below)
87
+ ELSE IF mode == "task_in_project":
88
+ → Write Implementation Plan (template B below)
89
+ ```
90
+
91
+ ### Step 3: Write User Stories
92
+
93
+ For each goal in problem-statement.md, generate user stories:
94
+
95
+ Format:
96
+ ```
97
+ ### US-<NNN>: <Title>
98
+ **As a** <user type from D_target_users>
99
+ **I want to** <action>
100
+ **So that** <benefit tied to goal G_N>
101
+
102
+ **Acceptance Criteria:**
103
+ - [ ] <specific, testable criterion>
104
+ - [ ] <specific, testable criterion>
105
+ - [ ] <specific, testable criterion>
106
+
107
+ **Technical Notes:**
108
+ - Constraint ref: <reference to tech-bestpractices.md constraint>
109
+ - Architecture ref: <reference to architecture.md section>
110
+
111
+ **Priority:** P0 (must-have) | P1 (should-have) | P2 (nice-to-have)
112
+ ```
113
+
114
+ Prioritization rules:
115
+ - **P0**: directly solves a core problem (P1/P2 in problem-statement)
116
+ - **P1**: supports a goal but not critical for launch
117
+ - **P2**: enhances experience, can be deferred
118
+
119
+ ### Step 4: Write Document
120
+
121
+ #### Template A: Full PRD (new_project)
122
+
123
+ ```markdown
124
+ # PRD: <Project Name>
125
+
126
+ ## Document Metadata
127
+ - **Based on**: problem-statement.md, architecture.md, tech-bestpractices.md
128
+ - **Decisions referenced**: <list of D_* IDs>
129
+ - **Generated by**: gproject-spec-writer v1.0.0
130
+
131
+ ## Executive Summary
132
+ <2-3 paragraphs: what, why, for whom, high-level how>
133
+
134
+ ## Goals & Success Metrics
135
+ <from problem-statement.md — reference, don't duplicate>
136
+ | Goal ID | Goal | Success Metric | Target |
137
+ |---------|------|---------------|--------|
138
+ | G1 | <goal> | <metric> | <target> |
139
+
140
+ ## Non-Goals
141
+ <from problem-statement.md — reference explicitly>
142
+
143
+ ## Technical Foundation
144
+ **Stack**: <from stack-decision.md — summarize, don't duplicate>
145
+ **Architecture**: <from architecture.md — summarize>
146
+ **Key Constraints**: <from tech-bestpractices.md — list MUST constraints>
147
+
148
+ ## User Stories
149
+
150
+ ### Epic 1: <Epic Name>
151
+ <Group of related user stories>
152
+
153
+ #### US-001: <Title>
154
+ ...
155
+
156
+ ### Epic 2: <Epic Name>
157
+ ...
158
+
159
+ ## Data Model (High-Level)
160
+ <Key entities and relationships — aligned with DB constraints from BP>
161
+
162
+ ## API Surface (High-Level)
163
+ <Key endpoints/operations — aligned with API constraints from BP>
164
+
165
+ ## Security Requirements
166
+ <Aligned with security constraints from BP>
167
+
168
+ ## Testing Requirements
169
+ <Aligned with testing constraints from BP — reference test pyramid targets>
170
+
171
+ ## Out of Scope
172
+ <Explicit reference to non-goals + any additional scope exclusions>
173
+
174
+ ## Open Questions
175
+ <Any remaining ambiguities — flagged for orchestrator>
176
+
177
+ ## Traceability Matrix
178
+ | User Story | Goal | Problem | BP Constraint | Architecture Section |
179
+ |-----------|------|---------|---------------|---------------------|
180
+ | US-001 | G1 | P1 | Frontend.MUST.1 | Layer: API |
181
+ | US-002 | G1 | P1 | Backend.MUST.3 | Layer: Service |
182
+ ```
183
+
184
+ #### Template B: Implementation Plan (task_in_project)
185
+
186
+ ```markdown
187
+ # Implementation Plan: <Task Name>
188
+
189
+ ## Document Metadata
190
+ - **Based on**: discovery-brief.md, architecture.md, tech-bestpractices.md
191
+ - **Existing project context**: ai/context.md
192
+ - **Decisions referenced**: <list of D_* IDs>
193
+
194
+ ## Summary
195
+ <What needs to be done, why, and how it fits into existing architecture>
196
+
197
+ ## Impact Analysis
198
+ ### Files Affected
199
+ | File/Module | Change Type | Risk |
200
+ |------------|------------|------|
201
+ | <path> | modify / create / delete | low / medium / high |
202
+
203
+ ### Dependencies
204
+ - <component X depends on this change>
205
+ - <this change requires Y to be done first>
206
+
207
+ ## Implementation Steps
208
+
209
+ ### Step 1: <Title>
210
+ **What**: <specific change>
211
+ **Where**: <file paths>
212
+ **Pattern to follow**: <reference existing project patterns>
213
+ **BP constraint**: <reference tech-bestpractices.md>
214
+ **Acceptance criteria**:
215
+ - [ ] <testable criterion>
216
+
217
+ ### Step 2: ...
218
+
219
+ ## Testing Plan
220
+ <Aligned with testing constraints — what tests to write, what coverage>
221
+
222
+ ## Migration / Rollback Plan (if applicable)
223
+ <How to roll back if something goes wrong>
224
+
225
+ ## Traceability Matrix
226
+ | Step | Goal | BP Constraint | Existing Pattern |
227
+ |------|------|---------------|-----------------|
228
+ | Step 1 | G1 | Backend.MUST.2 | existing-service.ts pattern |
229
+ ```
230
+
231
+ ### Step 5: Self-Validate
232
+
233
+ Before returning, check:
234
+ - [ ] Every user story traces to a goal
235
+ - [ ] No features from non-goals list
236
+ - [ ] Every technical note references a BP constraint
237
+ - [ ] All acceptance criteria are testable (no "should work well")
238
+ - [ ] Traceability matrix is complete
239
+
240
+ If self-validation finds issues → fix them. If unfixable → return `DONE_WITH_CONCERNS`.
241
+
242
+ ### Step 6: Return Summary
243
+
244
+ Compact summary: document type, total user stories / steps,
245
+ P0 count, any concerns or gaps found during self-validation.