@mrciphersmith/keryx 0.2.71 → 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 (162) hide show
  1. package/dist/cli.js +4632 -2229
  2. package/package.json +2 -2
  3. package/src/gdskills/bundled/rules/core/code-review-learned-profile.mdc +81 -0
  4. package/src/gdskills/bundled/rules/core/gproject-contracts.mdc +1 -1
  5. package/src/gdskills/bundled/rules/core/jobs-documentation.mdc +2 -2
  6. package/src/gdskills/bundled/rules/core/review-strict-profile.mdc +8 -4
  7. package/src/gdskills/bundled/rules/core/subagent-context-construction.md +1 -1
  8. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.codex.md +326 -20
  9. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.cursor.md +320 -22
  10. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.opencode.md +326 -12
  11. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.zed.md +333 -9
  12. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.codex.md +94 -6
  13. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.cursor.md +94 -6
  14. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.md +2 -2
  15. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.opencode.md +94 -6
  16. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.zed.md +94 -6
  17. package/src/gdskills/bundled/skills/orchestration/context-collector/orchestrator-prompt.md +3 -3
  18. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.codex.md +154 -1098
  19. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.cursor.md +154 -1098
  20. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.md +3 -3
  21. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.opencode.md +154 -1098
  22. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.zed.md +154 -1098
  23. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/orchestrator-prompt.md +1 -1
  24. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.codex.md +102 -42
  25. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.cursor.md +102 -42
  26. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.md +2 -2
  27. package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/SKILL.md +2 -2
  28. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.codex.md +115 -49
  29. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.cursor.md +115 -49
  30. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.opencode.md +115 -49
  31. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.zed.md +115 -49
  32. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/orchestrator-prompt.md +1 -1
  33. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.codex.md +16 -7
  34. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.cursor.md +16 -7
  35. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.md +1 -1
  36. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.opencode.md +16 -7
  37. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.zed.md +16 -7
  38. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.codex.md +973 -510
  39. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.cursor.md +973 -510
  40. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.md +944 -514
  41. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.opencode.md +973 -510
  42. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.zed.md +973 -510
  43. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/input-contract.schema.json +38 -28
  44. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/orchestrator-prompt.md +98 -66
  45. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/output-contract.schema.json +27 -5
  46. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.codex.md +300 -55
  47. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.cursor.md +300 -55
  48. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.md +120 -37
  49. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.opencode.md +300 -55
  50. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.zed.md +300 -55
  51. package/src/gdskills/bundled/skills/orchestration/task-implementer/input-contract.schema.json +57 -15
  52. package/src/gdskills/bundled/skills/orchestration/task-implementer/orchestrator-prompt.md +50 -23
  53. package/src/gdskills/bundled/skills/orchestration/task-implementer/output-contract.schema.json +6 -2
  54. package/src/gdskills/bundled/skills/orchestration/task-implementer/task-request.template.md +18 -12
  55. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.codex.md +1 -1
  56. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.cursor.md +1 -1
  57. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.codex.md +168 -9
  58. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.cursor.md +168 -9
  59. package/src/gdskills/bundled/skills/planning/interview/SKILL.codex.md +7 -1
  60. package/src/gdskills/bundled/skills/planning/interview/SKILL.cursor.md +7 -1
  61. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.codex.md +7 -1
  62. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.cursor.md +7 -1
  63. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.codex.md +215 -9
  64. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.cursor.md +215 -9
  65. package/src/gdskills/bundled/skills/planning/planner/SKILL.codex.md +168 -9
  66. package/src/gdskills/bundled/skills/planning/planner/SKILL.cursor.md +168 -9
  67. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.codex.md +2 -2
  68. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.cursor.md +2 -2
  69. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.opencode.md +2 -2
  70. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.zed.md +2 -2
  71. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.codex.md +133 -9
  72. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.cursor.md +133 -9
  73. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.codex.md +145 -9
  74. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.cursor.md +145 -9
  75. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.codex.md +210 -9
  76. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.cursor.md +210 -9
  77. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.codex.md +161 -9
  78. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.cursor.md +161 -9
  79. package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.codex.md +1 -1
  80. package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.cursor.md +1 -1
  81. package/src/gdskills/bundled/skills/platform/hookify/SKILL.codex.md +1 -1
  82. package/src/gdskills/bundled/skills/platform/hookify/SKILL.cursor.md +1 -1
  83. package/src/gdskills/bundled/skills/quality/changelog/SKILL.codex.md +1 -1
  84. package/src/gdskills/bundled/skills/quality/changelog/SKILL.cursor.md +1 -1
  85. package/src/gdskills/bundled/skills/quality/commit/SKILL.codex.md +1 -1
  86. package/src/gdskills/bundled/skills/quality/commit/SKILL.cursor.md +1 -1
  87. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.codex.md +1 -1
  88. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.cursor.md +1 -1
  89. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.codex.md +1 -1
  90. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.cursor.md +1 -1
  91. package/src/gdskills/bundled/skills/quality/deploy/SKILL.codex.md +1 -1
  92. package/src/gdskills/bundled/skills/quality/deploy/SKILL.cursor.md +1 -1
  93. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.codex.md +1 -1
  94. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.cursor.md +1 -1
  95. package/src/gdskills/bundled/skills/quality/pr/SKILL.codex.md +1 -1
  96. package/src/gdskills/bundled/skills/quality/pr/SKILL.cursor.md +1 -1
  97. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.codex.md +15 -1
  98. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.cursor.md +248 -165
  99. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.opencode.md +15 -1
  100. package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.zed.md +359 -19
  101. package/src/gdskills/bundled/skills/quality/push/SKILL.codex.md +1 -1
  102. package/src/gdskills/bundled/skills/quality/push/SKILL.cursor.md +1 -1
  103. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.codex.md +1 -1
  104. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.cursor.md +1 -1
  105. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.codex.md +1 -1
  106. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.cursor.md +1 -1
  107. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.codex.md +299 -24
  108. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.cursor.md +296 -31
  109. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.opencode.md +309 -18
  110. package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.zed.md +312 -17
  111. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.codex.md +29 -30
  112. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.cursor.md +29 -30
  113. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.md +2 -2
  114. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.opencode.md +29 -30
  115. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.zed.md +29 -30
  116. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.codex.md +243 -0
  117. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.cursor.md +243 -0
  118. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.md +243 -0
  119. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.opencode.md +243 -0
  120. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.zed.md +243 -0
  121. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.codex.md +19 -23
  122. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.cursor.md +19 -23
  123. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.md +1 -1
  124. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.opencode.md +19 -23
  125. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.zed.md +19 -23
  126. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.codex.md +17 -24
  127. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.cursor.md +17 -24
  128. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.md +1 -1
  129. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.opencode.md +17 -24
  130. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.zed.md +17 -24
  131. package/src/gdskills/bundled/skills/review/review-architecture/SKILL.md +1 -1
  132. package/src/gdskills/bundled/skills/review/review-backend/SKILL.md +1 -1
  133. package/src/gdskills/bundled/skills/review/review-clean-code/SKILL.md +1 -1
  134. package/src/gdskills/bundled/skills/review/review-core-boundaries/SKILL.md +1 -1
  135. package/src/gdskills/bundled/skills/review/review-flow-graph/SKILL.md +1 -1
  136. package/src/gdskills/bundled/skills/review/review-frontend/SKILL.md +1 -1
  137. package/src/gdskills/bundled/skills/review/review-frontend-conventions/SKILL.md +1 -1
  138. package/src/gdskills/bundled/skills/review/review-highload/SKILL.md +1 -1
  139. package/src/gdskills/bundled/skills/review/review-logic/SKILL.md +2 -2
  140. package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +26 -13
  141. package/src/gdskills/bundled/skills/review/review-performance/SKILL.md +1 -1
  142. package/src/gdskills/bundled/skills/review/review-pr-feedback/SKILL.md +36 -17
  143. package/src/gdskills/bundled/skills/review/review-security-code/SKILL.md +1 -1
  144. package/src/gdskills/bundled/skills/review/review-style/SKILL.md +1 -1
  145. package/src/gdskills/bundled/skills/review/review-testing-practices/SKILL.md +1 -1
  146. package/src/gdskills/bundled/skills/review/review-verifier/SKILL.md +1 -1
  147. package/src/gdskills/bundled/skills/shared/git-merge-base.md +1 -1
  148. package/src/gdskills/bundled/rules/core/code-review-b091-profile.mdc +0 -48
  149. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.claude.md +0 -46
  150. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.claude.md +0 -94
  151. package/src/gdskills/bundled/skills/quality/changelog/SKILL.claude.md +0 -45
  152. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.claude.md +0 -40
  153. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.claude.md +0 -45
  154. package/src/gdskills/bundled/skills/quality/deploy/SKILL.claude.md +0 -42
  155. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.claude.md +0 -48
  156. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.claude.md +0 -40
  157. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.claude.md +0 -30
  158. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.codex.md +0 -209
  159. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.cursor.md +0 -209
  160. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.md +0 -208
  161. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.opencode.md +0 -209
  162. package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.zed.md +0 -209
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: interviewer
3
- description: "Critical requirements interviewer that gathers precise context before complex tasks. Asks one focused question at a time (with A/B/C options where applicable). Skips questions already answered by provided context. Can be called by other skills as a sub-agent or directly by the user. Outputs structured context for the calling skill."
3
+ description: "Use when requirements are ambiguous and precise clarification is needed before proceeding with a complex task."
4
4
  triggers:
5
5
  - "Interview me"
6
6
  - "Ask me questions"
@@ -15,6 +15,12 @@ metadata:
15
15
  license: "MIT"
16
16
  ---
17
17
 
18
+ <SUBAGENT-STOP>
19
+ If you were dispatched as a subagent to execute a specific task, skip this skill entirely.
20
+ This skill is for orchestrators and interactive session-level routing only.
21
+ Proceed directly with your assigned task.
22
+ </SUBAGENT-STOP>
23
+
18
24
  # Interviewer
19
25
 
20
26
  ## Purpose
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: interviewer
3
- description: "Critical requirements interviewer that gathers precise context before complex tasks. Asks one focused question at a time (with A/B/C options where applicable). Skips questions already answered by provided context. Can be called by other skills as a sub-agent or directly by the user. Outputs structured context for the calling skill."
3
+ description: "Use when requirements are ambiguous and precise clarification is needed before proceeding with a complex task."
4
4
  triggers:
5
5
  - "Interview me"
6
6
  - "Ask me questions"
@@ -15,6 +15,12 @@ metadata:
15
15
  license: "MIT"
16
16
  ---
17
17
 
18
+ <SUBAGENT-STOP>
19
+ If you were dispatched as a subagent to execute a specific task, skip this skill entirely.
20
+ This skill is for orchestrators and interactive session-level routing only.
21
+ Proceed directly with your assigned task.
22
+ </SUBAGENT-STOP>
23
+
18
24
  # Interviewer
