@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
@@ -28,32 +28,11 @@ license: "MIT"
28
28
  - Фидбек должен быть подробным: проблема -> почему это проблема -> где (файл/участок) -> что сделать -> пример исправления.
29
29
  - Исправления предлагай в виде unified diff-патчей, не вноси изменения в код напрямую.
30
30
 
31
- ## Git workflow (вычислить базу и diff)
31
+ ## Scope Detection
32
32
 
33
- Определи parent ref и вычисли merge-base:
33
+ See shared script: `skills/shared/git-merge-base.md`
34
34
 
35
- ```bash
36
- BRANCH="$(git rev-parse --abbrev-ref HEAD)"
37
- UPSTREAM_REF="$(git rev-parse --abbrev-ref --symbolic-full-name @{upstream} 2>/dev/null || true)"
38
-
39
- PARENT=""
40
- if git rev-parse --verify -q "origin/main" >/dev/null; then
41
- PARENT="origin/main"
42
- elif git rev-parse --verify -q "origin/master" >/dev/null; then
43
- PARENT="origin/master"
44
- elif git rev-parse --verify -q "main" >/dev/null; then
45
- PARENT="main"
46
- elif git rev-parse --verify -q "master" >/dev/null; then
47
- PARENT="master"
48
- elif [ -n "$UPSTREAM_REF" ] && [ "$UPSTREAM_REF" != "$BRANCH" ] && [ "$UPSTREAM_REF" != "origin/$BRANCH" ]; then
49
- PARENT="@{upstream}"
50
- else
51
- echo "Cannot determine parent ref" >&2
52
- exit 1
53
- fi
54
-
55
- BASE_SHA="$(git merge-base HEAD "$PARENT")"
56
- ```
35
+ Run the script from that file to determine MERGE_BASE and SCOPE before proceeding with the review.
57
36
 
58
37
  Собери входные данные:
59
38
 
@@ -158,6 +137,20 @@ git diff --find-renames <FROM_SHA>..<TO_SHA>
158
137
 
159
138
  ---
160
139
 
140
+ ## Scope Boundaries
141
+
142
+ This skill covers **code style and architecture patterns** — naming, organization, TypeScript usage, pattern compliance per `code-style-patterns.mdc`.
143
+
144
+ | Concern | This skill | Use instead |
145
+ |---------|-----------|-------------|
146
+ | Naming conventions, file organization, import order | ✅ YES | — |
147
+ | TypeScript patterns, component/hook structure | ✅ YES | — |
148
+ | Architecture pattern compliance | ✅ YES | — |
149
+ | Logic correctness, type safety deep dives | ❌ NO | `code-ai-review` or `code-learned-review` |
150
+ | MobX store internals | ❌ NO | `code-mobx-store-review` |
151
+
152
+ ---
153
+
161
154
  ## Job Context Awareness
162
155
 
163
156
  When dispatched by `job-orchestrator` as part of a job pipeline, the prompt MAY include:
@@ -28,32 +28,11 @@ license: "MIT"
28
28
  - Фидбек должен быть подробным: проблема -> почему это проблема -> где (файл/участок) -> что сделать -> пример исправления.
29
29
  - Исправления предлагай в виде unified diff-патчей, не вноси изменения в код напрямую.
30
30
 
31
- ## Git workflow (вычислить базу и diff)
31
+ ## Scope Detection
32
32
 
33
- Определи parent ref и вычисли merge-base:
33
+ See shared script: `skills/shared/git-merge-base.md`
34
34
 
35
- ```bash
36
- BRANCH="$(git rev-parse --abbrev-ref HEAD)"
37
- UPSTREAM_REF="$(git rev-parse --abbrev-ref --symbolic-full-name @{upstream} 2>/dev/null || true)"
38
-
39
- PARENT=""
40
- if git rev-parse --verify -q "origin/main" >/dev/null; then
41
- PARENT="origin/main"
42
- elif git rev-parse --verify -q "origin/master" >/dev/null; then
43
- PARENT="origin/master"
44
- elif git rev-parse --verify -q "main" >/dev/null; then
45
- PARENT="main"
46
- elif git rev-parse --verify -q "master" >/dev/null; then
47
- PARENT="master"
48
- elif [ -n "$UPSTREAM_REF" ] && [ "$UPSTREAM_REF" != "$BRANCH" ] && [ "$UPSTREAM_REF" != "origin/$BRANCH" ]; then
49
- PARENT="@{upstream}"
50
- else
51
- echo "Cannot determine parent ref" >&2
52
- exit 1
53
- fi
54
-
55
- BASE_SHA="$(git merge-base HEAD "$PARENT")"
56
- ```
35
+ Run the script from that file to determine MERGE_BASE and SCOPE before proceeding with the review.
57
36
 
