@mrciphersmith/keryx 0.2.72 → 0.2.73
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +352 -22
- package/package.json +2 -2
- package/src/gdskills/bundled/rules/core/gproject-contracts.mdc +1 -1
- package/src/gdskills/bundled/rules/core/jobs-documentation.mdc +1 -1
- 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 +92 -4
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.cursor.md +92 -4
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.opencode.md +92 -4
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.zed.md +92 -4
- package/src/gdskills/bundled/skills/orchestration/context-collector/orchestrator-prompt.md +1 -1
- 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.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 +101 -41
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.cursor.md +101 -41
- 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 +15 -6
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.cursor.md +15 -6
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.opencode.md +15 -6
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.zed.md +15 -6
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.opencode.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.zed.md +1 -1
- 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 +56 -14
- 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.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 +21 -30
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.cursor.md +21 -30
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.opencode.md +21 -30
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.zed.md +21 -30
- 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.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.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-orchestrator/SKILL.md +16 -3
- 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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: context-collector
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when a job needs a unified context document — gathering docs, libraries, and references for sub-agents before execution."
|
|
4
4
|
triggers:
|
|
5
5
|
- "Collect context"
|
|
6
6
|
- "Build context"
|
|
@@ -11,12 +11,19 @@ triggers:
|
|
|
11
11
|
- "Research context"
|
|
12
12
|
metadata:
|
|
13
13
|
author: "MrCipherSmith"
|
|
14
|
-
version: "1.
|
|
14
|
+
version: "1.1.0"
|
|
15
15
|
category: "context"
|
|
16
|
+
agent_worthy: true
|
|
16
17
|
compatible_harnesses: "cursor,codex,zed,opencode"
|
|
17
18
|
license: "MIT"
|
|
18
19
|
---
|
|
19
20
|
|
|
21
|
+
<SUBAGENT-STOP>
|
|
22
|
+
If you were dispatched as a subagent to execute a specific task, skip this skill entirely.
|
|
23
|
+
This skill is for orchestrators and interactive session-level routing only.
|
|
24
|
+
Proceed directly with your assigned task.
|
|
25
|
+
</SUBAGENT-STOP>
|
|
26
|
+
|
|
20
27
|
# Context Collector
|
|
21
28
|
|
|
22
29
|
## Purpose
|
|
@@ -163,9 +170,15 @@ Scan local sources for relevant context. Be selective — only include what is d
|
|
|
163
170
|
|------------|---------------|
|
|
164
171
|
| React components | code-style-patterns.mdc, frontend-assistant.mdc, storybook-guidelines.mdc |
|
|
165
172
|
| MobX stores | code-style-patterns.mdc, mobx-store-template.mdc |
|
|
166
|
-
| API / DTOs | nestjs-dto.mdc, code-style-patterns.mdc |
|
|
167
|
-
| Testing | playwright-testing.mdc, storybook-guidelines.mdc |
|
|
173
|
+
| API / DTOs | nestjs-dto.mdc, code-style-patterns.mdc, api-contracts.mdc |
|
|
174
|
+
| Testing | playwright-testing.mdc, storybook-guidelines.mdc, tdd-workflow.mdc |
|
|
168
175
|
| General code | code-style-patterns.mdc, frontend-assistant.mdc |
|
|
176
|
+
| TDD / test-first | tdd-workflow.mdc |
|
|
177
|
+
| Architecture / layers | clean-architecture.mdc, solid-principles.mdc |
|
|
178
|
+
| Error handling | error-handling.mdc |
|
|
179
|
+
| Database / ORM | database-patterns.mdc |
|
|
180
|
+
| Security | security-baseline.mdc |
|
|
181
|
+
| Async code | async-patterns.mdc |
|
|
169
182
|
|
|
170
183
|
2. Read each applicable rule
|
|
171
184
|
3. Extract: specific conventions, required patterns, prohibited practices
|
|
@@ -189,6 +202,61 @@ Scan local sources for relevant context. Be selective — only include what is d
|
|
|
189
202
|
- Key patterns to follow for consistency
|
|
190
203
|
```
|
|
191
204
|
|
|
205
|
+
### 2.5 Test Framework Detection (`PROJECT_DIR`)
|
|
206
|
+
|
|
207
|
+
Always detect the test framework — `tests-creator` and `task-implementer` both need this.
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
1. Read package.json:
|
|
211
|
+
- Check "dependencies" and "devDependencies" for:
|
|
212
|
+
vitest, jest, @jest/*, mocha, jasmine, bun:test, pytest, go test
|
|
213
|
+
|
|
214
|
+
2. Check for config files:
|
|
215
|
+
- vitest.config.ts / vitest.config.js
|
|
216
|
+
- jest.config.ts / jest.config.js
|
|
217
|
+
- .mocharc.* / mocha.opts
|
|
218
|
+
|
|
219
|
+
3. Read 2-3 existing test files (*.test.ts, *.spec.ts, test_*.py):
|
|
220
|
+
- Import style (global vs explicit import)
|
|
221
|
+
- Describe/it/test nesting depth
|
|
222
|
+
- Assertion style (expect().toBe vs assert.equal)
|
|
223
|
+
- Mock library (vi.fn / jest.fn / sinon)
|
|
224
|
+
- Fixture patterns (factories, builders, inline data)
|
|
225
|
+
- Test file location convention (co-located vs __tests__/)
|
|
226
|
+
|
|
227
|
+
4. Summarize as "Test Framework Context":
|
|
228
|
+
framework: <vitest|jest|bun:test|mocha|pytest>
|
|
229
|
+
import_style: esm | cjs | global
|
|
230
|
+
file_pattern: "*.test.ts" | "*.spec.ts"
|
|
231
|
+
file_location: co-located | __tests__ | tests/
|
|
232
|
+
mock_library: vi | jest | sinon
|
|
233
|
+
run_command: "bun test" | "npx vitest run" | "npm test"
|
|
234
|
+
example_test_file: <path to a representative test>
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### 2.6 Greptile Codebase Context (when available)
|
|
238
|
+
|
|
239
|
+
Greptile indexes the full repository and stores codebase-level context. If Greptile MCP is available in the session, query it as an additional local source — it can surface cross-file patterns that a manual scan would miss.
|
|
240
|
+
|
|
241
|
+
```
|
|
242
|
+
1. Try fetching stored custom context:
|
|
243
|
+
mcp__greptile__get_custom_context({})
|
|
244
|
+
or
|
|
245
|
+
mcp__greptile__search_custom_context({ query: "<task_description>" })
|
|
246
|
+
|
|
247
|
+
2. If Greptile context is returned:
|
|
248
|
+
- Extract: documented patterns, known exceptions, team conventions
|
|
249
|
+
- Note: "Source: Greptile codebase index"
|
|
250
|
+
|
|
251
|
+
3. Check for relevant past review comments (signals about recurring issues):
|
|
252
|
+
mcp__greptile__search_greptile_comments({ query: "<focus_area>", limit: 5 })
|
|
253
|
+
- Extract recurring findings → add to "Known Issues / Watch Areas" section
|
|
254
|
+
|
|
255
|
+
4. If Greptile MCP is not available or returns empty: skip silently, proceed normally.
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
Greptile context is additive — it supplements local context, never replaces it.
|
|
259
|
+
|
|
192
260
|
**Output of Phase 2:**
|
|
193
261
|
```
|
|
194
262
|
LOCAL_CONTEXT:
|
|
@@ -196,6 +264,8 @@ LOCAL_CONTEXT:
|
|
|
196
264
|
related_jobs: [{job_name, relevance, key_findings}]
|
|
197
265
|
applicable_rules: [{rule, key_conventions: [string]}]
|
|
198
266
|
codebase_patterns: [{area, patterns: [string], example_files: [path]}]
|
|
267
|
+
test_framework: {framework, import_style, file_pattern, file_location, mock_library, run_command, example_test_file}
|
|
268
|
+
greptile_context: {available: bool, patterns: [string], known_issues: [string]}
|
|
199
269
|
```
|
|
200
270
|
|
|
201
271
|
---
|
|
@@ -445,6 +515,24 @@ If no JOB_NAME is provided:
|
|
|
445
515
|
- Write context to `<DOCS_ROOT>/context/<descriptive-slug>.md`
|
|
446
516
|
- Include full metadata block
|
|
447
517
|
|
|
518
|
+
## Reporting Results
|
|
519
|
+
|
|
520
|
+
Every final response to the orchestrator MUST begin with the status line:
|
|
521
|
+
|
|
522
|
+
```
|
|
523
|
+
STATUS: DONE
|
|
524
|
+
|
|
525
|
+
## Context collected
|
|
526
|
+
[summary of what was gathered]
|
|
527
|
+
|
|
528
|
+
## CONTEXT_RESULT
|
|
529
|
+
[the full result block]
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
Use `STATUS: DONE_WITH_CONCERNS` if context is partial. Use `STATUS: BLOCKED` if access fails.
|
|
533
|
+
|
|
534
|
+
**IRON LAW: THE FIRST LINE OF YOUR FINAL RESPONSE IS ALWAYS "STATUS: <STATUS>". THE CONTEXT_RESULT BLOCK FOLLOWS AFTER.**
|
|
535
|
+
|
|
448
536
|
### 5.3 Return Result
|
|
449
537
|
|
|
450
538
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: context-collector
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when a job needs a unified context document — gathering docs, libraries, and references for sub-agents before execution."
|
|
4
4
|
triggers:
|
|
5
5
|
- "Collect context"
|
|
6
6
|
- "Build context"
|
|
@@ -11,12 +11,19 @@ triggers:
|
|
|
11
11
|
- "Research context"
|
|
12
12
|
metadata:
|
|
13
13
|
author: "MrCipherSmith"
|
|
14
|
-
version: "1.
|
|
14
|
+
version: "1.1.0"
|
|
15
15
|
category: "context"
|
|
16
|
+
agent_worthy: true
|
|
16
17
|
compatible_harnesses: "cursor,codex,zed,opencode"
|
|
17
18
|
license: "MIT"
|
|
18
19
|
---
|
|
19
20
|
|
|
21
|
+
<SUBAGENT-STOP>
|
|
22
|
+
If you were dispatched as a subagent to execute a specific task, skip this skill entirely.
|
|
23
|
+
This skill is for orchestrators and interactive session-level routing only.
|
|
24
|
+
Proceed directly with your assigned task.
|
|
25
|
+
</SUBAGENT-STOP>
|
|
26
|
+
|
|
20
27
|
# Context Collector
|
|
21
28
|
|
|
22
29
|
## Purpose
|
|
@@ -163,9 +170,15 @@ Scan local sources for relevant context. Be selective — only include what is d
|
|
|
163
170
|
|------------|---------------|
|
|
164
171
|
| React components | code-style-patterns.mdc, frontend-assistant.mdc, storybook-guidelines.mdc |
|
|
165
172
|
| MobX stores | code-style-patterns.mdc, mobx-store-template.mdc |
|
|
166
|
-
| API / DTOs | nestjs-dto.mdc, code-style-patterns.mdc |
|
|
167
|
-
| Testing | playwright-testing.mdc, storybook-guidelines.mdc |
|
|
173
|
+
| API / DTOs | nestjs-dto.mdc, code-style-patterns.mdc, api-contracts.mdc |
|
|
174
|
+
| Testing | playwright-testing.mdc, storybook-guidelines.mdc, tdd-workflow.mdc |
|
|
168
175
|
| General code | code-style-patterns.mdc, frontend-assistant.mdc |
|
|
176
|
+
| TDD / test-first | tdd-workflow.mdc |
|
|
177
|
+
| Architecture / layers | clean-architecture.mdc, solid-principles.mdc |
|
|
178
|
+
| Error handling | error-handling.mdc |
|
|
179
|
+
| Database / ORM | database-patterns.mdc |
|
|
180
|
+
| Security | security-baseline.mdc |
|
|
181
|
+
| Async code | async-patterns.mdc |
|
|
169
182
|
|
|
170
183
|
2. Read each applicable rule
|
|
171
184
|
3. Extract: specific conventions, required patterns, prohibited practices
|
|
@@ -189,6 +202,61 @@ Scan local sources for relevant context. Be selective — only include what is d
|
|
|
189
202
|
- Key patterns to follow for consistency
|
|
190
203
|
```
|
|
191
204
|
|
|
205
|
+
### 2.5 Test Framework Detection (`PROJECT_DIR`)
|
|
206
|
+
|
|
207
|
+
Always detect the test framework — `tests-creator` and `task-implementer` both need this.
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
1. Read package.json:
|
|
211
|
+
- Check "dependencies" and "devDependencies" for:
|
|
212
|
+
vitest, jest, @jest/*, mocha, jasmine, bun:test, pytest, go test
|
|
213
|
+
|
|
214
|
+
2. Check for config files:
|
|
215
|
+
- vitest.config.ts / vitest.config.js
|
|
216
|
+
- jest.config.ts / jest.config.js
|
|
217
|
+
- .mocharc.* / mocha.opts
|
|
218
|
+
|
|
219
|
+
3. Read 2-3 existing test files (*.test.ts, *.spec.ts, test_*.py):
|
|
220
|
+
- Import style (global vs explicit import)
|
|
221
|
+
- Describe/it/test nesting depth
|
|
222
|
+
- Assertion style (expect().toBe vs assert.equal)
|
|
223
|
+
- Mock library (vi.fn / jest.fn / sinon)
|
|
224
|
+
- Fixture patterns (factories, builders, inline data)
|
|
225
|
+
- Test file location convention (co-located vs __tests__/)
|
|
226
|
+
|
|
227
|
+
4. Summarize as "Test Framework Context":
|
|
228
|
+
framework: <vitest|jest|bun:test|mocha|pytest>
|
|
229
|
+
import_style: esm | cjs | global
|
|
230
|
+
file_pattern: "*.test.ts" | "*.spec.ts"
|
|
231
|
+
file_location: co-located | __tests__ | tests/
|
|
232
|
+
mock_library: vi | jest | sinon
|
|
233
|
+
run_command: "bun test" | "npx vitest run" | "npm test"
|
|
234
|
+
example_test_file: <path to a representative test>
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### 2.6 Greptile Codebase Context (when available)
|
|
238
|
+
|
|
239
|
+
Greptile indexes the full repository and stores codebase-level context. If Greptile MCP is available in the session, query it as an additional local source — it can surface cross-file patterns that a manual scan would miss.
|
|
240
|
+
|
|
241
|
+
```
|
|
242
|
+
1. Try fetching stored custom context:
|
|
243
|
+
mcp__greptile__get_custom_context({})
|
|
244
|
+
or
|
|
245
|
+
mcp__greptile__search_custom_context({ query: "<task_description>" })
|
|
246
|
+
|
|
247
|
+
2. If Greptile context is returned:
|
|
248
|
+
- Extract: documented patterns, known exceptions, team conventions
|
|
249
|
+
- Note: "Source: Greptile codebase index"
|
|
250
|
+
|
|
251
|
+
3. Check for relevant past review comments (signals about recurring issues):
|
|
252
|
+
mcp__greptile__search_greptile_comments({ query: "<focus_area>", limit: 5 })
|
|
253
|
+
- Extract recurring findings → add to "Known Issues / Watch Areas" section
|
|
254
|
+
|
|
255
|
+
4. If Greptile MCP is not available or returns empty: skip silently, proceed normally.
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
Greptile context is additive — it supplements local context, never replaces it.
|
|
259
|
+
|
|
192
260
|
**Output of Phase 2:**
|
|
193
261
|
```
|
|
194
262
|
LOCAL_CONTEXT:
|
|
@@ -196,6 +264,8 @@ LOCAL_CONTEXT:
|
|
|
196
264
|
related_jobs: [{job_name, relevance, key_findings}]
|
|
197
265
|
applicable_rules: [{rule, key_conventions: [string]}]
|
|
198
266
|
codebase_patterns: [{area, patterns: [string], example_files: [path]}]
|
|
267
|
+
test_framework: {framework, import_style, file_pattern, file_location, mock_library, run_command, example_test_file}
|
|
268
|
+
greptile_context: {available: bool, patterns: [string], known_issues: [string]}
|
|
199
269
|
```
|
|
200
270
|
|
|
201
271
|
---
|
|
@@ -445,6 +515,24 @@ If no JOB_NAME is provided:
|
|
|
445
515
|
- Write context to `<DOCS_ROOT>/context/<descriptive-slug>.md`
|
|
446
516
|
- Include full metadata block
|
|
447
517
|
|
|
518
|
+
## Reporting Results
|
|
519
|
+
|
|
520
|
+
Every final response to the orchestrator MUST begin with the status line:
|
|
521
|
+
|
|
522
|
+
```
|
|
523
|
+
STATUS: DONE
|
|
524
|
+
|
|
525
|
+
## Context collected
|
|
526
|
+
[summary of what was gathered]
|
|
527
|
+
|
|
528
|
+
## CONTEXT_RESULT
|
|
529
|
+
[the full result block]
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
Use `STATUS: DONE_WITH_CONCERNS` if context is partial. Use `STATUS: BLOCKED` if access fails.
|
|
533
|
+
|
|
534
|
+
**IRON LAW: THE FIRST LINE OF YOUR FINAL RESPONSE IS ALWAYS "STATUS: <STATUS>". THE CONTEXT_RESULT BLOCK FOLLOWS AFTER.**
|
|
535
|
+
|
|
448
536
|
### 5.3 Return Result
|
|
449
537
|
|
|
450
538
|
```
|
|
@@ -111,7 +111,7 @@ CONTEXT_RESULT block as your final message.
|
|
|
111
111
|
```javascript
|
|
112
112
|
Task({
|
|
113
113
|
description: "context-collector: collect context for {{JOB_NAME}}",
|
|
114
|
-
subagent_type: "general",
|
|
114
|
+
subagent_type: "general-purpose",
|
|
115
115
|
prompt: "<generated prompt from template above>"
|
|
116
116
|
})
|
|
117
117
|
```
|