19
25
 
20
26
  ## Purpose
@@ -1,18 +1,15 @@
1
1
  ---
2
2
  name: gproject-patterns-researcher
3
- description: "Researches per-technology best practices and defines architecture patterns that become binding PRD constraints. Use when: dispatched by gproject-orchestrator Phase 3."
4
- triggers:
5
- - "gproject-patterns-researcher: research patterns"
6
- - "Dispatched by gproject-orchestrator Phase 3"
3
+ description: >
4
+ Researches best practices per technology in the chosen stack and defines
5
+ application architecture patterns. Produces constraints that PRD must follow.
6
+ Use when: dispatched by gproject-orchestrator Phase 3.
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-patterns-researcher
17
14
 
18
15
  ## Purpose
@@ -31,3 +28,212 @@ and architectural decisions for each technology. The output becomes a set of
31
28
  | 4 | NEVER copy-paste generic "best practices" — every recommendation must be contextualized to THIS project |
32
29
  | 5 | Output MUST be structured as checkable constraints, not prose advice |
33
30
  | 6 | Existing project patterns (task_in_project) take precedence unless they're antipatterns |
31
+
32
+ ---
33
+
34
+ ## Input Contract
35
+
36
+ ```yaml
37
+ task: "Research per-technology patterns and define application architecture"
38
+ input_artifacts:
39
+ - .metaproject/jobs/<job>/artifacts/stack-decision.md
40
+ - .metaproject/jobs/<job>/artifacts/problem-statement.md
41
+ decisions_so_far:
42
+ D_level: "..."
43
+ D_frontend: "..."
44
+ D_backend: "..."
45
+ D_database: "..."
46
+ D_deploy: "..."
47
+ # All stack decisions
48
+ ```
49
+
50
+ ## Output Contract
51
+
52
+ ```yaml
53
+ status: "DONE" | "NEEDS_CONTEXT"
54
+ summary: "<3-5 sentences: architecture pattern, key per-tech decisions, constraint count>"
55
+ new_decisions:
56
+ D_arch_pattern: "<e.g., Clean Architecture, Feature-Sliced, MVC>"
57
+ D_api_style: "<REST | GraphQL | tRPC | gRPC>"
58
+ D_state_management: "<approach>"
59
+ D_auth_pattern: "<JWT | session | OAuth flow>"
60
+ D_testing_strategy: "<unit + integration + e2e split>"
61
+ D_error_handling: "<pattern>"
62
+ D_logging_observability: "<approach>"
63
+ artifact_path: ".metaproject/jobs/<job>/artifacts/architecture.md"
64
+ additional_artifacts:
65
+ - ".metaproject/jobs/<job>/artifacts/tech-bestpractices.md"
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Workflow
71
+
72
+ ### Step 1: Define Application Architecture
73
+
74
+ Based on project level and stack, select architecture pattern:
75
+
76
+ | Level | Typical Pattern | Why |
77
+ |-------|---------------|-----|
78
+ | MVP | Simple layered (routes → services → DB) | Minimum indirection, fast to build |
79
+ | Pet | Feature-based modules | Good learning structure |
80
+ | Startup | Clean Architecture / Hexagonal | Testable, scalable when team grows |
81
+ | Production | DDD + CQRS where justified | Complex domain needs it |
82
+
83
+ Document the pattern with:
84
+ - Layer diagram (which layers, what goes where)
85
+ - Dependency direction (who imports whom)
86
+ - Module/feature structure (how to organize code)
87
+ - Cross-cutting concerns (logging, auth, error handling)
88
+
89
+ ### Step 2: Per-Technology Research
90
+
91
+ For EACH technology in the stack, research and document:
92
+
93
+ #### Frontend (e.g., Next.js)
94
+ - Project structure pattern (App Router conventions, feature folders)
95
+ - Component patterns (Server vs Client components, composition)
96
+ - State management pattern (chosen approach + why)
97
+ - Data fetching pattern (Server Actions, SWR, React Query)
98
+ - Styling approach (Tailwind, CSS Modules, styled-components)
99
+ - Form handling pattern
100
+ - Error boundary strategy
101
+ - Testing approach (unit: Vitest, e2e: Playwright)
102
+
103
+ #### Backend (e.g., NestJS)
104
+ - Module structure pattern
105
+ - DTO and validation approach
106
+ - Service layer patterns
107
+ - Repository / data access pattern
108
+ - Error handling (exception filters, typed errors)
109
+ - Authentication and authorization pattern
110
+ - API versioning strategy
111
+ - Testing approach (unit + integration)
112
+
113
+ #### Database (e.g., PostgreSQL)
114
+ - Schema design approach (normalized vs denormalized for use case)
115
+ - Migration strategy and tooling
116
+ - Indexing guidelines for expected queries
117
+ - Connection pooling approach
118
+ - Backup and recovery (if production level)
119
+
120
+ #### Infrastructure (e.g., Docker)
121
+ - Container structure (multi-stage builds, compose setup)
122
+ - Environment management (dev/staging/prod)
123
+ - CI/CD pipeline pattern
124
+ - Monitoring and logging stack
125
+
126
+ ### Step 3: Define API Contract Style
127
+
128
+ Based on project needs:
129
+ - REST: resource-based, OpenAPI spec, versioning scheme
130
+ - GraphQL: schema-first vs code-first, resolver patterns
131
+ - tRPC: shared types, router structure
132
+ - gRPC: proto file organization, service boundaries
133
+
134
+ ### Step 4: Cross-Cutting Patterns
135
+
136
+ Define patterns that span all layers:
137
+ - **Authentication flow**: complete auth pattern (signup, login, token refresh, logout)
138
+ - **Authorization**: RBAC, ABAC, or simple role checks
139
+ - **Error handling**: typed errors, error codes, user-facing messages
140
+ - **Logging**: structured logging format, log levels, sensitive data masking
141
+ - **Validation**: where validation happens (API layer, domain layer, both)
142
+ - **Testing**: test pyramid ratios for this project level
143
+
144
+ ### Step 5: Write Architecture Doc
145
+
146
+ Write `artifacts/architecture.md`:
147
+
148
+ ```markdown
149
+ # Architecture: <Project/Task Name>
150
+
151
+ ## Architecture Pattern: <Pattern Name>
152
+ **Rationale**: <why this pattern for this project>
153
+ **Alternative considered**: <pattern and why rejected>
154
+
155
+ ## Layer Diagram
156
+ <describe layers and dependencies>
157
+
158
+ ## Module Structure
159
+ <how code is organized — by feature, by layer, hybrid>
160
+
161
+ ## Component Interaction
162
+ <how layers communicate — direct calls, events, DTOs>
163
+
164
+ ## Cross-Cutting Concerns
165
+ ### Authentication: <pattern>
166
+ ### Error Handling: <pattern>
167
+ ### Logging: <pattern>
168
+ ### Validation: <pattern>
169
+
170
+ ## Key Architecture Decisions
171
+ | Decision | Choice | Rationale | Alternative |
172
+ |----------|--------|-----------|-------------|
173
+ | <decision> | <choice> | <why> | <what else> |
174
+ ```
175
+
176
+ ### Step 6: Write Best Practices Constraints
177
+
178
+ Write `artifacts/tech-bestpractices.md` — this is the **constraint document**
179
+ that PRD writer must follow:
180
+
181
+ ```markdown
182
+ # Technical Best Practices & Constraints
183
+
184
+ ## How to Use This Document
185
+ Every requirement in the PRD MUST be compatible with these constraints.
186
+ The consistency-checker (Phase 5) validates PRD against these rules.
187
+
188
+ ## Frontend Constraints (<technology>)
189
+ ### MUST
190
+ - [ ] <constraint 1 — e.g., "Use Server Components by default, Client only when needed">
191
+ - [ ] <constraint 2>
192
+ ### MUST NOT
193
+ - [ ] <antipattern 1 — e.g., "Do not use getServerSideProps in App Router">
194
+ - [ ] <antipattern 2>
195
+ ### SHOULD
196
+ - [ ] <recommendation 1>
197
+
198
+ ## Backend Constraints (<technology>)
199
+ ### MUST
200
+ - [ ] ...
201
+ ### MUST NOT
202
+ - [ ] ...
203
+ ### SHOULD
204
+ - [ ] ...
205
+
206
+ ## Database Constraints (<technology>)
207
+ ### MUST
208
+ - [ ] ...
209
+ ### MUST NOT
210
+ - [ ] ...
211
+
212
+ ## API Constraints
213
+ ### MUST
214
+ - [ ] ...
215
+
216
+ ## Infrastructure Constraints
217
+ ### MUST
218
+ - [ ] ...
219
+
220
+ ## Testing Constraints
221
+ ### MUST
222
+ - [ ] <e.g., "Every API endpoint must have integration test">
223
+ - [ ] <e.g., "Critical user flows must have e2e tests">
224
+ ### Test Pyramid Target
225
+ - Unit: <X>%
226
+ - Integration: <Y>%
227
+ - E2E: <Z>%
228
+
229
+ ## Security Constraints
230
+ ### MUST
231
+ - [ ] ...
232
+ ### MUST NOT
233
+ - [ ] ...
234
+ ```
235
+
236
+ ### Step 7: Return Summary
237
+
238
+ Compact summary: architecture pattern, number of constraints defined,
239
+ key per-tech decisions, any concerns about pattern compatibility.
@@ -1,18 +1,15 @@
1
1
  ---
2
2
  name: gproject-patterns-researcher
3
- description: "Researches per-technology best practices and defines architecture patterns that become binding PRD constraints. Use when: dispatched by gproject-orchestrator Phase 3."
4
- triggers:
5
- - "gproject-patterns-researcher: research patterns"
6
- - "Dispatched by gproject-orchestrator Phase 3"
3
+ description: >
4
+ Researches best practices per technology in the chosen stack and defines
5
+ application architecture patterns. Produces constraints that PRD must follow.
6
+ Use when: dispatched by gproject-orchestrator Phase 3.
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-patterns-researcher
17
14
 
18
15
  ## Purpose
@@ -31,3 +28,212 @@ and architectural decisions for each technology. The output becomes a set of
31
28
  | 4 | NEVER copy-paste generic "best practices" — every recommendation must be contextualized to THIS project |
32
29
  | 5 | Output MUST be structured as checkable constraints, not prose advice |
33
30
  | 6 | Existing project patterns (task_in_project) take precedence unless they're antipatterns |
31
+
32
+ ---
33
+
34
+ ## Input Contract
35
+
36
+ ```yaml
37
+ task: "Research per-technology patterns and define application architecture"
38
+ input_artifacts:
39
+ - .metaproject/jobs/<job>/artifacts/stack-decision.md
40
+ - .metaproject/jobs/<job>/artifacts/problem-statement.md
41
+ decisions_so_far:
42
+ D_level: "..."
43
+ D_frontend: "..."
44
+ D_backend: "..."
45
+ D_database: "..."
46
+ D_deploy: "..."
47
+ # All stack decisions
48
+ ```
49
+
50
+ ## Output Contract
51
+
52
+ ```yaml
53
+ status: "DONE" | "NEEDS_CONTEXT"
54
+ summary: "<3-5 sentences: architecture pattern, key per-tech decisions, constraint count>"
55
+ new_decisions:
56
+ D_arch_pattern: "<e.g., Clean Architecture, Feature-Sliced, MVC>"
57
+ D_api_style: "<REST | GraphQL | tRPC | gRPC>"
58
+ D_state_management: "<approach>"
59
+ D_auth_pattern: "<JWT | session | OAuth flow>"
60
+ D_testing_strategy: "<unit + integration + e2e split>"
61
+ D_error_handling: "<pattern>"
62
+ D_logging_observability: "<approach>"
63
+ artifact_path: ".metaproject/jobs/<job>/artifacts/architecture.md"
64
+ additional_artifacts:
65
+ - ".metaproject/jobs/<job>/artifacts/tech-bestpractices.md"
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Workflow
71
+
72
+ ### Step 1: Define Application Architecture
73
+
74
+ Based on project level and stack, select architecture pattern:
75
+
76
+ | Level | Typical Pattern | Why |
77
+ |-------|---------------|-----|
78
+ | MVP | Simple layered (routes → services → DB) | Minimum indirection, fast to build |
79
+ | Pet | Feature-based modules | Good learning structure |
80
+ | Startup | Clean Architecture / Hexagonal | Testable, scalable when team grows |
81
+ | Production | DDD + CQRS where justified | Complex domain needs it |
82
+
83
+ Document the pattern with:
84
+ - Layer diagram (which layers, what goes where)
85
+ - Dependency direction (who imports whom)
86
+ - Module/feature structure (how to organize code)
87
+ - Cross-cutting concerns (logging, auth, error handling)
88
+
89
+ ### Step 2: Per-Technology Research
90
+
91
+ For EACH technology in the stack, research and document:
92
+
93
+ #### Frontend (e.g., Next.js)
94
+ - Project structure pattern (App Router conventions, feature folders)
95
+ - Component patterns (Server vs Client components, composition)
96
+ - State management pattern (chosen approach + why)
97
+ - Data fetching pattern (Server Actions, SWR, React Query)
98
+ - Styling approach (Tailwind, CSS Modules, styled-components)
99
+ - Form handling pattern
100
+ - Error boundary strategy
101
+ - Testing approach (unit: Vitest, e2e: Playwright)
102
+
103
+ #### Backend (e.g., NestJS)
104
+ - Module structure pattern
105
+ - DTO and validation approach
106
+ - Service layer patterns
107
+ - Repository / data access pattern
108
+ - Error handling (exception filters, typed errors)
109
+ - Authentication and authorization pattern
110
+ - API versioning strategy
111
+ - Testing approach (unit + integration)
112
+
113
+ #### Database (e.g., PostgreSQL)
114
+ - Schema design approach (normalized vs denormalized for use case)
115
+ - Migration strategy and tooling
116
+ - Indexing guidelines for expected queries
117
+ - Connection pooling approach
118
+ - Backup and recovery (if production level)
119
+
120
+ #### Infrastructure (e.g., Docker)
121
+ - Container structure (multi-stage builds, compose setup)
122
+ - Environment management (dev/staging/prod)
123
+ - CI/CD pipeline pattern
124
+ - Monitoring and logging stack
125
+
126
+ ### Step 3: Define API Contract Style
127
+
128
+ Based on project needs:
129
+ - REST: resource-based, OpenAPI spec, versioning scheme
130
+ - GraphQL: schema-first vs code-first, resolver patterns
131
+ - tRPC: shared types, router structure
132
+ - gRPC: proto file organization, service boundaries
133
+
134
+ ### Step 4: Cross-Cutting Patterns
135
+
136
+ Define patterns that span all layers:
137
+ - **Authentication flow**: complete auth pattern (signup, login, token refresh, logout)
138
+ - **Authorization**: RBAC, ABAC, or simple role checks
139
+ - **Error handling**: typed errors, error codes, user-facing messages
140
+ - **Logging**: structured logging format, log levels, sensitive data masking
141
+ - **Validation**: where validation happens (API layer, domain layer, both)
142
+ - **Testing**: test pyramid ratios for this project level
143
+
144
+ ### Step 5: Write Architecture Doc
145
+
146
+ Write `artifacts/architecture.md`:
147
+
148
+ ```markdown
149
+ # Architecture: <Project/Task Name>
150
+
151
+ ## Architecture Pattern: <Pattern Name>
152
+ **Rationale**: <why this pattern for this project>
153
+ **Alternative considered**: <pattern and why rejected>
154
+
155
+ ## Layer Diagram
156
+ <describe layers and dependencies>
157
+
158
+ ## Module Structure
159
+ <how code is organized — by feature, by layer, hybrid>
160
+
161
+ ## Component Interaction
162
+ <how layers communicate — direct calls, events, DTOs>
163
+
164
+ ## Cross-Cutting Concerns
165
+ ### Authentication: <pattern>
166
+ ### Error Handling: <pattern>
167
+ ### Logging: <pattern>
168
+ ### Validation: <pattern>
169
+
170
+ ## Key Architecture Decisions
171
+ | Decision | Choice | Rationale | Alternative |
172
+ |----------|--------|-----------|-------------|
173
+ | <decision> | <choice> | <why> | <what else> |
174
+ ```
175
+
176
+ ### Step 6: Write Best Practices Constraints
177
+
178
+ Write `artifacts/tech-bestpractices.md` — this is the **constraint document**
179
+ that PRD writer must follow:
180
+
181
+ ```markdown
182
+ # Technical Best Practices & Constraints
183
+
184
+ ## How to Use This Document
185
+ Every requirement in the PRD MUST be compatible with these constraints.
186
+ The consistency-checker (Phase 5) validates PRD against these rules.
187
+
188
+ ## Frontend Constraints (<technology>)
189
+ ### MUST
190
+ - [ ] <constraint 1 — e.g., "Use Server Components by default, Client only when needed">
191
+ - [ ] <constraint 2>
192
+ ### MUST NOT
193
+ - [ ] <antipattern 1 — e.g., "Do not use getServerSideProps in App Router">
194
+ - [ ] <antipattern 2>
195
+ ### SHOULD
196
+ - [ ] <recommendation 1>
197
+
198
+ ## Backend Constraints (<technology>)
199
+ ### MUST
200
+ - [ ] ...
201
+ ### MUST NOT
202
+ - [ ] ...
203
+ ### SHOULD
204
+ - [ ] ...
205
+
206
+ ## Database Constraints (<technology>)
207
+ ### MUST
208
+ - [ ] ...
209
+ ### MUST NOT
210
+ - [ ] ...
211
+
212
+ ## API Constraints
213
+ ### MUST
214
+ - [ ] ...
215
+
216
+ ## Infrastructure Constraints
217
+ ### MUST
218
+ - [ ] ...
219
+
220
+ ## Testing Constraints
221
+ ### MUST
222
+ - [ ] <e.g., "Every API endpoint must have integration test">
223
+ - [ ] <e.g., "Critical user flows must have e2e tests">
224
+ ### Test Pyramid Target
225
+ - Unit: <X>%
226
+ - Integration: <Y>%
227
+ - E2E: <Z>%
228
+
229
+ ## Security Constraints
230
+ ### MUST
231
+ - [ ] ...
232
+ ### MUST NOT
233
+ - [ ] ...
234
+ ```
235
+
236
+ ### Step 7: Return Summary
237
+
238
+ Compact summary: architecture pattern, number of constraints defined,
239
+ key per-tech decisions, any concerns about pattern compatibility.
@@ -1,18 +1,14 @@
1
1
  ---
2
2
  name: gproject-planner
3
- description: "Generates roadmap, milestones, task breakdown with dependency graph and effort estimates from approved PRD. Use when: dispatched by gproject-orchestrator Phase 6."
4
- triggers:
5
- - "gproject-planner: generate roadmap"
6
- - "Dispatched by gproject-orchestrator Phase 6"
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
- 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-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.