58
37
  Собери входные данные:
59
38
 
@@ -158,6 +137,20 @@ git diff --find-renames <FROM_SHA>..<TO_SHA>
158
137
 
159
138
  ---
160
139
 
140
+ ## Scope Boundaries
141
+
142
+ This skill covers **code style and architecture patterns** — naming, organization, TypeScript usage, pattern compliance per `code-style-patterns.mdc`.
143
+
144
+ | Concern | This skill | Use instead |
145
+ |---------|-----------|-------------|
146
+ | Naming conventions, file organization, import order | ✅ YES | — |
147
+ | TypeScript patterns, component/hook structure | ✅ YES | — |
148
+ | Architecture pattern compliance | ✅ YES | — |
149
+ | Logic correctness, type safety deep dives | ❌ NO | `code-ai-review` or `code-learned-review` |
150
+ | MobX store internals | ❌ NO | `code-mobx-store-review` |
151
+
152
+ ---
153
+
161
154
  ## Job Context Awareness
162
155
 
163
156
  When dispatched by `job-orchestrator` as part of a job pipeline, the prompt MAY include:
@@ -211,7 +211,7 @@ Focus on **SRP** and **DIP** — the two most commonly violated in practice.
211
211
 
212
212
  ## Orchestrated Review Contract
213
213
 
214
- When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
214
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
215
215
 
216
216
  ---
217
217
 
@@ -230,7 +230,7 @@ is, and a condition that cannot name one is not a `blocker`.
230
230
 
231
231
  ## Orchestrated Review Contract
232
232
 
233
- When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
233
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
234
234
 
235
235
  ---
236
236
 
@@ -367,7 +367,7 @@ Flags:
367
367
 
368
368
  ## Orchestrated Review Contract
369
369
 
370
- When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
370
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
371
371
 
372
372
  ---
373
373
 
@@ -69,7 +69,7 @@ boundary is the trigger-and-outcome test.
69
69
 
70
70
  ## Orchestrated Review Contract
71
71
 
72
- When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
72
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
73
73
 
74
74
  ---
75
75
 
@@ -95,7 +95,7 @@ boundary is the trigger-and-outcome test.
95
95
 
96
96
  ## Orchestrated Review Contract
97
97
 
98
- When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
98
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
99
99
 
100
100
  ---
101
101
 
@@ -630,7 +630,7 @@ If the file does not exist or is not provided, proceed normally — context is o
630
630
 
631
631
  ## Orchestrated Review Contract
632
632
 
633
- When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
633
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
634
634
 
635
635
  ---
636
636
 
@@ -120,7 +120,7 @@ boundary is the trigger-and-outcome test.
120
120
 
121
121
  ## Orchestrated Review Contract
122
122
 
123
- When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
123
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
124
124
 
125
125
  ---
126
126
 
@@ -406,7 +406,7 @@ Flags:
406
406
 
407
407
  ## Orchestrated Review Contract
408
408
 
409
- When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
409
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
410
410
 
411
411
  ---
412
412
 
@@ -26,7 +26,7 @@ license: "MIT"
26
26
  # Review Logic
27
27
 
28
28
  Specialized reviewer for **logic correctness and algorithmic soundness**.
29
- Inherits from the original `code-ai-review` + `code-boss-review` correctness phases
29
+ Inherits from the original `code-ai-review` + `code-learned-review` correctness phases
30
30
  and unifies them into a single focused pass.
31
31
 
32
32
  This reviewer does not care about formatting, naming, or architecture opinions.
@@ -174,7 +174,7 @@ Do not review unrelated files.
174
174
 
175
175
  ## Orchestrated Review Contract
