@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.
Files changed (144) hide show
  1. package/dist/cli.js +33409 -32626
  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/core/reviewer-skill-creator/SKILL.md +214 -0
  7. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.codex.md +326 -20
  8. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.cursor.md +320 -22
  9. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.opencode.md +326 -12
  10. package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.zed.md +333 -9
  11. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.codex.md +92 -4
  12. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.cursor.md +92 -4
  13. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.opencode.md +92 -4
  14. package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.zed.md +92 -4
  15. package/src/gdskills/bundled/skills/orchestration/context-collector/orchestrator-prompt.md +1 -1
  16. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.codex.md +154 -1098
  17. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.cursor.md +154 -1098
  18. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.opencode.md +154 -1098
  19. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.zed.md +154 -1098
  20. package/src/gdskills/bundled/skills/orchestration/feature-analyzer/orchestrator-prompt.md +1 -1
  21. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.codex.md +101 -41
  22. package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.cursor.md +101 -41
  23. package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/SKILL.md +48 -1
  24. package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/input-contract.schema.json +70 -4
  25. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.codex.md +115 -49
  26. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.cursor.md +115 -49
  27. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.opencode.md +115 -49
  28. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.zed.md +115 -49
  29. package/src/gdskills/bundled/skills/orchestration/issue-analyzer/orchestrator-prompt.md +1 -1
  30. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.codex.md +15 -6
  31. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.cursor.md +15 -6
  32. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.opencode.md +15 -6
  33. package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.zed.md +15 -6
  34. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.codex.md +1 -1
  35. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.cursor.md +1 -1
  36. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.md +1 -1
  37. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.opencode.md +1 -1
  38. package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.zed.md +1 -1
  39. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.codex.md +300 -55
  40. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.cursor.md +300 -55
  41. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.md +120 -37
  42. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.opencode.md +300 -55
  43. package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.zed.md +300 -55
  44. package/src/gdskills/bundled/skills/orchestration/task-implementer/input-contract.schema.json +56 -14
  45. package/src/gdskills/bundled/skills/orchestration/task-implementer/orchestrator-prompt.md +50 -23
  46. package/src/gdskills/bundled/skills/orchestration/task-implementer/output-contract.schema.json +6 -2
  47. package/src/gdskills/bundled/skills/orchestration/task-implementer/task-request.template.md +18 -12
  48. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.codex.md +1 -1
  49. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.cursor.md +1 -1
  50. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.codex.md +169 -10
  51. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.cursor.md +169 -10
  52. package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.md +1 -1
  53. package/src/gdskills/bundled/skills/planning/interview/SKILL.codex.md +7 -1
  54. package/src/gdskills/bundled/skills/planning/interview/SKILL.cursor.md +7 -1
  55. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.codex.md +7 -1
  56. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.cursor.md +7 -1
  57. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.codex.md +216 -10
  58. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.cursor.md +216 -10
  59. package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.md +1 -1
  60. package/src/gdskills/bundled/skills/planning/planner/SKILL.codex.md +169 -10
  61. package/src/gdskills/bundled/skills/planning/planner/SKILL.cursor.md +169 -10
  62. package/src/gdskills/bundled/skills/planning/planner/SKILL.md +1 -1
  63. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.codex.md +2 -2
  64. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.cursor.md +2 -2
  65. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.opencode.md +2 -2
  66. package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.zed.md +2 -2
  67. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.codex.md +134 -10
  68. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.cursor.md +134 -10
  69. package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.md +1 -1
  70. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.codex.md +146 -10
  71. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.cursor.md +146 -10
  72. package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.md +1 -1
  73. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.codex.md +211 -10
  74. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.cursor.md +211 -10
  75. package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.md +1 -1
  76. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.codex.md +162 -10
  77. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.cursor.md +162 -10
  78. package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.md +1 -1
  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.opencode.md +29 -30
  114. package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.zed.md +29 -30
  115. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.codex.md +21 -30
  116. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.cursor.md +21 -30
  117. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.opencode.md +21 -30
  118. package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.zed.md +21 -30
  119. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.codex.md +19 -23
  120. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.cursor.md +19 -23
  121. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.opencode.md +19 -23
  122. package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.zed.md +19 -23
  123. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.codex.md +17 -24
  124. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.cursor.md +17 -24
  125. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.opencode.md +17 -24
  126. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.zed.md +17 -24
  127. package/src/gdskills/bundled/skills/review/review-clean-code/SKILL.md +33 -1
  128. package/src/gdskills/bundled/skills/review/review-layout/SKILL.md +217 -0
  129. package/src/gdskills/bundled/skills/review/review-logic/SKILL.md +26 -0
  130. package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +320 -5
  131. package/src/gdskills/bundled/skills/review/review-pr-feedback/SKILL.md +644 -113
  132. package/src/gdskills/bundled/skills/review/review-pr-feedback/input-contract.schema.json +79 -0
  133. package/src/gdskills/bundled/skills/review/review-pr-feedback/output-contract.schema.json +375 -0
  134. package/src/gdskills/bundled/skills/review/review-testing-practices/SKILL.md +111 -1
  135. package/src/gdskills/bundled/skills/review/review-verifier/SKILL.md +25 -1
  136. package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.claude.md +0 -46
  137. package/src/gdskills/bundled/skills/planning/interviewer/SKILL.claude.md +0 -94
  138. package/src/gdskills/bundled/skills/quality/changelog/SKILL.claude.md +0 -45
  139. package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.claude.md +0 -40
  140. package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.claude.md +0 -45
  141. package/src/gdskills/bundled/skills/quality/deploy/SKILL.claude.md +0 -42
  142. package/src/gdskills/bundled/skills/quality/perf-check/SKILL.claude.md +0 -48
  143. package/src/gdskills/bundled/skills/quality/security-audit/SKILL.claude.md +0 -40
  144. package/src/gdskills/bundled/skills/quality/test-gen/SKILL.claude.md +0 -30
