@fro.bot/systematic 2.0.1 → 2.0.3
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/agents/design/figma-design-sync.md +1 -1
- package/agents/document-review/coherence-reviewer.md +40 -0
- package/agents/document-review/design-lens-reviewer.md +46 -0
- package/agents/document-review/feasibility-reviewer.md +42 -0
- package/agents/document-review/product-lens-reviewer.md +50 -0
- package/agents/document-review/scope-guardian-reviewer.md +54 -0
- package/agents/document-review/security-lens-reviewer.md +38 -0
- package/agents/research/best-practices-researcher.md +2 -1
- package/agents/research/git-history-analyzer.md +1 -1
- package/agents/research/repo-research-analyst.md +164 -9
- package/agents/review/api-contract-reviewer.md +49 -0
- package/agents/review/correctness-reviewer.md +49 -0
- package/agents/review/data-migrations-reviewer.md +53 -0
- package/agents/review/maintainability-reviewer.md +49 -0
- package/agents/review/pattern-recognition-specialist.md +2 -1
- package/agents/review/performance-reviewer.md +51 -0
- package/agents/review/reliability-reviewer.md +49 -0
- package/agents/review/schema-drift-detector.md +12 -10
- package/agents/review/security-reviewer.md +51 -0
- package/agents/review/testing-reviewer.md +48 -0
- package/agents/workflow/pr-comment-resolver.md +1 -1
- package/agents/workflow/spec-flow-analyzer.md +60 -89
- package/dist/index.js +3 -3
- package/package.json +1 -1
- package/skills/agent-browser/SKILL.md +69 -48
- package/skills/ce-brainstorm/SKILL.md +2 -1
- package/skills/ce-compound/SKILL.md +26 -1
- package/skills/ce-compound-refresh/SKILL.md +11 -1
- package/skills/ce-ideate/SKILL.md +2 -1
- package/skills/ce-plan/SKILL.md +424 -414
- package/skills/ce-review/SKILL.md +12 -13
- package/skills/ce-review-beta/SKILL.md +506 -0
- package/skills/ce-review-beta/references/diff-scope.md +31 -0
- package/skills/ce-review-beta/references/findings-schema.json +128 -0
- package/skills/ce-review-beta/references/persona-catalog.md +50 -0
- package/skills/ce-review-beta/references/review-output-template.md +115 -0
- package/skills/ce-review-beta/references/subagent-template.md +56 -0
- package/skills/ce-work/SKILL.md +14 -6
- package/skills/ce-work-beta/SKILL.md +14 -8
- package/skills/claude-permissions-optimizer/SKILL.md +15 -14
- package/skills/deepen-plan/SKILL.md +348 -483
- package/skills/document-review/SKILL.md +160 -52
- package/skills/feature-video/SKILL.md +209 -178
- package/skills/file-todos/SKILL.md +72 -94
- package/skills/frontend-design/SKILL.md +243 -27
- package/skills/git-worktree/SKILL.md +37 -28
- package/skills/lfg/SKILL.md +7 -7
- package/skills/reproduce-bug/SKILL.md +154 -60
- package/skills/resolve-pr-parallel/SKILL.md +19 -12
- package/skills/resolve-todo-parallel/SKILL.md +9 -6
- package/skills/setup/SKILL.md +33 -56
- package/skills/slfg/SKILL.md +5 -5
- package/skills/test-browser/SKILL.md +69 -145
- package/skills/test-xcode/SKILL.md +61 -183
- package/skills/triage/SKILL.md +10 -10
- package/skills/ce-plan-beta/SKILL.md +0 -571
- package/skills/deepen-plan-beta/SKILL.md +0 -323
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Code Review Findings",
|
|
4
|
+
"description": "Structured output schema for code review sub-agents",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["reviewer", "findings", "residual_risks", "testing_gaps"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"reviewer": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Persona name that produced this output (e.g., 'correctness', 'security')"
|
|
11
|
+
},
|
|
12
|
+
"findings": {
|
|
13
|
+
"type": "array",
|
|
14
|
+
"description": "List of code review findings. Empty array if no issues found.",
|
|
15
|
+
"items": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"required": [
|
|
18
|
+
"title",
|
|
19
|
+
"severity",
|
|
20
|
+
"file",
|
|
21
|
+
"line",
|
|
22
|
+
"why_it_matters",
|
|
23
|
+
"autofix_class",
|
|
24
|
+
"owner",
|
|
25
|
+
"requires_verification",
|
|
26
|
+
"confidence",
|
|
27
|
+
"evidence",
|
|
28
|
+
"pre_existing"
|
|
29
|
+
],
|
|
30
|
+
"properties": {
|
|
31
|
+
"title": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"description": "Short, specific issue title. 10 words or fewer.",
|
|
34
|
+
"maxLength": 100
|
|
35
|
+
},
|
|
36
|
+
"severity": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"enum": ["P0", "P1", "P2", "P3"],
|
|
39
|
+
"description": "Issue severity level"
|
|
40
|
+
},
|
|
41
|
+
"file": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "Relative file path from repository root"
|
|
44
|
+
},
|
|
45
|
+
"line": {
|
|
46
|
+
"type": "integer",
|
|
47
|
+
"description": "Primary line number of the issue",
|
|
48
|
+
"minimum": 1
|
|
49
|
+
},
|
|
50
|
+
"why_it_matters": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"description": "Impact and failure mode -- not 'what is wrong' but 'what breaks'"
|
|
53
|
+
},
|
|
54
|
+
"autofix_class": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"enum": ["safe_auto", "gated_auto", "manual", "advisory"],
|
|
57
|
+
"description": "Reviewer's conservative recommendation for how this issue should be handled after synthesis"
|
|
58
|
+
},
|
|
59
|
+
"owner": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"enum": ["review-fixer", "downstream-resolver", "human", "release"],
|
|
62
|
+
"description": "Who should own the next action for this finding after synthesis"
|
|
63
|
+
},
|
|
64
|
+
"requires_verification": {
|
|
65
|
+
"type": "boolean",
|
|
66
|
+
"description": "Whether any fix for this finding must be re-verified with targeted tests or a follow-up review pass"
|
|
67
|
+
},
|
|
68
|
+
"suggested_fix": {
|
|
69
|
+
"type": ["string", "null"],
|
|
70
|
+
"description": "Concrete minimal fix. Omit or null if no good fix is obvious -- a bad suggestion is worse than none."
|
|
71
|
+
},
|
|
72
|
+
"confidence": {
|
|
73
|
+
"type": "number",
|
|
74
|
+
"description": "Reviewer confidence in this finding, calibrated per persona",
|
|
75
|
+
"minimum": 0.0,
|
|
76
|
+
"maximum": 1.0
|
|
77
|
+
},
|
|
78
|
+
"evidence": {
|
|
79
|
+
"type": "array",
|
|
80
|
+
"description": "Code-grounded evidence: snippets, line references, or pattern descriptions. At least 1 item.",
|
|
81
|
+
"items": { "type": "string" },
|
|
82
|
+
"minItems": 1
|
|
83
|
+
},
|
|
84
|
+
"pre_existing": {
|
|
85
|
+
"type": "boolean",
|
|
86
|
+
"description": "True if this issue exists in unchanged code unrelated to the current diff"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"residual_risks": {
|
|
92
|
+
"type": "array",
|
|
93
|
+
"description": "Risks the reviewer noticed but could not confirm as findings",
|
|
94
|
+
"items": { "type": "string" }
|
|
95
|
+
},
|
|
96
|
+
"testing_gaps": {
|
|
97
|
+
"type": "array",
|
|
98
|
+
"description": "Missing test coverage the reviewer identified",
|
|
99
|
+
"items": { "type": "string" }
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
|
|
103
|
+
"_meta": {
|
|
104
|
+
"confidence_thresholds": {
|
|
105
|
+
"suppress": "Below 0.60 -- do not report. Finding is speculative noise.",
|
|
106
|
+
"flag": "0.60-0.69 -- include only when the persona's calibration says the issue is actionable at that confidence.",
|
|
107
|
+
"report": "0.70+ -- report with full confidence."
|
|
108
|
+
},
|
|
109
|
+
"severity_definitions": {
|
|
110
|
+
"P0": "Critical breakage, exploitable vulnerability, data loss/corruption. Must fix before merge.",
|
|
111
|
+
"P1": "High-impact defect likely hit in normal usage, breaking contract. Should fix.",
|
|
112
|
+
"P2": "Moderate issue with meaningful downside (edge case, perf regression, maintainability trap). Fix if straightforward.",
|
|
113
|
+
"P3": "Low-impact, narrow scope, minor improvement. User's discretion."
|
|
114
|
+
},
|
|
115
|
+
"autofix_classes": {
|
|
116
|
+
"safe_auto": "Local, deterministic code or test fix suitable for the in-skill fixer in autonomous mode.",
|
|
117
|
+
"gated_auto": "Concrete fix exists, but it changes behavior, permissions, contracts, or other sensitive areas that deserve explicit approval.",
|
|
118
|
+
"manual": "Actionable issue that should become residual work rather than an in-skill autofix.",
|
|
119
|
+
"advisory": "Informational or operational item that should be surfaced in the report only."
|
|
120
|
+
},
|
|
121
|
+
"owners": {
|
|
122
|
+
"review-fixer": "The in-skill fixer can own this when policy allows.",
|
|
123
|
+
"downstream-resolver": "Turn this into residual work for later resolution.",
|
|
124
|
+
"human": "A person must make a judgment call before code changes should continue.",
|
|
125
|
+
"release": "Operational or rollout follow-up; do not convert into code-fix work automatically."
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Persona Catalog
|
|
2
|
+
|
|
3
|
+
8 reviewer personas organized in two tiers, plus CE-specific agents. The orchestrator uses this catalog to select which reviewers to spawn for each review.
|
|
4
|
+
|
|
5
|
+
## Always-on (3 personas + 2 CE agents)
|
|
6
|
+
|
|
7
|
+
Spawned on every review regardless of diff content.
|
|
8
|
+
|
|
9
|
+
**Persona agents (structured JSON output):**
|
|
10
|
+
|
|
11
|
+
| Persona | Agent | Focus |
|
|
12
|
+
|---------|-------|-------|
|
|
13
|
+
| `correctness` | `systematic:review:correctness-reviewer` | Logic errors, edge cases, state bugs, error propagation, intent compliance |
|
|
14
|
+
| `testing` | `systematic:review:testing-reviewer` | Coverage gaps, weak assertions, brittle tests, missing edge case tests |
|
|
15
|
+
| `maintainability` | `systematic:review:maintainability-reviewer` | Coupling, complexity, naming, dead code, premature abstraction |
|
|
16
|
+
|
|
17
|
+
**CE agents (unstructured output, synthesized separately):**
|
|
18
|
+
|
|
19
|
+
| Agent | Focus |
|
|
20
|
+
|-------|-------|
|
|
21
|
+
| `systematic:review:agent-native-reviewer` | Verify new features are agent-accessible |
|
|
22
|
+
| `systematic:research:learnings-researcher` | Search docs/solutions/ for past issues related to this PR's modules and patterns |
|
|
23
|
+
|
|
24
|
+
## Conditional (5 personas)
|
|
25
|
+
|
|
26
|
+
Spawned when the orchestrator identifies relevant patterns in the diff. The orchestrator reads the full diff and reasons about selection -- this is agent judgment, not keyword matching.
|
|
27
|
+
|
|
28
|
+
| Persona | Agent | Select when diff touches... |
|
|
29
|
+
|---------|-------|---------------------------|
|
|
30
|
+
| `security` | `systematic:review:security-reviewer` | Auth middleware, public endpoints, user input handling, permission checks, secrets management |
|
|
31
|
+
| `performance` | `systematic:review:performance-reviewer` | Database queries, ORM calls, loop-heavy data transforms, caching layers, async/concurrent code |
|
|
32
|
+
| `api-contract` | `systematic:review:api-contract-reviewer` | Route definitions, serializer/interface changes, event schemas, exported type signatures, API versioning |
|
|
33
|
+
| `data-migrations` | `systematic:review:data-migrations-reviewer` | Migration files, schema changes, backfill scripts, data transformations |
|
|
34
|
+
| `reliability` | `systematic:review:reliability-reviewer` | Error handling, retry logic, circuit breakers, timeouts, background jobs, async handlers, health checks |
|
|
35
|
+
|
|
36
|
+
## CE Conditional Agents (migration-specific)
|
|
37
|
+
|
|
38
|
+
These CE-native agents provide specialized analysis beyond what the persona agents cover. Spawn them when the diff includes database migrations, schema.rb, or data backfills.
|
|
39
|
+
|
|
40
|
+
| Agent | Focus |
|
|
41
|
+
|-------|-------|
|
|
42
|
+
| `systematic:review:schema-drift-detector` | Cross-references schema.rb changes against included migrations to catch unrelated drift |
|
|
43
|
+
| `systematic:review:deployment-verification-agent` | Produces Go/No-Go deployment checklist with SQL verification queries and rollback procedures |
|
|
44
|
+
|
|
45
|
+
## Selection rules
|
|
46
|
+
|
|
47
|
+
1. **Always spawn all 3 always-on personas** plus the 2 CE always-on agents.
|
|
48
|
+
2. **For each conditional persona**, the orchestrator reads the diff and decides whether the persona's domain is relevant. This is a judgment call, not a keyword match.
|
|
49
|
+
3. **For CE conditional agents**, spawn when the diff includes migration files (`db/migrate/*.rb`, `db/schema.rb`) or data backfill scripts.
|
|
50
|
+
4. **Announce the team** before spawning with a one-line justification per conditional reviewer selected.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Code Review Output Template
|
|
2
|
+
|
|
3
|
+
Use this **exact format** when presenting synthesized review findings. Findings are grouped by severity, not by reviewer.
|
|
4
|
+
|
|
5
|
+
**IMPORTANT:** Use pipe-delimited markdown tables (`| col | col |`). Do NOT use ASCII box-drawing characters.
|
|
6
|
+
|
|
7
|
+
## Example
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
## Code Review Results
|
|
11
|
+
|
|
12
|
+
**Scope:** merge-base with the review base branch -> working tree (14 files, 342 lines)
|
|
13
|
+
**Intent:** Add order export endpoint with CSV and JSON format support
|
|
14
|
+
**Mode:** autonomous
|
|
15
|
+
|
|
16
|
+
**Reviewers:** correctness, testing, maintainability, security, api-contract
|
|
17
|
+
- security -- new public endpoint accepts user-provided format parameter
|
|
18
|
+
- api-contract -- new /api/orders/export route with response schema
|
|
19
|
+
|
|
20
|
+
### P0 -- Critical
|
|
21
|
+
|
|
22
|
+
| # | File | Issue | Reviewer | Confidence | Route |
|
|
23
|
+
|---|------|-------|----------|------------|-------|
|
|
24
|
+
| 1 | `orders_controller.rb:42` | User-supplied ID in account lookup without ownership check | security | 0.92 | `gated_auto -> downstream-resolver` |
|
|
25
|
+
|
|
26
|
+
### P1 -- High
|
|
27
|
+
|
|
28
|
+
| # | File | Issue | Reviewer | Confidence | Route |
|
|
29
|
+
|---|------|-------|----------|------------|-------|
|
|
30
|
+
| 2 | `export_service.rb:87` | Loads all orders into memory -- unbounded for large accounts | performance | 0.85 | `safe_auto -> review-fixer` |
|
|
31
|
+
| 3 | `export_service.rb:91` | No pagination -- response size grows linearly with order count | api-contract, performance | 0.80 | `manual -> downstream-resolver` |
|
|
32
|
+
|
|
33
|
+
### P2 -- Moderate
|
|
34
|
+
|
|
35
|
+
| # | File | Issue | Reviewer | Confidence | Route |
|
|
36
|
+
|---|------|-------|----------|------------|-------|
|
|
37
|
+
| 4 | `export_service.rb:45` | Missing error handling for CSV serialization failure | correctness | 0.75 | `safe_auto -> review-fixer` |
|
|
38
|
+
|
|
39
|
+
### P3 -- Low
|
|
40
|
+
|
|
41
|
+
| # | File | Issue | Reviewer | Confidence | Route |
|
|
42
|
+
|---|------|-------|----------|------------|-------|
|
|
43
|
+
| 5 | `export_helper.rb:12` | Format detection could use early return instead of nested conditional | maintainability | 0.70 | `advisory -> human` |
|
|
44
|
+
|
|
45
|
+
### Applied Fixes
|
|
46
|
+
|
|
47
|
+
- `safe_auto`: Added bounded export pagination guard and CSV serialization failure test coverage in this run
|
|
48
|
+
|
|
49
|
+
### Residual Actionable Work
|
|
50
|
+
|
|
51
|
+
| # | File | Issue | Route | Next Step |
|
|
52
|
+
|---|------|-------|-------|-----------|
|
|
53
|
+
| 1 | `orders_controller.rb:42` | Ownership check missing on export lookup | `gated_auto -> downstream-resolver` | Create residual todo and require explicit approval before behavior change |
|
|
54
|
+
| 2 | `export_service.rb:91` | Pagination contract needs a broader API decision | `manual -> downstream-resolver` | Create residual todo with contract and client impact details |
|
|
55
|
+
|
|
56
|
+
### Pre-existing Issues
|
|
57
|
+
|
|
58
|
+
| # | File | Issue | Reviewer |
|
|
59
|
+
|---|------|-------|----------|
|
|
60
|
+
| 1 | `orders_controller.rb:12` | Broad rescue masking failed permission check | correctness |
|
|
61
|
+
|
|
62
|
+
### Learnings & Past Solutions
|
|
63
|
+
|
|
64
|
+
- [Known Pattern] `docs/solutions/export-pagination.md` -- previous export pagination fix applies to this endpoint
|
|
65
|
+
|
|
66
|
+
### Agent-Native Gaps
|
|
67
|
+
|
|
68
|
+
- New export endpoint has no CLI/agent equivalent -- agent users cannot trigger exports
|
|
69
|
+
|
|
70
|
+
### Schema Drift Check
|
|
71
|
+
|
|
72
|
+
- Clean: schema.rb changes match the migrations in scope
|
|
73
|
+
|
|
74
|
+
### Deployment Notes
|
|
75
|
+
|
|
76
|
+
- Pre-deploy: capture baseline row counts before enabling the export backfill
|
|
77
|
+
- Verify: `SELECT COUNT(*) FROM exports WHERE status IS NULL;` should stay at `0`
|
|
78
|
+
- Rollback: keep the old export path available until the backfill has been validated
|
|
79
|
+
|
|
80
|
+
### Coverage
|
|
81
|
+
|
|
82
|
+
- Suppressed: 2 findings below 0.60 confidence
|
|
83
|
+
- Residual risks: No rate limiting on export endpoint
|
|
84
|
+
- Testing gaps: No test for concurrent export requests
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
> **Verdict:** Ready with fixes
|
|
89
|
+
>
|
|
90
|
+
> **Reasoning:** 1 critical auth bypass must be fixed. The memory/pagination issues (P1) should be addressed for production safety.
|
|
91
|
+
>
|
|
92
|
+
> **Fix order:** P0 auth bypass -> P1 memory/pagination -> P2 error handling if straightforward
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Formatting Rules
|
|
96
|
+
|
|
97
|
+
- **Pipe-delimited markdown tables** -- never ASCII box-drawing characters
|
|
98
|
+
- **Severity-grouped sections** -- `### P0 -- Critical`, `### P1 -- High`, `### P2 -- Moderate`, `### P3 -- Low`. Omit empty severity levels.
|
|
99
|
+
- **Always include file:line location** for code review issues
|
|
100
|
+
- **Reviewer column** shows which persona(s) flagged the issue. Multiple reviewers = cross-reviewer agreement.
|
|
101
|
+
- **Confidence column** shows the finding's confidence score
|
|
102
|
+
- **Route column** shows the synthesized handling decision as ``<autofix_class> -> <owner>``.
|
|
103
|
+
- **Header includes** scope, intent, and reviewer team with per-conditional justifications
|
|
104
|
+
- **Mode line** -- include `interactive`, `autonomous`, or `report-only`
|
|
105
|
+
- **Applied Fixes section** -- include only when a fix phase ran in this review invocation
|
|
106
|
+
- **Residual Actionable Work section** -- include only when unresolved actionable findings were handed off for later work
|
|
107
|
+
- **Pre-existing section** -- separate table, no confidence column (these are informational)
|
|
108
|
+
- **Learnings & Past Solutions section** -- results from learnings-researcher, with links to docs/solutions/ files
|
|
109
|
+
- **Agent-Native Gaps section** -- results from agent-native-reviewer. Omit if no gaps found.
|
|
110
|
+
- **Schema Drift Check section** -- results from schema-drift-detector. Omit if the agent did not run.
|
|
111
|
+
- **Deployment Notes section** -- key checklist items from deployment-verification-agent. Omit if the agent did not run.
|
|
112
|
+
- **Coverage section** -- suppressed count, residual risks, testing gaps, failed reviewers
|
|
113
|
+
- **Summary uses blockquotes** for verdict, reasoning, and fix order
|
|
114
|
+
- **Horizontal rule** (`---`) separates findings from verdict
|
|
115
|
+
- **`###` headers** for each section -- never plain text headers
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Sub-agent Prompt Template
|
|
2
|
+
|
|
3
|
+
This template is used by the orchestrator to spawn each reviewer sub-agent. Variable substitution slots are filled at spawn time.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Template
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
You are a specialist code reviewer.
|
|
11
|
+
|
|
12
|
+
<persona>
|
|
13
|
+
{persona_file}
|
|
14
|
+
</persona>
|
|
15
|
+
|
|
16
|
+
<scope-rules>
|
|
17
|
+
{diff_scope_rules}
|
|
18
|
+
</scope-rules>
|
|
19
|
+
|
|
20
|
+
<output-contract>
|
|
21
|
+
Return ONLY valid JSON matching the findings schema below. No prose, no markdown, no explanation outside the JSON object.
|
|
22
|
+
|
|
23
|
+
{schema}
|
|
24
|
+
|
|
25
|
+
Rules:
|
|
26
|
+
- Suppress any finding below your stated confidence floor (see your Confidence calibration section).
|
|
27
|
+
- Every finding MUST include at least one evidence item grounded in the actual code.
|
|
28
|
+
- Set pre_existing to true ONLY for issues in unchanged code that are unrelated to this diff. If the diff makes the issue newly relevant, it is NOT pre-existing.
|
|
29
|
+
- You are operationally read-only. You may use non-mutating inspection commands, including read-oriented `git` / `gh` commands, to gather evidence. Do not edit files, change branches, commit, push, create PRs, or otherwise mutate the checkout or repository state.
|
|
30
|
+
- Set `autofix_class` conservatively. Use `safe_auto` only when the fix is local, deterministic, and low-risk. Use `gated_auto` when a concrete fix exists but changes behavior/contracts/permissions. Use `manual` for actionable residual work. Use `advisory` for report-only items that should not become code-fix work.
|
|
31
|
+
- Set `owner` to the default next actor for this finding: `review-fixer`, `downstream-resolver`, `human`, or `release`.
|
|
32
|
+
- Set `requires_verification` to true whenever the likely fix needs targeted tests, a focused re-review, or operational validation before it should be trusted.
|
|
33
|
+
- suggested_fix is optional. Only include it when the fix is obvious and correct. A bad suggestion is worse than none.
|
|
34
|
+
- If you find no issues, return an empty findings array. Still populate residual_risks and testing_gaps if applicable.
|
|
35
|
+
</output-contract>
|
|
36
|
+
|
|
37
|
+
<review-context>
|
|
38
|
+
Intent: {intent_summary}
|
|
39
|
+
|
|
40
|
+
Changed files: {file_list}
|
|
41
|
+
|
|
42
|
+
Diff:
|
|
43
|
+
{diff}
|
|
44
|
+
</review-context>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Variable Reference
|
|
48
|
+
|
|
49
|
+
| Variable | Source | Description |
|
|
50
|
+
|----------|--------|-------------|
|
|
51
|
+
| `{persona_file}` | Agent markdown file content | The full persona definition (identity, failure modes, calibration, suppress conditions) |
|
|
52
|
+
| `{diff_scope_rules}` | `references/diff-scope.md` content | Primary/secondary/pre-existing tier rules |
|
|
53
|
+
| `{schema}` | `references/findings-schema.json` content | The JSON schema reviewers must conform to |
|
|
54
|
+
| `{intent_summary}` | Stage 2 output | 2-3 line description of what the change is trying to accomplish |
|
|
55
|
+
| `{file_list}` | Stage 1 output | List of changed files from the scope step |
|
|
56
|
+
| `{diff}` | Stage 1 output | The actual diff content to review |
|
package/skills/ce-work/SKILL.md
CHANGED
|
@@ -25,9 +25,11 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
25
25
|
- Read the work document completely
|
|
26
26
|
- Treat the plan as a decision artifact, not an execution script
|
|
27
27
|
- If the plan includes sections such as `Implementation Units`, `Work Breakdown`, `Requirements Trace`, `Files`, `Test Scenarios`, or `Verification`, use those as the primary source material for execution
|
|
28
|
+
- Check for `Execution note` on each implementation unit — these carry the plan's execution posture signal for that unit (for example, test-first or characterization-first). Note them when creating tasks.
|
|
28
29
|
- Check for a `Deferred to Implementation` or `Implementation-Time Unknowns` section — these are questions the planner intentionally left for you to resolve during execution. Note them before starting so they inform your approach rather than surprising you mid-task
|
|
29
30
|
- Check for a `Scope Boundaries` section — these are explicit non-goals. Refer back to them if implementation starts pulling you toward adjacent work
|
|
30
31
|
- Review any references or links provided in the plan
|
|
32
|
+
- If the user explicitly asks for TDD, test-first, or characterization-first execution in this session, honor that request even if the plan has no `Execution note`
|
|
31
33
|
- If anything is unclear or ambiguous, ask clarifying questions now
|
|
32
34
|
- Get user approval to proceed
|
|
33
35
|
- **Do not skip this** - better to ask questions now than build the wrong thing
|
|
@@ -79,6 +81,7 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
79
81
|
3. **Create Todo List**
|
|
80
82
|
- Use your available task tracking tool (e.g., todowrite, task lists) to break the plan into actionable tasks
|
|
81
83
|
- Derive tasks from the plan's implementation units, dependencies, files, test targets, and verification criteria
|
|
84
|
+
- Carry each unit's `Execution note` into the task when present
|
|
82
85
|
- For each unit, read the `Patterns to follow` field before implementing — these point to specific files or conventions to mirror
|
|
83
86
|
- Use each unit's `Verification` field as the primary "done" signal for that task
|
|
84
87
|
- Do not expect the plan to contain implementation code, micro-step TDD instructions, or exact shell commands
|
|
@@ -99,7 +102,7 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
99
102
|
|
|
100
103
|
**Subagent dispatch** uses your available subagent or task spawning mechanism. For each unit, give the subagent:
|
|
101
104
|
- The full plan file path (for overall context)
|
|
102
|
-
- The specific unit's Goal, Files, Approach, Patterns, Test scenarios, and Verification
|
|
105
|
+
- The specific unit's Goal, Files, Approach, Execution note, Patterns, Test scenarios, and Verification
|
|
103
106
|
- Any resolved deferred questions relevant to that unit
|
|
104
107
|
|
|
105
108
|
After each subagent completes, update the plan checkboxes and task list before dispatching the next dependent unit.
|
|
@@ -125,6 +128,14 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
125
128
|
- Evaluate for incremental commit (see below)
|
|
126
129
|
```
|
|
127
130
|
|
|
131
|
+
When a unit carries an `Execution note`, honor it. For test-first units, write the failing test before implementation for that unit. For characterization-first units, capture existing behavior before changing it. For units without an `Execution note`, proceed pragmatically.
|
|
132
|
+
|
|
133
|
+
Guardrails for execution posture:
|
|
134
|
+
- Do not write the test and implementation in the same step when working test-first
|
|
135
|
+
- Do not skip verifying that a new test fails before implementing the fix or feature
|
|
136
|
+
- Do not over-implement beyond the current behavior slice when working test-first
|
|
137
|
+
- Skip test-first discipline for trivial renames, pure configuration, and pure styling work
|
|
138
|
+
|
|
128
139
|
**System-Wide Test Check** — Before marking a task done, pause and ask:
|
|
129
140
|
|
|
130
141
|
| Question | What to do |
|
|
@@ -139,7 +150,6 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
139
150
|
|
|
140
151
|
**When this matters most:** Any change that touches models with callbacks, error handling with fallback/retry, or functionality exposed through multiple interfaces.
|
|
141
152
|
|
|
142
|
-
|
|
143
153
|
2. **Incremental Commits**
|
|
144
154
|
|
|
145
155
|
After completing each task, evaluate whether to create an incremental commit:
|
|
@@ -176,7 +186,7 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
176
186
|
- The plan should reference similar code - read those files first
|
|
177
187
|
- Match naming conventions exactly
|
|
178
188
|
- Reuse existing components where possible
|
|
179
|
-
- Follow project coding standards (see AGENTS.md)
|
|
189
|
+
- Follow project coding standards (see AGENTS.md; use AGENTS.md only if the repo still keeps a compatibility shim)
|
|
180
190
|
- When in doubt, grep for similar implementations
|
|
181
191
|
|
|
182
192
|
4. **Test Continuously**
|
|
@@ -282,7 +292,7 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
282
292
|
| `[CONTEXT]` | Context window (if known) | 200K, 1M |
|
|
283
293
|
| `[THINKING]` | Thinking level (if known) | extended thinking |
|
|
284
294
|
| `[HARNESS]` | Tool running you | OpenCode, Codex, Gemini CLI |
|
|
285
|
-
| `[HARNESS_URL]` | Link to that tool | `https://
|
|
295
|
+
| `[HARNESS_URL]` | Link to that tool | `https://opencode.ai` |
|
|
286
296
|
| `[VERSION]` | `plugin.json` → `version` | 2.40.0 |
|
|
287
297
|
|
|
288
298
|
Subagents creating commits/PRs are equally responsible for accurate attribution.
|
|
@@ -360,7 +370,6 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
360
370
|
|
|
361
371
|
---
|
|
362
372
|
|
|
363
|
-
[![Systematic v[VERSION]](https://img.shields.io/badge/Systematic-v[VERSION]-6366f1)](https://github.com/EveryInc/systematic)
|
|
364
373
|
🤖 Generated with [MODEL] ([CONTEXT] context, [THINKING]) via [HARNESS](HARNESS_URL)
|
|
365
374
|
EOF
|
|
366
375
|
)"
|
|
@@ -478,4 +487,3 @@ For most features: tests + linting + following patterns is sufficient.
|
|
|
478
487
|
- **Forgetting to track progress** - Update task status as you go or lose track of what's done
|
|
479
488
|
- **80% done syndrome** - Finish the feature, don't move on early
|
|
480
489
|
- **Over-reviewing simple changes** - Save reviewer agents for complex work
|
|
481
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ce:work-beta
|
|
3
|
-
description: '
|
|
3
|
+
description: '[BETA] Execute work plans with external delegate support. Same as ce:work but includes experimental Codex delegation mode for token-conserving code implementation.'
|
|
4
4
|
argument-hint: '[plan file, specification, or todo file path]'
|
|
5
5
|
disable-model-invocation: true
|
|
6
6
|
---
|
|
@@ -151,7 +151,6 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
151
151
|
|
|
152
152
|
**When this matters most:** Any change that touches models with callbacks, error handling with fallback/retry, or functionality exposed through multiple interfaces.
|
|
153
153
|
|
|
154
|
-
|
|
155
154
|
2. **Incremental Commits**
|
|
156
155
|
|
|
157
156
|
After completing each task, evaluate whether to create an incremental commit:
|
|
@@ -216,7 +215,15 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
216
215
|
- Fix visual differences identified
|
|
217
216
|
- Repeat until implementation matches design
|
|
218
217
|
|
|
219
|
-
|
|
218
|
+
7. **Frontend Design Guidance** (if applicable)
|
|
219
|
+
|
|
220
|
+
For UI tasks without a Figma design -- where the implementation touches view, template, component, layout, or page files, creates user-visible routes, or the plan contains explicit UI/frontend/design language:
|
|
221
|
+
|
|
222
|
+
- Load the `frontend-design` skill before implementing
|
|
223
|
+
- Follow its detection, guidance, and verification flow
|
|
224
|
+
- If the skill produced a verification screenshot, it satisfies Phase 4's screenshot requirement -- no need to capture separately. If the skill fell back to mental review (no browser access), Phase 4's screenshot capture still applies
|
|
225
|
+
|
|
226
|
+
8. **Track Progress**
|
|
220
227
|
- Keep the task list updated as you complete tasks
|
|
221
228
|
- Note any blockers or unexpected discoveries
|
|
222
229
|
- Create new tasks if scope expands
|
|
@@ -238,7 +245,7 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
238
245
|
|
|
239
246
|
2. **Consider Reviewer Agents** (Optional)
|
|
240
247
|
|
|
241
|
-
Use for complex, risky, or large changes. Read agents from
|
|
248
|
+
Use for complex, risky, or large changes. Read agents from `systematic.local.md` frontmatter (`review_agents`). If no settings file, invoke the `setup` skill to create one.
|
|
242
249
|
|
|
243
250
|
Run configured agents in parallel with task tool. Present findings and address critical issues.
|
|
244
251
|
|
|
@@ -294,7 +301,7 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
294
301
|
| `[CONTEXT]` | Context window (if known) | 200K, 1M |
|
|
295
302
|
| `[THINKING]` | Thinking level (if known) | extended thinking |
|
|
296
303
|
| `[HARNESS]` | Tool running you | OpenCode, Codex, Gemini CLI |
|
|
297
|
-
| `[HARNESS_URL]` | Link to that tool | `https://
|
|
304
|
+
| `[HARNESS_URL]` | Link to that tool | `https://opencode.ai` |
|
|
298
305
|
| `[VERSION]` | `plugin.json` → `version` | 2.40.0 |
|
|
299
306
|
|
|
300
307
|
Subagents creating commits/PRs are equally responsible for accurate attribution.
|
|
@@ -372,7 +379,6 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
372
379
|
|
|
373
380
|
---
|
|
374
381
|
|
|
375
|
-
[![Systematic v[VERSION]](https://img.shields.io/badge/Systematic-v[VERSION]-6366f1)](https://github.com/marcusrbrown/systematic)
|
|
376
382
|
🤖 Generated with [MODEL] ([CONTEXT] context, [THINKING]) via [HARNESS](HARNESS_URL)
|
|
377
383
|
EOF
|
|
378
384
|
)"
|
|
@@ -439,7 +445,7 @@ This mode integrates with the existing Phase 1 Step 4 strategy selection as a **
|
|
|
439
445
|
|
|
440
446
|
External delegation activates when any of these conditions are met:
|
|
441
447
|
- The user says "use codex for this work", "delegate to codex", or "delegate mode"
|
|
442
|
-
- A plan implementation unit contains `Execution target: external-delegate` in its Execution note (set by ce:plan
|
|
448
|
+
- A plan implementation unit contains `Execution target: external-delegate` in its Execution note (set by ce:plan)
|
|
443
449
|
|
|
444
450
|
The specific delegate tool is resolved at execution time. Currently the only supported delegate is Codex CLI. Future delegates can be added without changing plan files.
|
|
445
451
|
|
|
@@ -462,7 +468,7 @@ When external delegation is active, follow this workflow for each tagged task. D
|
|
|
462
468
|
|
|
463
469
|
Verify the delegate CLI is installed. If not found, print "Delegate CLI not installed - continuing with standard mode." and proceed normally.
|
|
464
470
|
|
|
465
|
-
2. **Build prompt** — For each task, assemble a prompt from the plan's implementation unit (Goal, Files, Approach,
|
|
471
|
+
2. **Build prompt** — For each task, assemble a prompt from the plan's implementation unit (Goal, Files, Approach, Conventions from `systematic.local.md`). Include rules: no git commits, no PRs, run `git status` and `git diff --stat` when done. Never embed credentials or tokens in the prompt - pass auth through environment variables.
|
|
466
472
|
|
|
467
473
|
3. **Write prompt to file** — Save the assembled prompt to a unique temporary file to avoid shell quoting issues and cross-task races. Use a unique filename per task.
|
|
468
474
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: claude-permissions-optimizer
|
|
3
3
|
context: fork
|
|
4
|
-
description:
|
|
4
|
+
description: Optimize Claude Code permissions by finding safe Bash commands from session history and auto-applying them to settings.json. Can run from any coding agent but targets Claude Code specifically. Use when experiencing permission fatigue, too many permission prompts, wanting to optimize permissions, or needing to set up allowlists. Triggers on "optimize permissions", "reduce permission prompts", "allowlist commands", "too many permission prompts", "permission fatigue", "permission setup", or complaints about clicking approve too often.
|
|
5
5
|
subtask: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
#
|
|
8
|
+
# Claude Permissions Optimizer
|
|
9
9
|
|
|
10
10
|
Find safe Bash commands that are causing unnecessary permission prompts and auto-allow them in `settings.json` -- evidence-based, not prescriptive.
|
|
11
11
|
|
|
@@ -13,19 +13,19 @@ This skill identifies commands safe to auto-allow based on actual session histor
|
|
|
13
13
|
|
|
14
14
|
## Pre-check: Confirm environment
|
|
15
15
|
|
|
16
|
-
Determine whether you are currently running inside
|
|
16
|
+
Determine whether you are currently running inside Claude Code or a different coding agent (Codex, Gemini CLI, Cursor, etc.).
|
|
17
17
|
|
|
18
|
-
**If running inside
|
|
18
|
+
**If running inside Claude Code:** Proceed directly to Step 1.
|
|
19
19
|
|
|
20
20
|
**If running in a different agent:** Inform the user before proceeding:
|
|
21
21
|
|
|
22
|
-
> "This skill analyzes
|
|
22
|
+
> "This skill analyzes Claude Code session history and writes to Claude Code's settings.json. You're currently in [agent name], but I can still optimize your Claude Code permissions from here -- the results will apply next time you use Claude Code."
|
|
23
23
|
|
|
24
|
-
Then proceed to Step 1 normally. The skill works from any environment as long as `~/.
|
|
24
|
+
Then proceed to Step 1 normally. The skill works from any environment as long as `~/.claude/` (or `$CLAUDE_CONFIG_DIR`) exists on the machine.
|
|
25
25
|
|
|
26
26
|
## Step 1: Choose Analysis Scope
|
|
27
27
|
|
|
28
|
-
Ask the user how broadly to analyze using the platform's blocking question tool (`question` in
|
|
28
|
+
Ask the user how broadly to analyze using the platform's blocking question tool (`question` in Claude Code, `request_user_input` in Codex, `ask_user` in Gemini). If no question tool is available, present the numbered options and wait for the user's reply.
|
|
29
29
|
|
|
30
30
|
1. **All projects** (Recommended) -- sessions across every project
|
|
31
31
|
2. **This project only** -- sessions for the current working directory
|
|
@@ -123,8 +123,8 @@ Use `greenRawCount` (the number of unique raw commands the green patterns cover)
|
|
|
123
123
|
|
|
124
124
|
The recommendations table is already displayed. Use the platform's blocking question tool to ask for the decision:
|
|
125
125
|
|
|
126
|
-
1. **Apply all to user settings** (`~/.
|
|
127
|
-
2. **Apply all to project settings** (`.
|
|
126
|
+
1. **Apply all to user settings** (`~/.claude/settings.json`)
|
|
127
|
+
2. **Apply all to project settings** (`.claude/settings.json`)
|
|
128
128
|
3. **Skip**
|
|
129
129
|
|
|
130
130
|
If the user wants to exclude specific items, they can reply in free text (e.g., "all except 3 and 7 to user settings"). The numbered table is already visible for reference -- no need to re-list items in the question tool.
|
|
@@ -146,16 +146,17 @@ For each target settings file:
|
|
|
146
146
|
After successful verification:
|
|
147
147
|
|
|
148
148
|
```
|
|
149
|
-
Applied N rules to ~/.
|
|
150
|
-
Applied M rules to .
|
|
149
|
+
Applied N rules to ~/.claude/settings.json
|
|
150
|
+
Applied M rules to .claude/settings.json
|
|
151
151
|
|
|
152
152
|
These commands will no longer trigger permission prompts.
|
|
153
153
|
```
|
|
154
154
|
|
|
155
|
-
If `.
|
|
155
|
+
If `.claude/settings.json` was modified and is tracked by git, mention that committing it would benefit teammates.
|
|
156
156
|
|
|
157
157
|
## Edge Cases
|
|
158
158
|
|
|
159
159
|
- **No project context** (running outside a project): Only offer user-level settings as write target.
|
|
160
|
-
- **Settings file doesn't exist**: Create it with `{ "permissions": { "allow": [] } }`. For `.
|
|
161
|
-
- **Deny rules**: If a deny rule already blocks a command, warn rather than adding an allow rule (deny takes precedence in
|
|
160
|
+
- **Settings file doesn't exist**: Create it with `{ "permissions": { "allow": [] } }`. For `.claude/settings.json`, also create the `.claude/` directory if needed.
|
|
161
|
+
- **Deny rules**: If a deny rule already blocks a command, warn rather than adding an allow rule (deny takes precedence in Claude Code).
|
|
162
|
+
|