176
176
 
177
- When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
177
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
178
178
 
179
179
  ---
180
180
 
@@ -28,7 +28,7 @@ triggers:
28
28
  - "review --flow-graph"
29
29
  - "review --legacy-profiles"
30
30
  - "review --code-ai"
31
- - "review --b091"
31
+ - "review --learned"
32
32
  - "review --code-style"
33
33
  - "review --mobx-store"
34
34
  metadata:
@@ -153,7 +153,7 @@ which of its inputs were recovered and which were never written down.
153
153
 
154
154
  | Field | Type | Required | Description |
155
155
  |-------|------|----------|-------------|
156
- | `flags` | string[] | no | One or more of: `--frontend`, `--backend`, `--architecture`, `--security`, `--performance`, `--style`, `--clean-code`, `--highload`, `--project-conventions`, `--frontend-conventions`, `--testing-practices`, `--core-boundaries`, `--flow-graph`, `--legacy-profiles`, `--code-ai`, `--b091`, `--code-style`, `--mobx-store`, `--verify`, `--all` |
156
+ | `flags` | string[] | no | One or more of: `--frontend`, `--backend`, `--architecture`, `--security`, `--performance`, `--style`, `--clean-code`, `--highload`, `--project-conventions`, `--frontend-conventions`, `--testing-practices`, `--core-boundaries`, `--flow-graph`, `--legacy-profiles`, `--code-ai`, `--learned`, `--code-style`, `--mobx-store`, `--verify`, `--all` |
157
157
  | `path` | string | no | File or directory path to review (e.g., `src/stores/`, `src/components/UserCard.tsx`). Activates **path mode** — reviews the files at this path directly, not a git diff. |
158
158
  | `commit_range` | string | no | Explicit commit hash or range (e.g., `abc123..HEAD`). Overrides merge-base detection. Ignored in path mode. |
159
159
  | `issue_url` | string | no | GitHub issue or task URL. If provided, Stage 1 gate checks spec compliance before dispatching reviewers. |
@@ -420,7 +420,7 @@ not ask for our reasoning and is reading between other tasks.
420
420
 
421
421
  ## Review Context Pack
422
422
 
423
- Before routing reviewers, build a compact `review_context` object. This is the shared source of truth for all sub-agents and must follow `skills/review-orchestrator/review-context.schema.json`.
423
+ Before routing reviewers, build a compact `review_context` object. This is the shared source of truth for all sub-agents and must follow `skills/review/review-orchestrator/review-context.schema.json`.
424
424
 
425
425
  Required content:
426
426
  - Request: raw user request, flags, review mode, explicit paths or commit range.
@@ -534,9 +534,22 @@ Rules:
534
534
 
535
535
  A **fix round** is any review of work produced to answer earlier findings. Set
536
536
  `is_fix_round: true` on every reviewer input, and populate `prior_findings` with
537
- the earlier findings and the disposition the fix claimed for each — the schema
538
- rejects the dispatch otherwise. A reviewer that cannot see what the fix was
539
- answering cannot tell whether the fix is complete.
537
+ the earlier findings and the disposition the fix claimed for each.
538
+
539
+ **Nothing refuses a dispatch that omits them, and this file used to say
540
+ otherwise.** `reviewer-input.schema.json` states the rule and no production
541
+ TypeScript loads that schema; reviewer dispatch is an action the host agent
542
+ takes, not a `keryx` invocation, so there is no point at which a malformed
543
+ dispatch could be rejected. `reviewer-input` is also absent from the `CONTRACTS`
544
+ registry (`src/gdskills/contracts.ts`), so `keryx skills contracts validate`
545
+ cannot be pointed at it either. The sentence that stood here until flow 209 told
546
+ you the schema would reject a dispatch without `prior_findings`; it asserted an
547
+ enforcement that has never existed, which is the same class of claim this whole
548
+ package was written to delete.
549
+
550
+ So this is a requirement on you, unenforced, and the only evidence it was met is
551
+ the `prior_findings` array the reviewer actually receives. A reviewer that cannot
552
+ see what the fix was answering cannot tell whether the fix is complete.
540
553
 
541
554
  Two scope rules apply, and they exist because breaking them is what produced