@@ -1,25 +1,30 @@
1
1
  # Task Implementer — Orchestrator Prompt
2
2
 
3
- > **Purpose:** Template used by `wave-executor` (dispatched by `job-orchestrator`) to dispatch `task-implementer` as a sub-agent.
4
- > The wave-executor fills in the placeholders below and sends the result as a Task prompt.
5
- > The task-implementer executes SKILL.md autonomously, writes the full JSON result to a file, and returns a compact STATUS response.
3
+ > **Purpose:** Template `job-orchestrator` fills in to dispatch `task-implementer` as a sub-agent.
4
+ > The orchestrator fills in the placeholders below and sends the result as a Task prompt.
5
+ > The task-implementer executes SKILL.md autonomously, writes the full JSON result to a file, records it with `keryx job document`, and returns a compact STATUS response.
6
6
 
7
7
  ## Data Flow
8
8
 
9
9
  ```
10
- [job-orchestrator] → dispatches wave-executor per wave (not task-implementer directly)
11
- ↓
12
- [wave-executor] → extracts tasks → fills template → Task(task-implementer) × N (parallel)
10
+ [job-orchestrator] → extracts tasks → fills template → Task(task-implementer) × N (parallel)
13
11
  ↓
14
12
  [task-implementer] → executes SKILL.md → writes JSON to .metaproject/jobs/<job-name>/results/<task_id>.json
13
+ → keryx job document <job-name> --type implementation-report
15
14
  ↓
16
15
  [Result] → compact STATUS: DONE response (no inline JSON)
17
- ↓
18
- [wave-executor] → collects STATUS responses → returns compact WAVE_DONE summary
19
- ↓
20
- [job-orchestrator] → receives one-line wave summary per wave
16
+ ↓
17
+ [job-orchestrator] → collects STATUS responses; reads a result file only for
18
+ DONE_WITH_CONCERNS or BLOCKED
21
19
  ```
22
20
 
21
+ **There is no `wave-executor` agent.** The orchestrator dispatches every task in
22
+ a wave itself, in one turn, and collects the STATUS lines itself — the same
23
+ statement `job-orchestrator/SKILL.md` makes. This document described a
24
+ `wave-executor` as real in four places while the agent it named existed in no
25
+ catalogue and no dispatcher; `src/job/plans.ts` names `task-implementer` as the
26
+ `implement` and `fix` step agents, with nothing in between.
27
+
23
28
  ## Step 1: Extract Task Parameters
24
29
 
25
30
  From the issue-analyzer JSON output, extract one task object:
@@ -30,7 +35,7 @@ TASK:
30
35
  task_name → from tasks[i].task_name
31
36
  task_type → from tasks[i].task_type
32
37
  complexity → from tasks[i].complexity
33
- dependencies → from tasks[i].dependencies (already satisfied — dispatch in dependency_order)
38
+ dependencies → from tasks[i].dependencies (dispatch in dependency_order)
34
39
  description → from tasks[i].description
35
40
  target_files → from tasks[i].target_files
36
41
  acceptance_criteria → from tasks[i].acceptance_criteria
@@ -52,11 +57,24 @@ JOB_CONTEXT (optional):
52
57
 
53
58
  ## Step 2: Validate
54
59
 
