@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.
- package/dist/cli.js +4632 -2229
- package/package.json +2 -2
- package/src/gdskills/bundled/rules/core/code-review-learned-profile.mdc +81 -0
- package/src/gdskills/bundled/rules/core/gproject-contracts.mdc +1 -1
- package/src/gdskills/bundled/rules/core/jobs-documentation.mdc +2 -2
- package/src/gdskills/bundled/rules/core/review-strict-profile.mdc +8 -4
- package/src/gdskills/bundled/rules/core/subagent-context-construction.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.codex.md +326 -20
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.cursor.md +320 -22
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.opencode.md +326 -12
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.zed.md +333 -9
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.codex.md +94 -6
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.cursor.md +94 -6
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.md +2 -2
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.opencode.md +94 -6
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.zed.md +94 -6
- package/src/gdskills/bundled/skills/orchestration/context-collector/orchestrator-prompt.md +3 -3
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.codex.md +154 -1098
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.cursor.md +154 -1098
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.md +3 -3
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.opencode.md +154 -1098
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.zed.md +154 -1098
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/orchestrator-prompt.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.codex.md +102 -42
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.cursor.md +102 -42
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.md +2 -2
- package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/SKILL.md +2 -2
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.codex.md +115 -49
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.cursor.md +115 -49
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.opencode.md +115 -49
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.zed.md +115 -49
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/orchestrator-prompt.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.codex.md +16 -7
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.cursor.md +16 -7
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.opencode.md +16 -7
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.zed.md +16 -7
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.codex.md +973 -510
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.cursor.md +973 -510
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.md +944 -514
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.opencode.md +973 -510
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.zed.md +973 -510
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/input-contract.schema.json +38 -28
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/orchestrator-prompt.md +98 -66
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/output-contract.schema.json +27 -5
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.codex.md +300 -55
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.cursor.md +300 -55
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.md +120 -37
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.opencode.md +300 -55
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.zed.md +300 -55
- package/src/gdskills/bundled/skills/orchestration/task-implementer/input-contract.schema.json +57 -15
- package/src/gdskills/bundled/skills/orchestration/task-implementer/orchestrator-prompt.md +50 -23
- package/src/gdskills/bundled/skills/orchestration/task-implementer/output-contract.schema.json +6 -2
- package/src/gdskills/bundled/skills/orchestration/task-implementer/task-request.template.md +18 -12
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.codex.md +168 -9
- package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.cursor.md +168 -9
- package/src/gdskills/bundled/skills/planning/interview/SKILL.codex.md +7 -1
- package/src/gdskills/bundled/skills/planning/interview/SKILL.cursor.md +7 -1
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.codex.md +7 -1
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.cursor.md +7 -1
- package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.codex.md +215 -9
- package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.cursor.md +215 -9
- package/src/gdskills/bundled/skills/planning/planner/SKILL.codex.md +168 -9
- package/src/gdskills/bundled/skills/planning/planner/SKILL.cursor.md +168 -9
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.codex.md +2 -2
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.cursor.md +2 -2
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.opencode.md +2 -2
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.zed.md +2 -2
- package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.codex.md +133 -9
- package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.cursor.md +133 -9
- package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.codex.md +145 -9
- package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.cursor.md +145 -9
- package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.codex.md +210 -9
- package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.cursor.md +210 -9
- package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.codex.md +161 -9
- package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.cursor.md +161 -9
- package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/platform/hookify/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/platform/hookify/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/commit/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/commit/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/pr/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/pr/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.codex.md +15 -1
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.cursor.md +248 -165
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.opencode.md +15 -1
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.zed.md +359 -19
- package/src/gdskills/bundled/skills/quality/push/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/push/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.codex.md +299 -24
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.cursor.md +296 -31
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.opencode.md +309 -18
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.zed.md +312 -17
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.codex.md +29 -30
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.cursor.md +29 -30
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.md +2 -2
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.opencode.md +29 -30
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.zed.md +29 -30
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.codex.md +243 -0
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.cursor.md +243 -0
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.md +243 -0
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.opencode.md +243 -0
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.zed.md +243 -0
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.codex.md +19 -23
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.cursor.md +19 -23
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.opencode.md +19 -23
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.zed.md +19 -23
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.codex.md +17 -24
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.cursor.md +17 -24
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.opencode.md +17 -24
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.zed.md +17 -24
- package/src/gdskills/bundled/skills/review/review-architecture/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/review-backend/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/review-clean-code/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/review-core-boundaries/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/review-flow-graph/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/review-frontend/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/review-frontend-conventions/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/review-highload/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/review-logic/SKILL.md +2 -2
- package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +26 -13
- package/src/gdskills/bundled/skills/review/review-performance/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/review-pr-feedback/SKILL.md +36 -17
- package/src/gdskills/bundled/skills/review/review-security-code/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/review-style/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/review-testing-practices/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/review-verifier/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/shared/git-merge-base.md +1 -1
- package/src/gdskills/bundled/rules/core/code-review-b091-profile.mdc +0 -48
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.claude.md +0 -46
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.claude.md +0 -94
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.claude.md +0 -45
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.claude.md +0 -40
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.claude.md +0 -45
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.claude.md +0 -42
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.claude.md +0 -48
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.claude.md +0 -40
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.claude.md +0 -30
- package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.codex.md +0 -209
- package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.cursor.md +0 -209
- package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.md +0 -208
- package/src/gdskills/bundled/skills/review/code-b091-review/SKILL.opencode.md +0 -209
- 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
|
-
##
|
|
31
|
+
## Scope Detection
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
See shared script: `skills/shared/git-merge-base.md`
|
|
34
34
|
|
|
35
|
-
|
|
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
|
-
##
|
|
31
|
+
## Scope Detection
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
See shared script: `skills/shared/git-merge-base.md`
|
|
34
34
|
|
|
35
|
-
|
|
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-
|
|
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 --
|
|
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`, `--
|
|
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
|
|
538
|
-
|
|
539
|
-
|
|
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-
|
|
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
|
-
| `--
|
|
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-
|
|
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-
|
|
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-
|
|
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:
|
|
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:
|
|
187
|
-
|
|
188
|
-
**Detection
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
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
|
|
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-
|
|
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.
|