542
555
  seven rounds on PR #215 and four on PR #216:
@@ -817,9 +830,9 @@ Legacy/profile reviewers are specialized review profiles that predate the review
817
830
 
818
831
  | Trigger | Reviewers appended |
819
832
  |---|---|
820
- | `--legacy-profiles` | `code-ai-review` + `code-b091-review` + `code-style-review` + `code-mobx-store-review` when MobX/store files are present |
833
+ | `--legacy-profiles` | `code-ai-review` + `code-learned-review` + `code-style-review` + `code-mobx-store-review` when MobX/store files are present |
821
834
  | `--code-ai` | `code-ai-review` |
822
- | `--b091` | `code-b091-review` |
835
+ | `--learned` | `code-learned-review` |
823
836
  | `--code-style` | `code-style-review` |
824
837
  | `--mobx-store` | `code-mobx-store-review` |
825
838
  | `*.store.ts`, `makeObservable`, `observable`, `computed`, `action.bound` | suggest `code-mobx-store-review` as optional profile reviewer |
@@ -839,13 +852,13 @@ Review Plan Preview must include an `Optional legacy/profile reviewers` group an
839
852
  ```text
840
853
  Optional legacy/profile reviewers:
841
854
  - code-ai-review: available via --code-ai or --legacy-profiles
842
- - code-b091-review: available via --b091 or --legacy-profiles
855
+ - code-learned-review: available via --learned or --legacy-profiles
843
856
  - code-style-review: available via --code-style or --legacy-profiles
844
857
  - code-mobx-store-review: auto-suggest when *.store.ts or MobX patterns are present; available via --mobx-store or --legacy-profiles
845
858
 
846
859
  Skipped reviewers:
847
860
  - code-ai-review: profile reviewer, not selected unless --code-ai/--legacy-profiles
848
- - code-b091-review: profile reviewer, not selected unless --b091/--legacy-profiles
861
+ - code-learned-review: profile reviewer, not selected unless --learned/--legacy-profiles
849
862
  - code-style-review: legacy style profile, not selected unless --code-style/--legacy-profiles
850
863
  - code-mobx-store-review: not selected unless --mobx-store/--legacy-profiles or MobX store files are detected
851
864
  ```
@@ -989,7 +1002,7 @@ Runtime rules:
989
1002
 
990
1003
  Do not use vague fallback messages such as "running through available agent types" without naming which reviewers used fallback and why.
991
1004
 
992
- Pass each sub-reviewer a payload matching `skills/review-orchestrator/reviewer-input.schema.json`:
1005
+ Pass each sub-reviewer a payload matching `skills/review/review-orchestrator/reviewer-input.schema.json`:
993
1006
 
994
1007
  ```yaml
995
1008
  review_context: <bounded context pack>
@@ -1012,7 +1025,7 @@ target_path: <resolved path or file list>
1012
1025
  file_contents: <bounded file contents relevant to this reviewer>
1013
1026
  ```
1014
1027
 
1015
- Each reviewer must return a `REVIEW_RESULT` object matching `skills/review-orchestrator/reviewer-finding.schema.json`, followed by a concise markdown summary. The orchestrator must reject or normalize free-form reports before consolidation.
1028
+ Each reviewer must return a `REVIEW_RESULT` object matching `skills/review/review-orchestrator/reviewer-finding.schema.json`, followed by a concise markdown summary. The orchestrator must reject or normalize free-form reports before consolidation.
1016
1029
 
1017
1030
  **Important for path mode:** instruct each reviewer to check the **entire file**, not just changes. The scope report should say "Path: `<TARGET_PATH>`" instead of a branch/merge-base.
1018
1031
 