60
+ Write the assembled `{ task, workspace, automation }` object to a file and run:
61
+
62
+ ```bash
63
+ keryx skills contracts validate <request.json> --schema task-implementer-input
55
64
  ```
56
- ASSERT task_id is not empty → otherwise ABORT: "Missing task_id"
57
- ASSERT task_type in valid types → otherwise ABORT: "Invalid task_type"
58
- ASSERT target_files is not empty → otherwise ABORT: "No target files"
59
- ASSERT codebase_path exists → otherwise ABORT: "Codebase path not found"
65
+
66
+ Non-zero exit means the request is malformed — the command names the field and
67
+ the rule. Do not dispatch a request that does not validate. The schema is
68
+ `input-contract.schema.json` in this folder, registered in
69
+ `src/gdskills/contracts.ts`; it is what refuses an empty `target_files`, a
70
+ `task_type` outside the enum, a `task_id` that is not `task-<n>`, a missing
71
+ `codebase_path`/`branch`/`issue_number`, `skip_confirmation` other than `true`,
72
+ `max_self_fix_attempts` above 3, and any undeclared field.
73
+
74
+ One check the schema cannot make, because it is a fact about the machine:
75
+
76
+ ```bash
77
+ test -d "<CODEBASE_PATH>" # otherwise ABORT: "Codebase path not found"
60
78
  ```
61
79
 
62
80
  ## Step 3: Build Sub-Agent Prompt (regular task)
@@ -65,7 +83,7 @@ ASSERT codebase_path exists → otherwise ABORT: "Codebase path not foun
65
83
  You are running the task-implementer skill in AUTONOMOUS MODE.
66
84
  DO NOT ask the user any questions. Execute the full workflow end-to-end.
67
85
 
68
- Load the skill: task-implementer (from skills/task-implementer/SKILL.md)
86
+ Load the skill: task-implementer (from skills/gdskills/orchestration/task-implementer/SKILL.md)
69
87
 
70
88
  ═══════════════════════════════════════════════
71
89
  TASK
@@ -116,7 +134,12 @@ CONTEXT_PATH: <JOBS_ROOT>/<JOB_NAME>/ai/context.md
116
134
 
117
135
  1. Load task-implementer SKILL.md
118
136
  2. Execute all 6 phases: RECEIVE → RESEARCH → PLAN → IMPLEMENT → VERIFY → REPORT
119
- 3. Phase 6: Write full JSON result to <JOBS_ROOT>/<JOB_NAME>/results/<task_id>.json
137
+ 3. Phase 6: Write full JSON result to <JOBS_ROOT>/<JOB_NAME>/results/<task_id>.json,
138
+ then validate and record it:
139
+ keryx skills contracts validate <that file> --schema task-implementer-output
140
+ keryx job document <JOB_NAME> --type implementation-report --file <that file>
141
+ Both refuse rather than warn; `job document` refuses outright if the file was
142
+ never written.
120
143
  4. Return a compact STATUS response as your FINAL MESSAGE — NO inline JSON:
121
144
 
122
145
  STATUS: DONE
@@ -139,7 +162,7 @@ For fix tasks dispatched from the review loop:
139
162
  You are running the task-implementer skill in FIX MODE (AUTONOMOUS).
140
163
  DO NOT ask the user any questions. Execute the full workflow end-to-end.
141
164
 
142
- Load the skill: task-implementer (from skills/task-implementer/SKILL.md)
165
+ Load the skill: task-implementer (from skills/gdskills/orchestration/task-implementer/SKILL.md)
143
166
 
144
167
  ═══════════════════════════════════════════════
145
168
  FIX TASK
@@ -171,7 +194,10 @@ WORKSPACE: (same as above)
171
194
 
172
195
  AUTOMATION SETTINGS: (same as above)
173
196
 
174
- EXECUTION: Run to completion, return JSON result.
197
+ EXECUTION INSTRUCTIONS: (same as above — including the Phase 6 validate/record
198
+ pair, and the compact STATUS response as the FINAL MESSAGE with NO inline JSON.
199
+ `parseChildResult` throws on any first line that is not `STATUS: <TOKEN>`, so a
200
+ returned JSON object is not a result the orchestrator can read.)
175
201
  ```
176
202
 
177
203
  ---
@@ -181,16 +207,16 @@ EXECUTION: Run to completion, return JSON result.
181
207
  ```javascript
182
208
  Task({
183
209
  description: "Implement task-1: <TASK_NAME>",
184
- subagent_type: "general",
210
+ subagent_type: "general-purpose",
185
211
  prompt: "<generated prompt from template above>"
186
212
  })