@@ -1034,7 +1047,7 @@ Each reviewer must return a `REVIEW_RESULT` object matching `skills/review-orche
1034
1047
  | Test / e2e conventions | NO | `review-testing-practices` |
1035
1048
  | Shared core boundary rules | NO | `review-core-boundaries` |
1036
1049
  | Shared flow/graph abstraction contracts | NO | `review-flow-graph` |
1037
- | Legacy/profile review profiles | NO | `code-ai-review`, `code-b091-review`, `code-style-review`, `code-mobx-store-review` |
1050
+ | Legacy/profile review profiles | NO | `code-ai-review`, `code-learned-review`, `code-style-review`, `code-mobx-store-review` |
1038
1051
 
1039
1052
  ---
1040
1053
 
@@ -368,7 +368,7 @@ If the file does not exist or is not provided, proceed normally — context is o
368
368
 
369
369
  ## Orchestrated Review Contract
370
370
 
371
- When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
371
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
372
372
 
373
373
  ---
374
374
 
@@ -41,7 +41,7 @@ review-pr-feedback Progress:
41
41
  - [ ] Step 4: Group comments by author
42
42
  - [ ] Step 5: Classify comment types (blocker intent / suggestion / question / nitpick)
43
43
  - [ ] Step 6: Explain each comment + suggest concrete fix with code example
44
- - [ ] Step 7: Detect senior/boss reviewer comments — offer pattern extraction (with user consent)
44
+ - [ ] Step 7: Comments from configured learning authors — offer a learning proposal (with user consent)
45
45
  - [ ] Step 8: Emit structured report with action items checklist
46
46
  ```
47
47
 
@@ -183,20 +183,39 @@ If confidence is Low, state both interpretations and ask the user which one appl
183
183
 
184
184
  ---
185
185
 
186
- ## Step 7: Senior / Boss Reviewer Handling
187
-
188
- **Detection**: if an author is identified as a senior or boss reviewer (by username, or by
189
- review authority markers such as "REQUEST_CHANGES from `boss`"), trigger this flow:
190
-
191
- 1. Notify the user: "This PR has comments from a senior reviewer (`<login>`)."
192
- 2. **NEVER update rules, CLAUDE.md, or any configuration without explicit user consent.**
193
- 3. Ask: "Should I analyze `<login>`'s comments for patterns and suggest updates to review rules?"
194
- 4. If the user agrees:
195
- - Identify recurring patterns in that reviewer's feedback (not one-off edge cases)
196
- - Propose specific additions to `.metaproject/rules/core/code-review-boss-profile.mdc` or the relevant rule file
197
- - Present the proposed changes to the user for approval before writing anything
198
- - After approval, update the rule file and note it in the output
199
- 5. Extract generalizable patterns only — not personal phrasing or one-off opinions
186
+ ## Step 7: Feed the comments back into the project's learned skill
187
+
188
+ **Detection is configuration, not judgement.** Which authors teach this project is
189
+ declared in `.metaproject/review-learning.config.json`, alongside the local skill
190
+ to teach and the repository to read. Do not decide that an author is senior,
191
+ authoritative, or worth learning from — the file decides, and an author it does
192
+ not name contributes nothing.
193
+
194
+ If the file is absent, this project does not learn. Say nothing about it and skip
195
+ this step; absence is a supported state, not a misconfiguration.
196
+
197
+ If the file is present and names at least one author who commented on this PR:
198
+
199
+ 1. Notify the user: "This PR has comments from `<login>`, a configured learning
200
+ source for `<module>/<skill>`."
201
+ 2. **NEVER apply a proposal without explicit user consent.**
202
+ 3. Ask: "Should I turn those comments into a learning proposal for
203
+ `<module>/<skill>`?"
204
+ 4. If the user agrees, run the two commands. The first writes a proposal and
205
+ changes nothing; the second is the only writer:
206
+ ```bash
207
+ keryx review learn --pr <n>
208
+ keryx skills learn apply .metaproject/data/gdskills/proposals/<id>.json
209
+ ```
210
+ 5. Present the proposal's lessons before applying. `learn` reads the record
211
+ `keryx review comments collect` already wrote and never re-fetches, so the
212
+ proposal shows exactly what would be written.
213
+
214
+ **The target is the project skill, never a rule file.** `.metaproject/rules/core/`
215
+ holds shipped templates that `keryx update` overwrites with force, and
216
+ `applyLearningProposal` refuses any target outside
217
+ `.metaproject/project-skills/` — a lesson written anywhere else is lost on the
218
+ next update, or refused outright.
200
219
 
201
220
  ---
202
221
 
@@ -318,7 +337,7 @@ If provided and the file exists, read it before fetching PR comments. If absent,
318
337
 
319
338
  | Rationalization | Why it is wrong |
320
339
  |----------------|-----------------|
321
- | "I'll update the rule file based on the boss's comments without asking" | NEVER auto-update rules; always ask first — rules affect all future reviews |
340
+ | "I'll write these comments into a rule file without asking" | NEVER apply a learning proposal unsupervised, and never target a rule file — `keryx skills learn apply` refuses anything outside `.metaproject/project-skills/` |
322
341
  | "The reviewer's question is just curiosity, not a real concern" | Questions often hide concerns; classify carefully |
323
342
  | "I'll skip the 'praise' comments — they're not actionable" | Positive patterns help developers understand what to repeat |
324
343
  | "Confidence High for an ambiguous comment" | Low confidence is honest; false confidence leads to wrong fixes |
@@ -327,7 +346,7 @@ If provided and the file exists, read it before fetching PR comments. If absent,
327
346
 
328
347
  ## Orchestrated Review Contract
329
348
 
330
- When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
349
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
331
350
 
332
351
  ---
333
352
 
@@ -373,7 +373,7 @@ If the file does not exist or is not provided, proceed normally — context is o
373
373
 
374
374
  ## Orchestrated Review Contract
375
375
 
376
- When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
376
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
377
377
 
378
378
  ---
379
379
 
@@ -229,7 +229,7 @@ boundary is the trigger-and-outcome test.
229
229
 
230
230
  ## Orchestrated Review Contract
231
231
 
232
- When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
232
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
233
233
 
234
234
  ---
235
235
 
@@ -109,7 +109,7 @@ boundary is the trigger-and-outcome test.
109
109
 
110
110
  ## Orchestrated Review Contract
111
111
 
112
- When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
112
+ When dispatched by `review-orchestrator`, follow the provided `reviewer-input.schema.json` payload. Return a `REVIEW_RESULT` object compatible with `skills/review/review-orchestrator/reviewer-finding.schema.json`, then a concise markdown summary. Keep findings evidence-based, include concrete `suggested_fix` for every blocker/major, and return `NEEDS_CONTEXT` instead of guessing when required context is missing.
113
113
 
114
114
  ---
115
115
 
@@ -201,7 +201,7 @@ STATUS: DONE | NEEDS_CONTEXT | BLOCKED
201
201
  There is no `DONE_WITH_CONCERNS`: a verifier has no concerns of its own.
202
202
 
203
203
  Return one object conforming to
204
- `skills/review-orchestrator/verification-claim.schema.json`:
204
+ `skills/review/review-orchestrator/verification-claim.schema.json`:
205
205
 
206
206
  ````text