187
213
  ```
188
214
 
189
215
  ---
190
216
 
191
- ## Parsing the Result (wave-executor)
217
+ ## Parsing the Result
192
218
 
193
- After receiving the sub-agent STATUS response, the wave-executor must:
219
+ After receiving the sub-agent STATUS response, the orchestrator must:
194
220
 
195
221
  1. Read the STATUS line: `DONE` | `DONE_WITH_CONCERNS` | `BLOCKED`
196
222
  2. Extract compact summary from the response:
@@ -203,4 +229,5 @@ After receiving the sub-agent STATUS response, the wave-executor must:
203
229
  4. Decision based on STATUS:
204
230
  - `DONE` → continue, collect commit hashes from response
205
231
  - `DONE_WITH_CONCERNS` → read result file, log concerns, continue
206
- - `BLOCKED` → STOP wave, report to orchestrator with reason
232
+ - `BLOCKED` → STOP the wave and report the reason; the `implement` step stays
233
+ open, and `keryx job complete` refuses while it is
@@ -2,12 +2,12 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://keryx.local/schemas/task-implementer/output-contract.schema.json",
4
4
  "title": "Task Implementer Output Contract",
5
- "description": "JSON result returned by task-implementer after executing a task. Replaces the previous Gherkin format.",
5
+ "description": "JSON result task-implementer writes in Phase 6.1. Registered as contract `task-implementer-output`: validate a result with `keryx skills contracts validate <result.json> --schema task-implementer-output`.",
6
6
  "type": "object",
7
7
  "additionalProperties": false,
8
8
  "required": ["task_id", "task_name", "task_type", "status"],
9
9
  "properties": {
10
- "task_id": { "type": "string", "pattern": "^task-[0-9]+$" },
10
+ "task_id": { "type": "string", "pattern": "^(?:task|fix)-[0-9]+$" },
11
11
  "task_name": { "type": "string" },
12
12
  "task_type": {
13
13
  "type": "string",
@@ -43,6 +43,10 @@
43
43
  "type": "string",
44
44
  "description": "all OR 'partial: <list of unmet criteria>' OR none"
45
45
  },
46
+ "skill_drift": {
47
+ "type": "string",
48
+ "description": "Set from SKILL.md Phase 2.0b: 'none' | 'stale: <module>/<skill> — <what diverged>' | 'missing: <module> should have a project-skill'. SKILL.md has required this field since project-skill verification was added; this object is `additionalProperties: false`, so until it was declared here a compliant result was REFUSED by its own contract."
49
+ },
46
50
  "notes": {
47
51
  "type": "string",
48
52
  "description": "Warnings, blockers, or additional context"
@@ -6,7 +6,9 @@
6
6
  Заполняется оркестратором ПЕРЕД запуском task-implementer.
7
7
  Все обязательные поля (*) должны быть заполнены.
8
8
 
9
- Валидация: input-contract.schema.json
9
+ Валидация: keryx skills contracts validate <request.json> --schema task-implementer-input
10
+ (схема — input-contract.schema.json, зарегистрирована в src/gdskills/contracts.ts;
11
+ команда возвращает ненулевой код и называет поле и правило)
10
12
  Использование: orchestrator-prompt.md читает этот файл и формирует промпт для субагента.
11
13
  -->
12
14
 
@@ -87,8 +89,8 @@ Components in `src/pipelines/components/` use `observer()` wrapping, props inter
87
89
 
88
90
  | Field | Value |
89
91
  |-------|-------|
90
- | Original Task ID | |
91
- | Iteration | |
92
+ | Original Task IDs | |
93
+ | Iteration | `1`..`3` |
92
94
 
93
95
  ### Review Feedback
94
96
 
@@ -100,12 +102,16 @@ Components in `src/pipelines/components/` use `observer()` wrapping, props inter
100
102
 
101
103
  ## Automation Settings *
102
104
 
103
- | Setting | Value | Description |
104
- |---------|-------|-------------|
105
- | skip_confirmation * | `true` | Must be true for autonomous mode |
106
- | auto_commit | `true` | Commit changes after implementation |
107
- | verify_lint | `true` | Run ESLint |
108
- | verify_types | `true` | Run type-check |
109
- | verify_tests | `true` | Run tests |
110
- | verify_stories | `false` | Build storybook |
111
- | max_self_fix_attempts | `3` | Max self-fix attempts |
105
+ <!-- Типы, значения по умолчанию и границы объявлены в input-contract.schema.json
106
+ (объект `automation`) и проверяются командой validate выше. Здесь — только
107
+ значения для этого запроса. -->
108
+
109
+ | Setting | Value |
110
+ |---------|-------|
111
+ | skip_confirmation * | `true` |
112
+ | auto_commit | `true` |
113
+ | verify_lint | `true` |
114
+ | verify_types | `true` |
115
+ | verify_tests | `true` |
116
+ | verify_stories | `false` |
117
+ | max_self_fix_attempts | `3` |
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: brainstorm
3
- description: "Structured brainstorming with multiple thinking perspectives (Pragmatist, Innovator, Critic). Generates ideas, evaluates trade-offs via comparison matrix, produces actionable recommendation. Use for architecture decisions, feature ideation, problem solving, tech choices, naming."
3
+ description: "Use when exploring architecture decisions, tech choices, feature ideas, or any open-ended problem that benefits from multiple perspectives."
4
4
  triggers:
5
5
  - "/brainstorm"
6
6
  - "Brainstorm"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: brainstorm
3
- description: "Structured brainstorming with multiple thinking perspectives (Pragmatist, Innovator, Critic). Generates ideas, evaluates trade-offs via comparison matrix, produces actionable recommendation. Use for architecture decisions, feature ideation, problem solving, tech choices, naming."
3
+ description: "Use when exploring architecture decisions, tech choices, feature ideas, or any open-ended problem that benefits from multiple perspectives."
4
4
  triggers:
5
5
  - "/brainstorm"
6
6
  - "Brainstorm"
@@ -1,18 +1,15 @@
1
1
  ---
2
- name: gproject-consistency-checker
3
- description: "Validates PRD against decisions registry, architecture doc, and best practices constraints. Adversarial quality gate. Use when: dispatched by gproject-orchestrator Phase 5."
4
- triggers:
5
- - "gproject-consistency-checker: validate PRD"
6
- - "Dispatched by gproject-orchestrator Phase 5"
2
+ name: consistency-checker
3
+ description: >
4
+ Validates PRD/Implementation Plan against decisions registry, architecture doc,
5
+ and best practices constraints. Catches contradictions, gaps, and violations.
6
+ Use when: dispatched by gproject-orchestrator Phase 5.
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-consistency-checker
17
14
 
18
15
  ## Purpose
@@ -31,3 +28,165 @@ This agent is adversarial — its job is to find problems, not to approve.
31
28
  | 4 | Classify severity: CRITICAL (blocks approval) / WARNING (should fix) / INFO (suggestion) |
32
29
  | 5 | NEVER fix violations yourself — only report them |
33
30
  | 6 | A clean report still lists what was checked (audit trail) |
31
+
32
+ ---
33
+
34
+ ## Input Contract
35
+
36
+ ```yaml
37
+ task: "Validate PRD consistency against all project decisions and constraints"
38
+ input_artifacts:
39
+ - .metaproject/jobs/<job>/artifacts/prd.md
40
+ - .metaproject/jobs/<job>/artifacts/problem-statement.md
41
+ - .metaproject/jobs/<job>/artifacts/stack-decision.md
42
+ - .metaproject/jobs/<job>/artifacts/architecture.md
43
+ - .metaproject/jobs/<job>/artifacts/tech-bestpractices.md
44
+ - .metaproject/jobs/<job>/decisions.md
45
+ ```
46
+
47
+ ## Output Contract
48
+
49
+ ```yaml
50
+ status: "DONE" | "DONE_WITH_CONCERNS"
51
+ summary: "<3-5 sentences: checks run, violations found, overall verdict>"
52
+ concerns: ["<CRITICAL violations if any>"]
53
+ artifact_path: ".metaproject/jobs/<job>/artifacts/consistency-report.md"
54
+ # Note: no new_decisions — this agent doesn't make decisions
55
+ ```
56
+
57
+ Status logic:
58
+ - `DONE` = zero CRITICAL violations (WARNINGs acceptable)
59
+ - `DONE_WITH_CONCERNS` = one or more CRITICAL violations found
60
+
61
+ ---
62
+
63
+ ## Workflow
64
+
65
+ ### Step 1: Goals ↔ User Stories Check
66
+
67
+ For each goal in problem-statement.md:
68
+ - [ ] At least one user story addresses this goal
69
+ - [ ] User story acceptance criteria map to goal's success metric
70
+
71
+ For each user story in PRD:
72
+ - [ ] Traces back to a defined goal (not an invented one)
73
+ - [ ] Does NOT implement a non-goal
74
+
75
+ **Violation types:**
76
+ - CRITICAL: Goal with no user story coverage
77
+ - CRITICAL: User story implementing a non-goal
78
+ - WARNING: User story with weak traceability to goal
79
+
80
+ ### Step 2: Stack ↔ PRD Check
81
+
82
+ For each technology in stack-decision.md:
83
+ - [ ] PRD technical references use this technology (not something else)
84
+ - [ ] No undeclared technologies appear in PRD
85
+
86
+ **Violation types:**
87
+ - CRITICAL: PRD references technology not in stack-decision.md
88
+ - CRITICAL: Key stack technology has no presence in PRD
89
+ - WARNING: Stack technology mentioned but underspecified in PRD
90
+
91
+ ### Step 3: Architecture ↔ PRD Check
92
+
93
+ For each architecture decision in architecture.md:
94
+ - [ ] PRD respects layer boundaries
95
+ - [ ] PRD respects dependency direction
96
+ - [ ] PRD technical notes align with defined patterns
97
+
98
+ **Violation types:**
99
+ - CRITICAL: PRD proposes pattern contradicting architecture.md
100
+ - WARNING: PRD section doesn't reference applicable architecture decision
101
+
102
+ ### Step 4: Best Practices ↔ PRD Check
103
+
104
+ For each MUST constraint in tech-bestpractices.md:
105
+ - [ ] PRD does not violate this constraint
106
+ - [ ] Relevant user stories reference this constraint
107
+
108
+ For each MUST NOT constraint:
109
+ - [ ] PRD does not propose the antipattern
110
+
111
+ **Violation types:**
112
+ - CRITICAL: PRD violates a MUST constraint
113
+ - CRITICAL: PRD proposes a MUST NOT antipattern
114
+ - WARNING: MUST constraint not referenced by any user story
115
+
116
+ ### Step 5: Internal Consistency Check
117
+
118
+ Within the PRD itself:
119
+ - [ ] No two user stories contradict each other
120
+ - [ ] Priorities are consistent (P0 depends on P0, not P1 depending on P2)
121
+ - [ ] Data model matches API surface
122
+ - [ ] Security requirements cover all user-facing features
123
+ - [ ] Testing requirements cover all P0 user stories
124
+
125
+ **Violation types:**
126
+ - CRITICAL: Contradicting user stories
127
+ - CRITICAL: P0 feature with no test coverage requirement
128
+ - WARNING: Priority inconsistency in dependencies
129
+
130
+ ### Step 6: Completeness Check
131
+
132
+ - [ ] All sections of PRD template are present
133
+ - [ ] Executive summary matches actual content
134
+ - [ ] Traceability matrix is complete
135
+ - [ ] Open questions are flagged (not hidden)
136
+
137
+ **Violation types:**
138
+ - WARNING: Missing PRD section
139
+ - INFO: Traceability matrix has gaps
140
+
141
+ ### Step 7: Write Consistency Report
142
+
143
+ Write `artifacts/consistency-report.md`:
144
+
145
+ ```markdown
146
+ # Consistency Report: <Project/Task Name>
147
+
148
+ ## Verdict: PASS | PASS_WITH_WARNINGS | FAIL
149
+
150
+ ## Summary
151
+ - Checks executed: <count>
152
+ - CRITICAL violations: <count>
153
+ - WARNING violations: <count>
154
+ - INFO items: <count>
155
+
156
+ ## Violations
157
+
158
+ ### CRITICAL
159
+ #### V-001: <Title>
160
+ - **Check**: <which check caught this>
161
+ - **Found in PRD**: <section/user story reference>
162
+ - **Conflicts with**: <decision ID / constraint ID / architecture section>
163
+ - **Details**: <specific description>
164
+ - **Suggested fix**: <what should change>
165
+ - **Fix target**: <which phase/artifact needs to be updated>
166
+
167
+ ### WARNINGS
168
+ #### W-001: <Title>
169
+ ...
170
+
171
+ ### INFO
172
+ #### I-001: <Title>
173
+ ...
174
+
175
+ ## Audit Trail
176
+ | Check Category | Items Checked | Passed | Failed |
177
+ |---------------|--------------|--------|--------|
178
+ | Goals ↔ User Stories | <N> | <N> | <N> |
179
+ | Stack ↔ PRD | <N> | <N> | <N> |
180
+ | Architecture ↔ PRD | <N> | <N> | <N> |
181
+ | Best Practices ↔ PRD | <N> | <N> | <N> |
182
+ | Internal Consistency | <N> | <N> | <N> |
183
+ | Completeness | <N> | <N> | <N> |
184
+
185
+ ## Rollback Recommendations
186
+ <If CRITICAL violations exist, suggest which phase to rollback to>
187
+ - V-001 → requires rollback to Phase <N> (<reason>)
188
+ ```
189
+
190
+ ### Step 8: Return Summary
191
+
192
+ Compact summary: verdict, violation counts, rollback recommendation if applicable.
@@ -1,18 +1,15 @@
1
1
  ---
2
- name: gproject-consistency-checker
3
- description: "Validates PRD against decisions registry, architecture doc, and best practices constraints. Adversarial quality gate. Use when: dispatched by gproject-orchestrator Phase 5."
4
- triggers:
5
- - "gproject-consistency-checker: validate PRD"
6
- - "Dispatched by gproject-orchestrator Phase 5"
2
+ name: consistency-checker
3
+ description: >
4
+ Validates PRD/Implementation Plan against decisions registry, architecture doc,
5
+ and best practices constraints. Catches contradictions, gaps, and violations.
6
+ Use when: dispatched by gproject-orchestrator Phase 5.
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-consistency-checker
17
14
 
18
15
  ## Purpose
@@ -31,3 +28,165 @@ This agent is adversarial — its job is to find problems, not to approve.
31
28
  | 4 | Classify severity: CRITICAL (blocks approval) / WARNING (should fix) / INFO (suggestion) |
32
29
  | 5 | NEVER fix violations yourself — only report them |
33
30
  | 6 | A clean report still lists what was checked (audit trail) |
31
+
32
+ ---
33
+
34
+ ## Input Contract
35
+
36
+ ```yaml
37
+ task: "Validate PRD consistency against all project decisions and constraints"
38
+ input_artifacts:
39
+ - .metaproject/jobs/<job>/artifacts/prd.md
40
+ - .metaproject/jobs/<job>/artifacts/problem-statement.md
41
+ - .metaproject/jobs/<job>/artifacts/stack-decision.md
42
+ - .metaproject/jobs/<job>/artifacts/architecture.md
43
+ - .metaproject/jobs/<job>/artifacts/tech-bestpractices.md
44
+ - .metaproject/jobs/<job>/decisions.md
45
+ ```
46
+
47
+ ## Output Contract
48
+
49
+ ```yaml
50
+ status: "DONE" | "DONE_WITH_CONCERNS"
51
+ summary: "<3-5 sentences: checks run, violations found, overall verdict>"
52
+ concerns: ["<CRITICAL violations if any>"]
53
+ artifact_path: ".metaproject/jobs/<job>/artifacts/consistency-report.md"
54
+ # Note: no new_decisions — this agent doesn't make decisions
55
+ ```
56
+
57
+ Status logic:
58
+ - `DONE` = zero CRITICAL violations (WARNINGs acceptable)
59
+ - `DONE_WITH_CONCERNS` = one or more CRITICAL violations found
60
+
61
+ ---
62
+
63
+ ## Workflow
64
+
65
+ ### Step 1: Goals ↔ User Stories Check
66
+
67
+ For each goal in problem-statement.md:
68
+ - [ ] At least one user story addresses this goal
69
+ - [ ] User story acceptance criteria map to goal's success metric
70
+
71
+ For each user story in PRD:
72
+ - [ ] Traces back to a defined goal (not an invented one)
73
+ - [ ] Does NOT implement a non-goal
74
+
75
+ **Violation types:**
76
+ - CRITICAL: Goal with no user story coverage
77
+ - CRITICAL: User story implementing a non-goal
78
+ - WARNING: User story with weak traceability to goal
79
+
80
+ ### Step 2: Stack ↔ PRD Check
81
+
82
+ For each technology in stack-decision.md:
83
+ - [ ] PRD technical references use this technology (not something else)
84
+ - [ ] No undeclared technologies appear in PRD
85
+
86
+ **Violation types:**
87
+ - CRITICAL: PRD references technology not in stack-decision.md
88
+ - CRITICAL: Key stack technology has no presence in PRD
89
+ - WARNING: Stack technology mentioned but underspecified in PRD
90
+
91
+ ### Step 3: Architecture ↔ PRD Check
92
+
93
+ For each architecture decision in architecture.md:
94
+ - [ ] PRD respects layer boundaries
95
+ - [ ] PRD respects dependency direction
96
+ - [ ] PRD technical notes align with defined patterns
97
+
98
+ **Violation types:**
99
+ - CRITICAL: PRD proposes pattern contradicting architecture.md
100
+ - WARNING: PRD section doesn't reference applicable architecture decision
101
+
102
+ ### Step 4: Best Practices ↔ PRD Check
103
+
104
+ For each MUST constraint in tech-bestpractices.md:
105
+ - [ ] PRD does not violate this constraint
106
+ - [ ] Relevant user stories reference this constraint
107
+
108
+ For each MUST NOT constraint:
109
+ - [ ] PRD does not propose the antipattern
110
+
111
+ **Violation types:**
112
+ - CRITICAL: PRD violates a MUST constraint
113
+ - CRITICAL: PRD proposes a MUST NOT antipattern
114
+ - WARNING: MUST constraint not referenced by any user story
115
+
116
+ ### Step 5: Internal Consistency Check
117
+
118
+ Within the PRD itself:
119
+ - [ ] No two user stories contradict each other
120
+ - [ ] Priorities are consistent (P0 depends on P0, not P1 depending on P2)
121
+ - [ ] Data model matches API surface
122
+ - [ ] Security requirements cover all user-facing features
123
+ - [ ] Testing requirements cover all P0 user stories
124
+
125
+ **Violation types:**
126
+ - CRITICAL: Contradicting user stories
127
+ - CRITICAL: P0 feature with no test coverage requirement
128
+ - WARNING: Priority inconsistency in dependencies
129
+
130
+ ### Step 6: Completeness Check
131
+
132
+ - [ ] All sections of PRD template are present
133
+ - [ ] Executive summary matches actual content
134
+ - [ ] Traceability matrix is complete
135
+ - [ ] Open questions are flagged (not hidden)
136
+
137
+ **Violation types:**
138
+ - WARNING: Missing PRD section
139
+ - INFO: Traceability matrix has gaps
140
+
141
+ ### Step 7: Write Consistency Report
142
+
143
+ Write `artifacts/consistency-report.md`:
144
+
145
+ ```markdown
146
+ # Consistency Report: <Project/Task Name>
147
+
148
+ ## Verdict: PASS | PASS_WITH_WARNINGS | FAIL
149
+
150
+ ## Summary
151
+ - Checks executed: <count>
152
+ - CRITICAL violations: <count>
153
+ - WARNING violations: <count>
154
+ - INFO items: <count>
155
+
156
+ ## Violations
157
+
158
+ ### CRITICAL
159
+ #### V-001: <Title>
160
+ - **Check**: <which check caught this>
161
+ - **Found in PRD**: <section/user story reference>
162
+ - **Conflicts with**: <decision ID / constraint ID / architecture section>
163
+ - **Details**: <specific description>
164
+ - **Suggested fix**: <what should change>
165
+ - **Fix target**: <which phase/artifact needs to be updated>
166
+
167
+ ### WARNINGS
168
+ #### W-001: <Title>
169
+ ...
170
+
171
+ ### INFO
172
+ #### I-001: <Title>
173
+ ...
174
+
175
+ ## Audit Trail
176
+ | Check Category | Items Checked | Passed | Failed |
177
+ |---------------|--------------|--------|--------|
178
+ | Goals ↔ User Stories | <N> | <N> | <N> |
179
+ | Stack ↔ PRD | <N> | <N> | <N> |
180
+ | Architecture ↔ PRD | <N> | <N> | <N> |
181
+ | Best Practices ↔ PRD | <N> | <N> | <N> |
182
+ | Internal Consistency | <N> | <N> | <N> |
183
+ | Completeness | <N> | <N> | <N> |
184
+
185
+ ## Rollback Recommendations
186
+ <If CRITICAL violations exist, suggest which phase to rollback to>
187
+ - V-001 → requires rollback to Phase <N> (<reason>)
188
+ ```
189
+
190
+ ### Step 8: Return Summary
191
+
192
+ Compact summary: verdict, violation counts, rollback recommendation if applicable.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: gproject-consistency-checker
2
+ name: consistency-checker
3
3
  description: >
4
4
  Validates PRD/Implementation Plan against decisions registry, architecture doc,
5
5
  and best practices constraints. Catches contradictions, gaps, and violations.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: interview
3
- description: "Critical requirements interviewer: asks targeted clarifying questions one-by-one before expensive operations. Identifies uncertainty zones, provides answer options, adapts follow-ups based on responses. Can trigger mini-brainstorm on ambiguous points. Use before implementation, design, or migration to gather precise context."
3
+ description: "Use before implementation, design, or migration when requirements are unclear and targeted clarifying questions are needed to gather precise context."
4
4
  triggers:
5
5
  - "/interview"
6
6
  - "Interview"
@@ -16,6 +16,12 @@ metadata:
16
16
  license: "MIT"
17
17
  ---
18
18
 
19
+ <SUBAGENT-STOP>
20
+ If you were dispatched as a subagent to execute a specific task, skip this skill entirely.
21
+ This skill is for orchestrators and interactive session-level routing only.
22
+ Proceed directly with your assigned task.
23
+ </SUBAGENT-STOP>
24
+
19
25
  # Interview
20
26
 
21
27
  Critical requirements interviewer that asks targeted clarifying questions before expensive operations begin. The goal is to eliminate ambiguity and gather precise context so downstream skills (job-orchestrator, feature-dev, prd-creator) produce accurate results.