207
207
  ```json keryx:verifications
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Purpose
4
4
  Reusable bash script for determining the review scope (merge-base) for review skills.
5
- Used by: code-ai-review, code-boss-review, code-mobx-store-review, code-style-review.
5
+ Used by: code-ai-review, code-learned-review, code-mobx-store-review, code-style-review.
6
6
 
7
7
  ## Script
8
8
 
@@ -1,48 +0,0 @@
1
- ---
2
- description: "b091-style review profile: direct, strict, architecture-first feedback with concrete fixes."
3
- alwaysApply: false
4
- ---
5
-
6
- # b091 Review Profile
7
-
8
- ## Purpose
9
- Replicate the b091 review style for requested reviews.
10
-
11
- ## When To Apply
12
- Apply when user explicitly asks for review in b091 style.
13
-
14
- ## Style Profile
15
- - Direct and concise.
16
- - Architecture-first.
17
- - Strongly against duct-tape fixes.
18
- - Focus on testability and single source of truth.
19
-
20
- ## What To Flag
21
- - Business logic in UI instead of store/service.
22
- - **SOLID & Layering Violations**: Domain stores instantiating or importing UI component stores (e.g. `StepStore` directly owning `@components/...` stores). Domain state must remain decoupled from specific UI representations.
23
- - PRs containing overloaded, AI-generated boilerplate descriptions ("white noise"). Encourage conciseness.
24
- - Re-introducing known bad patterns or regressions (e.g., adding UI-specific schema fields to core API DTOs).
25
- - Duplicate rule checks in multiple places.
26
- - Unsafe casts (`any`, disguised casts).
27
- - Mocks inheriting production classes.
28
- - Loading/no-data semantics confusion.
29
- - Magic numbers without rationale.
30
- - **Status/result mapping semantics**: Mapping "none" or absence-of-result to a semantic outcome (e.g. canceled, failed) without domain justification. Verify that source enum values (e.g. none, killed, cancelled) have distinct meanings and that the mapping preserves them; flag mappings that equate semantically different states (e.g. `none === canceled`, `killed === canceled` without explicit product rationale).
31
- - **Non-null assertions (`!`) in tests** — `value!` papers over real initialization issues (test fixtures that didn't actually run, async state that never arrived). Use type guards, typed fixtures/helper returns, or assertion-based setup (`expect(setter).toHaveBeenCalled()`) instead. Applies to `*.test.ts`, `*.spec.ts`, and `e2e/tests/**`. Codebase removed this pattern project-wide previously; flag re-introductions immediately.
32
- - **Store method accessibility** — See `core/mobx-store-template.mdc` for definitive rules on public vs private store methods. Key violations to flag:
33
- - Public `onChangeX` / `handleX` methods (must be private)
34
- - Public `action.bound` that should be private callbacks
35
-
36
- ## Response Format
37
- 1. Verdict in one line — use the canonical verdict vocabulary (same set as `core/code-review-ai-assistant.mdc`):
38
- - `APPROVE` — no blocking issues; changes accepted as-is
39
- - `APPROVE WITH SUGGESTIONS` — accepted but improvements noted for follow-up
40
- - `REQUEST CHANGES` — has issues that must be fixed before merge
41
- - `COMMENT` — informational findings only; no blocking action required
42
- 2. Top 1-3 blocking findings.
43
- 3. Concrete replacement/fix path.
44
-
45
- ## Guardrails
46
- - No personal attacks.
47
- - No empty nitpicks.
48
- - Keep recommendations lint-safe and scoped.
@@ -1,46 +0,0 @@
1
- ---
2
- description: Structured brainstorming — architecture decisions, problem solving, open exploration
3
- allowed-tools: Read(*), Glob(*), Bash(git log:*), Bash(git branch:*)
4
- ---
5
-
6
- ## Context
7
-
8
- - Project: !`basename $(git rev-parse --show-toplevel 2>/dev/null) 2>/dev/null || basename $PWD`
9
- - Current branch: !`git branch --show-current 2>/dev/null || echo "n/a"`
10
- - Recent work: !`git log --oneline -5 2>/dev/null || echo "n/a"`
11
-
12
- ## Your task
13
-
14
- Topic to brainstorm: $ARGUMENTS
15
-
16
- Run a structured brainstorm session. Auto-detect mode from topic:
17
-
18
- ### Mode A — Feature / Architecture
19
- *when topic is about building or designing something*
20
-
21
- 1. **Restate the problem** in one sentence
22
- 2. **Constraints** — perf, compat, team, time, existing stack
23
- 3. **5-7 distinct approaches** — each with: catchy name, core idea (1-2 sentences), key trade-off
24
- 4. **Wild card** — one unconventional idea that breaks assumptions
25
- 5. **Recommendation** — top 2 with reasoning
26
- 6. **Open questions** — what must be decided before committing
27
-
28
- ### Mode B — Problem Solving
29
- *when topic is a bug, failure, or "why is X happening"*
30
-
31
- 1. **Reproduce** — what fails, when, under what conditions
32
- 2. **5 hypotheses** — ordered by likelihood
33
- 3. **Fastest disproof** — specific command or check for each
34
- 4. **Most likely culprit** — and why
35
- 5. **Fix options** — quick fix vs proper fix
36
-
37
- ### Mode C — Open-ended / Creative
38
- *when topic is vague or exploratory*
39
-
40
- 1. **Expand the space** — 3 different framings of the question
41
- 2. **Diverge** — 10 raw ideas, no filtering
42
- 3. **Converge** — cluster into 3 strongest themes
43
- 4. **Stress test** — what could go wrong with each?
44
- 5. **Next step** — one concrete action
45
-
46
- Be direct and opinionated. Never end without a concrete recommendation.