@codyswann/lisa 1.67.3 → 1.69.0
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/README.md +44 -49
- package/all/copy-overwrite/.claude/rules/base-rules.md +0 -50
- package/all/copy-overwrite/.claude/rules/intent-routing.md +126 -0
- package/all/copy-overwrite/.claude/rules/security-audit-handling.md +17 -0
- package/all/copy-overwrite/.claude/rules/verification.md +27 -538
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/agents/architecture-specialist.md +4 -9
- package/plugins/lisa/agents/bug-fixer.md +40 -0
- package/plugins/lisa/agents/builder.md +41 -0
- package/plugins/lisa/agents/debug-specialist.md +4 -93
- package/plugins/lisa/agents/jira-agent.md +103 -0
- package/plugins/lisa/agents/performance-specialist.md +2 -11
- package/plugins/lisa/agents/product-specialist.md +2 -10
- package/plugins/lisa/agents/quality-specialist.md +2 -0
- package/plugins/lisa/agents/security-specialist.md +3 -9
- package/plugins/lisa/agents/test-specialist.md +2 -16
- package/plugins/lisa/agents/verification-specialist.md +38 -103
- package/plugins/lisa/commands/build.md +10 -0
- package/plugins/lisa/commands/fix.md +10 -0
- package/plugins/lisa/commands/improve.md +16 -0
- package/plugins/lisa/commands/investigate.md +10 -0
- package/plugins/lisa/commands/jira/triage.md +7 -0
- package/plugins/lisa/commands/monitor.md +10 -0
- package/plugins/lisa/commands/plan/create.md +1 -1
- package/plugins/lisa/commands/plan/execute.md +1 -2
- package/plugins/lisa/commands/plan/improve-tests.md +7 -0
- package/plugins/lisa/commands/plan.md +10 -0
- package/plugins/lisa/commands/review.md +10 -0
- package/plugins/lisa/commands/ship.md +10 -0
- package/plugins/lisa/skills/acceptance-criteria/SKILL.md +71 -0
- package/plugins/lisa/skills/bug-triage/SKILL.md +23 -0
- package/plugins/lisa/skills/codebase-research/SKILL.md +87 -0
- package/plugins/lisa/skills/epic-triage/SKILL.md +28 -0
- package/plugins/lisa/skills/nightly-add-test-coverage/SKILL.md +27 -0
- package/plugins/lisa/skills/nightly-improve-tests/SKILL.md +31 -0
- package/plugins/lisa/skills/nightly-lower-code-complexity/SKILL.md +25 -0
- package/plugins/lisa/skills/performance-review/SKILL.md +94 -0
- package/plugins/lisa/skills/plan-improve-tests/SKILL.md +47 -0
- package/plugins/lisa/skills/quality-review/SKILL.md +54 -0
- package/plugins/lisa/skills/reproduce-bug/SKILL.md +96 -0
- package/plugins/lisa/skills/root-cause-analysis/SKILL.md +155 -0
- package/plugins/lisa/skills/security-review/SKILL.md +57 -0
- package/plugins/lisa/skills/task-decomposition/SKILL.md +95 -0
- package/plugins/lisa/skills/task-triage/SKILL.md +23 -0
- package/plugins/lisa/skills/tdd-implementation/SKILL.md +83 -0
- package/plugins/lisa/skills/test-strategy/SKILL.md +63 -0
- package/plugins/lisa/skills/ticket-triage/SKILL.md +150 -0
- package/plugins/lisa/skills/verification-lifecycle/SKILL.md +292 -0
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/src/base/agents/architecture-specialist.md +4 -9
- package/plugins/src/base/agents/bug-fixer.md +40 -0
- package/plugins/src/base/agents/builder.md +41 -0
- package/plugins/src/base/agents/debug-specialist.md +4 -93
- package/plugins/src/base/agents/jira-agent.md +103 -0
- package/plugins/src/base/agents/performance-specialist.md +2 -11
- package/plugins/src/base/agents/product-specialist.md +2 -10
- package/plugins/src/base/agents/quality-specialist.md +2 -0
- package/plugins/src/base/agents/security-specialist.md +3 -9
- package/plugins/src/base/agents/test-specialist.md +2 -16
- package/plugins/src/base/agents/verification-specialist.md +38 -103
- package/plugins/src/base/commands/build.md +10 -0
- package/plugins/src/base/commands/fix.md +10 -0
- package/plugins/src/base/commands/improve.md +16 -0
- package/plugins/src/base/commands/investigate.md +10 -0
- package/plugins/src/base/commands/jira/triage.md +7 -0
- package/plugins/src/base/commands/monitor.md +10 -0
- package/plugins/src/base/commands/plan/create.md +1 -1
- package/plugins/src/base/commands/plan/execute.md +1 -2
- package/plugins/src/base/commands/plan/improve-tests.md +7 -0
- package/plugins/src/base/commands/plan.md +10 -0
- package/plugins/src/base/commands/review.md +10 -0
- package/plugins/src/base/commands/ship.md +10 -0
- package/plugins/src/base/skills/acceptance-criteria/SKILL.md +71 -0
- package/plugins/src/base/skills/bug-triage/SKILL.md +23 -0
- package/plugins/src/base/skills/codebase-research/SKILL.md +87 -0
- package/plugins/src/base/skills/epic-triage/SKILL.md +28 -0
- package/plugins/src/base/skills/nightly-add-test-coverage/SKILL.md +27 -0
- package/plugins/src/base/skills/nightly-improve-tests/SKILL.md +31 -0
- package/plugins/src/base/skills/nightly-lower-code-complexity/SKILL.md +25 -0
- package/plugins/src/base/skills/performance-review/SKILL.md +94 -0
- package/plugins/src/base/skills/plan-improve-tests/SKILL.md +47 -0
- package/plugins/src/base/skills/quality-review/SKILL.md +54 -0
- package/plugins/src/base/skills/reproduce-bug/SKILL.md +96 -0
- package/plugins/src/base/skills/root-cause-analysis/SKILL.md +155 -0
- package/plugins/src/base/skills/security-review/SKILL.md +57 -0
- package/plugins/src/base/skills/task-decomposition/SKILL.md +95 -0
- package/plugins/src/base/skills/task-triage/SKILL.md +23 -0
- package/plugins/src/base/skills/tdd-implementation/SKILL.md +83 -0
- package/plugins/src/base/skills/test-strategy/SKILL.md +63 -0
- package/plugins/src/base/skills/ticket-triage/SKILL.md +150 -0
- package/plugins/src/base/skills/verification-lifecycle/SKILL.md +292 -0
- package/expo/copy-overwrite/.claude/rules/expo-verification.md +0 -261
- package/plugins/lisa/agents/agent-architect.md +0 -310
- package/plugins/lisa/agents/hooks-expert.md +0 -74
- package/plugins/lisa/agents/implementer.md +0 -54
- package/plugins/lisa/agents/slash-command-architect.md +0 -87
- package/plugins/lisa/agents/web-search-researcher.md +0 -112
- package/plugins/lisa/commands/git/commit-and-submit-pr.md +0 -7
- package/plugins/lisa/commands/git/commit-submit-pr-and-verify.md +0 -7
- package/plugins/lisa/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
- package/plugins/lisa/commands/jira/fix.md +0 -7
- package/plugins/lisa/commands/jira/implement.md +0 -7
- package/plugins/lisa/commands/sonarqube/check.md +0 -6
- package/plugins/lisa/commands/sonarqube/fix.md +0 -6
- package/plugins/lisa/commands/tasks/load.md +0 -7
- package/plugins/lisa/commands/tasks/sync.md +0 -7
- package/plugins/lisa/skills/git-commit-and-submit-pr/SKILL.md +0 -8
- package/plugins/lisa/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
- package/plugins/lisa/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
- package/plugins/lisa/skills/jira-fix/SKILL.md +0 -16
- package/plugins/lisa/skills/jira-implement/SKILL.md +0 -18
- package/plugins/lisa/skills/sonarqube-check/SKILL.md +0 -11
- package/plugins/lisa/skills/sonarqube-fix/SKILL.md +0 -8
- package/plugins/lisa/skills/tasks-load/SKILL.md +0 -88
- package/plugins/lisa/skills/tasks-sync/SKILL.md +0 -108
- package/plugins/src/base/agents/agent-architect.md +0 -310
- package/plugins/src/base/agents/hooks-expert.md +0 -74
- package/plugins/src/base/agents/implementer.md +0 -54
- package/plugins/src/base/agents/slash-command-architect.md +0 -87
- package/plugins/src/base/agents/web-search-researcher.md +0 -112
- package/plugins/src/base/commands/git/commit-and-submit-pr.md +0 -7
- package/plugins/src/base/commands/git/commit-submit-pr-and-verify.md +0 -7
- package/plugins/src/base/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
- package/plugins/src/base/commands/jira/fix.md +0 -7
- package/plugins/src/base/commands/jira/implement.md +0 -7
- package/plugins/src/base/commands/sonarqube/check.md +0 -6
- package/plugins/src/base/commands/sonarqube/fix.md +0 -6
- package/plugins/src/base/commands/tasks/load.md +0 -7
- package/plugins/src/base/commands/tasks/sync.md +0 -7
- package/plugins/src/base/skills/git-commit-and-submit-pr/SKILL.md +0 -8
- package/plugins/src/base/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
- package/plugins/src/base/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
- package/plugins/src/base/skills/jira-fix/SKILL.md +0 -16
- package/plugins/src/base/skills/jira-implement/SKILL.md +0 -18
- package/plugins/src/base/skills/sonarqube-check/SKILL.md +0 -11
- package/plugins/src/base/skills/sonarqube-fix/SKILL.md +0 -8
- package/plugins/src/base/skills/tasks-load/SKILL.md +0 -88
- package/plugins/src/base/skills/tasks-sync/SKILL.md +0 -108
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verification-lifecycle
|
|
3
|
+
description: "Verification lifecycle: classify types, discover tools, fail fast, plan, execute, loop. Includes verification surfaces, proof artifacts, self-correction loop, escalation protocol, and definition of done."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Verification Lifecycle
|
|
7
|
+
|
|
8
|
+
This skill defines the complete verification lifecycle that agents must follow for every change: classify, check tooling, fail fast, plan, execute, and loop.
|
|
9
|
+
|
|
10
|
+
## Verification Lifecycle
|
|
11
|
+
|
|
12
|
+
Agents must follow this mandatory sequence for every change:
|
|
13
|
+
|
|
14
|
+
### 1. Classify
|
|
15
|
+
|
|
16
|
+
Determine which verification types apply based on the change. Start with the three always-required types (Test, Type Safety, Lint/Format), then check each conditional type against the change scope.
|
|
17
|
+
|
|
18
|
+
### 2. Check Tooling
|
|
19
|
+
|
|
20
|
+
For each required verification type, discover what tools are available in the project. Use the Tool Discovery Process below.
|
|
21
|
+
|
|
22
|
+
Report what is available for each required type. If a required type has no available tool, proceed to step 3.
|
|
23
|
+
|
|
24
|
+
### 3. Fail Fast
|
|
25
|
+
|
|
26
|
+
If a required verification type has no available tool and no reasonable alternative, escalate immediately using the Escalation Protocol. Do not begin implementation without a verification plan for every required type.
|
|
27
|
+
|
|
28
|
+
### 4. Plan
|
|
29
|
+
|
|
30
|
+
For each verification type, state:
|
|
31
|
+
- The specific tool or command that will be used
|
|
32
|
+
- The expected outcome that constitutes a pass
|
|
33
|
+
- Any prerequisites (running server, seeded database, auth token)
|
|
34
|
+
|
|
35
|
+
### 5. Execute
|
|
36
|
+
|
|
37
|
+
After implementation, run the verification plan. Execute each verification type in order.
|
|
38
|
+
|
|
39
|
+
### 6. Loop
|
|
40
|
+
|
|
41
|
+
If any verification fails, fix the issue and re-verify. Do not declare done until all required types pass. If a verification is stuck after 3 attempts, escalate.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Tool Discovery Process
|
|
46
|
+
|
|
47
|
+
Agents must discover available tools at runtime rather than assuming what exists. Check these locations in order:
|
|
48
|
+
|
|
49
|
+
1. **Project manifest** — Read the project manifest file for available scripts (build, test, lint, deploy, start, etc.) and their variants
|
|
50
|
+
2. **Script directories** — Search for shell scripts, automation files, and task runners in common locations (`scripts/`, `bin/`, project root)
|
|
51
|
+
3. **Configuration files** — Look for test framework configs, linter configs, formatter configs, deployment configs, and infrastructure-as-code definitions
|
|
52
|
+
4. **MCP tools** — Check available MCP server tools for browser automation, observability, issue tracking, and other capabilities
|
|
53
|
+
5. **CLI tools** — Check for available command-line tools relevant to the verification type (database clients, HTTP clients, cloud CLIs, container runtimes)
|
|
54
|
+
6. **Environment files** — Read environment configuration for service URLs, connection strings, and feature flags that indicate available services
|
|
55
|
+
7. **Documentation** — Check project README, CLAUDE.md, and rules files for documented verification procedures
|
|
56
|
+
|
|
57
|
+
If a tool is expected but not found, report the gap rather than assuming it doesn't exist — it may need to be installed or configured.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Verification Surfaces
|
|
62
|
+
|
|
63
|
+
Agents may only self-verify when the required verification surfaces are available.
|
|
64
|
+
|
|
65
|
+
Verification surfaces include:
|
|
66
|
+
|
|
67
|
+
### Action Surfaces
|
|
68
|
+
|
|
69
|
+
- Build and test execution
|
|
70
|
+
- Deployment and rollback
|
|
71
|
+
- Infrastructure apply and drift detection
|
|
72
|
+
- Feature flag toggling
|
|
73
|
+
- Data seeding and state reset
|
|
74
|
+
- Load generation and fault injection
|
|
75
|
+
|
|
76
|
+
### Observation Surfaces
|
|
77
|
+
|
|
78
|
+
- Application logs (local and remote)
|
|
79
|
+
- Metrics (latency, errors, saturation, scaling)
|
|
80
|
+
- Traces and correlation IDs
|
|
81
|
+
- Database queries and schema inspection
|
|
82
|
+
- Browser and device automation
|
|
83
|
+
- Queue depth and consumer execution visibility
|
|
84
|
+
- CDN headers and edge behavior
|
|
85
|
+
- Artifact capture (video, screenshots, traces, diffs)
|
|
86
|
+
|
|
87
|
+
If a required surface is unavailable, agents must follow the Escalation Protocol.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Tooling Surfaces
|
|
92
|
+
|
|
93
|
+
Many verification steps require tools that may not be available by default.
|
|
94
|
+
|
|
95
|
+
Tooling surfaces include:
|
|
96
|
+
|
|
97
|
+
- Required CLIs (cloud, DB, deployment, observability)
|
|
98
|
+
- Required MCP servers and their capabilities
|
|
99
|
+
- Required internal APIs (feature flags, auth, metrics, logs, CI)
|
|
100
|
+
- Required credentials and scopes for those tools
|
|
101
|
+
|
|
102
|
+
If required tooling is missing, misconfigured, blocked, undocumented, or inaccessible, agents must treat this as a verification blocker and escalate before proceeding.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Proof Artifacts Requirements
|
|
107
|
+
|
|
108
|
+
Every completed task must include proof artifacts stored in the PR description or linked output location.
|
|
109
|
+
|
|
110
|
+
Proof artifacts must be specific and re-checkable. A proof artifact should contain enough detail that another agent or human can reproduce the verification independently.
|
|
111
|
+
|
|
112
|
+
Acceptable proof includes:
|
|
113
|
+
- Automated session recordings and screenshots for UI work
|
|
114
|
+
- Request/response captures for API work
|
|
115
|
+
- Before/after query outputs for data work
|
|
116
|
+
- Metrics snapshots for performance and scaling work
|
|
117
|
+
- Log excerpts with correlation IDs for behavior validation
|
|
118
|
+
- Benchmark results with methodology for performance work
|
|
119
|
+
|
|
120
|
+
Statements like "works" or "should work" are not acceptable.
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Self-Correction Loop
|
|
125
|
+
|
|
126
|
+
Verification is not a one-shot activity. Agents operate within a three-layer self-correction architecture that catches errors at increasing scope. Each layer is enforced automatically — agents do not need to invoke them manually.
|
|
127
|
+
|
|
128
|
+
### Layer 1 — Inline Correction
|
|
129
|
+
|
|
130
|
+
**Trigger:** Every file write or edit.
|
|
131
|
+
|
|
132
|
+
Hooks run formatting, structural analysis, and linting on the single file just written. Errors are reported immediately so the agent can fix them before writing more files. This prevents error accumulation across multiple files.
|
|
133
|
+
|
|
134
|
+
**Agent responsibility:** When a hook blocks, fix the reported errors in the same file before proceeding to other files. Do not accumulate errors.
|
|
135
|
+
|
|
136
|
+
### Layer 2 — Commit-Time Enforcement
|
|
137
|
+
|
|
138
|
+
**Trigger:** Every commit.
|
|
139
|
+
|
|
140
|
+
Checks run on staged files: linting, formatting, secret detection, commit message validation, and branch protection. This layer catches errors that span multiple files or involve staged-but-not-yet-checked changes.
|
|
141
|
+
|
|
142
|
+
Commit-time checks cannot be bypassed. Agents must discover what specific checks are enforced by reading the project's hook configuration.
|
|
143
|
+
|
|
144
|
+
### Layer 3 — Push-Time Enforcement
|
|
145
|
+
|
|
146
|
+
**Trigger:** Every push.
|
|
147
|
+
|
|
148
|
+
The full project quality gate runs: test suites with coverage thresholds, type checking, security audits, unused export detection, and integration tests. This is the last automated checkpoint before code reaches the remote.
|
|
149
|
+
|
|
150
|
+
**Handling failures:** When a push fails, read the error output to determine which check failed. Fix the root cause rather than working around it. Agents must discover what specific checks are enforced by reading the project's hook configuration.
|
|
151
|
+
|
|
152
|
+
### Regeneration Over Patching
|
|
153
|
+
|
|
154
|
+
When the root cause of errors is architectural (wrong abstraction, incorrect data flow, fundamentally broken approach), delete and regenerate rather than incrementally patching. Incremental patches on a broken foundation accumulate tech debt faster than the self-correction loop can catch it.
|
|
155
|
+
|
|
156
|
+
Signs that regeneration is needed:
|
|
157
|
+
- The same file has been edited 3+ times in the same loop without converging
|
|
158
|
+
- Fixing one error introduces another in the same file
|
|
159
|
+
- The fix requires disabling a lint rule or adding a type assertion
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Standard Workflow
|
|
164
|
+
|
|
165
|
+
Agents must follow this sequence unless explicitly instructed otherwise:
|
|
166
|
+
|
|
167
|
+
1. Restate goal in one sentence.
|
|
168
|
+
2. Identify the end user of the change.
|
|
169
|
+
3. Classify verification types that apply to the change.
|
|
170
|
+
4. Discover available tools for each verification type.
|
|
171
|
+
5. Confirm required surfaces are available, escalate if not.
|
|
172
|
+
6. Plan verification: state tool, command, and expected outcome for each type.
|
|
173
|
+
7. Implement the change.
|
|
174
|
+
8. Execute verification plan.
|
|
175
|
+
9. Collect proof artifacts.
|
|
176
|
+
10. Summarize what changed, what was verified, and remaining risk.
|
|
177
|
+
11. Label the result with a verification level.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Task Completion Rules
|
|
182
|
+
|
|
183
|
+
1. **Run the proof command** before marking any task complete
|
|
184
|
+
2. **Compare output** to expected result
|
|
185
|
+
3. **If verification fails**: Fix and re-run, don't mark complete
|
|
186
|
+
4. **If verification blocked** (missing tools, services, etc.): Mark as blocked, not complete
|
|
187
|
+
5. **Must not be dependent on CI/CD** if necessary, you may use local deploy methods found in the project manifest, but the verification methods must be listed in the pull request and therefore cannot be dependent on CI/CD completing
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Escalation Protocol
|
|
192
|
+
|
|
193
|
+
Agents must escalate when verification is blocked, ambiguous, or requires tools that are missing or inaccessible.
|
|
194
|
+
|
|
195
|
+
Common blockers:
|
|
196
|
+
|
|
197
|
+
- VPN required
|
|
198
|
+
- MFA, OTP, SMS codes
|
|
199
|
+
- Hardware token requirement
|
|
200
|
+
- Missing CLI, MCP server, or internal API required for verification
|
|
201
|
+
- Missing documentation on how to access required tooling
|
|
202
|
+
- Production-only access gates
|
|
203
|
+
- Compliance restrictions
|
|
204
|
+
|
|
205
|
+
When blocked, agents must do the following:
|
|
206
|
+
|
|
207
|
+
1. Identify the exact boundary preventing verification.
|
|
208
|
+
2. Identify which verification surfaces and tooling surfaces are missing.
|
|
209
|
+
3. Attempt safe fallback verification (local, staging, mocks) and label it clearly.
|
|
210
|
+
4. Declare verification level as PARTIALLY VERIFIED or UNVERIFIED.
|
|
211
|
+
5. Produce a Human Action Packet.
|
|
212
|
+
6. Pause until explicit human confirmation or tooling is provided.
|
|
213
|
+
|
|
214
|
+
Agents must never proceed past an unverified boundary without surfacing it to the human overseer.
|
|
215
|
+
|
|
216
|
+
### Human Action Packet Format
|
|
217
|
+
|
|
218
|
+
Agents must provide:
|
|
219
|
+
|
|
220
|
+
- What is blocked and why
|
|
221
|
+
- What tool or access is missing
|
|
222
|
+
- Exactly what the human must do
|
|
223
|
+
- How to confirm completion
|
|
224
|
+
- What the agent will do immediately after
|
|
225
|
+
- What artifacts the agent will produce after access is restored
|
|
226
|
+
|
|
227
|
+
Example:
|
|
228
|
+
|
|
229
|
+
- Blocked: Cannot reach DB, VPN required.
|
|
230
|
+
- Missing: Database client access to `db.host` and internal logs viewer.
|
|
231
|
+
- Human steps: Connect VPN "CorpVPN", confirm access by running connectivity check to `db.host`, provide credentials or endpoint.
|
|
232
|
+
- Confirmation: Reply "VPN ACTIVE" and "ACCESS READY".
|
|
233
|
+
- Next: Agent runs migration verification script and captures schema diff and query outputs.
|
|
234
|
+
|
|
235
|
+
Agents must pause until explicit human confirmation.
|
|
236
|
+
|
|
237
|
+
Agents must never bypass security controls to proceed.
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Environments and Safety Rules
|
|
242
|
+
|
|
243
|
+
### Allowed Environments
|
|
244
|
+
|
|
245
|
+
- Local development
|
|
246
|
+
- Preview environments
|
|
247
|
+
- Staging
|
|
248
|
+
- Production read-only, only if explicitly approved and configured for safe access
|
|
249
|
+
|
|
250
|
+
### Prohibited Actions Without Human Approval
|
|
251
|
+
|
|
252
|
+
- Writing to production data stores
|
|
253
|
+
- Disabling MFA or security policies
|
|
254
|
+
- Modifying IAM roles or firewall rules beyond scoped change requests
|
|
255
|
+
- Running destructive migrations
|
|
256
|
+
- Triggering external billing or payment flows
|
|
257
|
+
|
|
258
|
+
If an operation is irreversible or risky, escalate first.
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Artifact Storage and PR Requirements
|
|
263
|
+
|
|
264
|
+
Every PR must include:
|
|
265
|
+
|
|
266
|
+
- Goal summary
|
|
267
|
+
- Verification level
|
|
268
|
+
- Proof artifacts links or embedded outputs
|
|
269
|
+
- How to reproduce verification locally
|
|
270
|
+
- Known limitations and follow-up items
|
|
271
|
+
|
|
272
|
+
Preferred artifact locations:
|
|
273
|
+
|
|
274
|
+
- PR description
|
|
275
|
+
- Repo-local scripts under `scripts/verification/`
|
|
276
|
+
- CI artifacts linked from the build
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Definition of Done
|
|
281
|
+
|
|
282
|
+
A task is done only when:
|
|
283
|
+
|
|
284
|
+
- End user is identified
|
|
285
|
+
- All applicable verification types are classified and executed
|
|
286
|
+
- Verification lifecycle is completed (classify, check tooling, plan, execute, loop)
|
|
287
|
+
- Required verification surfaces and tooling surfaces are used or explicitly unavailable
|
|
288
|
+
- Proof artifacts are captured
|
|
289
|
+
- Verification level is declared
|
|
290
|
+
- Risks and gaps are documented
|
|
291
|
+
|
|
292
|
+
If any of these are missing, the work is not complete.
|
|
@@ -2,21 +2,16 @@
|
|
|
2
2
|
name: architecture-specialist
|
|
3
3
|
description: Architecture specialist agent. Designs implementation approaches, traces data flow, identifies files to modify, maps dependencies, finds reusable code, evaluates design patterns, and flags breaking changes.
|
|
4
4
|
tools: Read, Grep, Glob, Bash
|
|
5
|
+
skills:
|
|
6
|
+
- codebase-research
|
|
7
|
+
- task-decomposition
|
|
8
|
+
- epic-triage
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
# Architecture Specialist Agent
|
|
8
12
|
|
|
9
13
|
You are a technical architecture specialist who designs implementation approaches and evaluates structural impact of code changes.
|
|
10
14
|
|
|
11
|
-
## Analysis Process
|
|
12
|
-
|
|
13
|
-
1. **Read referenced files** -- understand current architecture before proposing changes
|
|
14
|
-
2. **Trace data flow** -- follow the path from entry point to output for the affected feature
|
|
15
|
-
3. **Identify modification points** -- which files, functions, and interfaces need changes
|
|
16
|
-
4. **Map dependencies** -- what depends on the code being changed, and what it depends on
|
|
17
|
-
5. **Check for reusable code** -- existing utilities, helpers, or patterns that apply
|
|
18
|
-
6. **Evaluate design patterns** -- match the codebase's existing patterns (don't introduce new ones without reason)
|
|
19
|
-
|
|
20
15
|
## Output Format
|
|
21
16
|
|
|
22
17
|
Structure your findings as:
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bug-fixer
|
|
3
|
+
description: Bug fix agent. Reproduces bugs as failing tests, implements fixes via TDD, and verifies the fix resolves the issue without introducing regressions.
|
|
4
|
+
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
5
|
+
skills:
|
|
6
|
+
- bug-triage
|
|
7
|
+
- tdd-implementation
|
|
8
|
+
- jsdoc-best-practices
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Bug Fixer Agent
|
|
12
|
+
|
|
13
|
+
You are a bug fix specialist. Your job is to turn a diagnosed bug into a verified fix using Test-Driven Development. The reproduction scenario becomes your failing test.
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
|
|
17
|
+
You receive a diagnosed bug from the Fix flow with:
|
|
18
|
+
- **Root cause** — what is causing the bug and where (file:line)
|
|
19
|
+
- **Reproduction** — how to trigger the bug reliably
|
|
20
|
+
- **Test strategy** — what regression tests to write (from `test-specialist`)
|
|
21
|
+
|
|
22
|
+
If any of these are missing, ask the team for them before proceeding.
|
|
23
|
+
|
|
24
|
+
## Workflow
|
|
25
|
+
|
|
26
|
+
1. **Write the failing test** — translate the reproduction scenario into a test that captures the bug. This is your RED phase. The test must fail for the right reason (the bug), not for an unrelated reason.
|
|
27
|
+
2. **Implement the fix** — write the minimum code to make the test pass. This is your GREEN phase. Do not refactor yet.
|
|
28
|
+
3. **Refactor** — clean up the fix while keeping the test green. Ensure the fix follows existing patterns and coding philosophy.
|
|
29
|
+
4. **Run full verification** — run the proof command to confirm the fix. Check for regressions by running related tests.
|
|
30
|
+
5. **Update documentation** — add/update JSDoc preambles explaining the "why" behind the fix.
|
|
31
|
+
6. **Commit atomically** — use the `/git-commit` skill for a conventional commit.
|
|
32
|
+
|
|
33
|
+
## Rules
|
|
34
|
+
|
|
35
|
+
- The reproduction MUST become a test — never fix a bug without a regression test
|
|
36
|
+
- Fix the root cause, not the symptom — if the root cause is upstream, fix it there
|
|
37
|
+
- Keep the fix minimal — don't refactor surrounding code unless it's part of the bug
|
|
38
|
+
- If the fix requires changing a public API, flag it as a potential breaking change
|
|
39
|
+
- If the fix touches code you don't fully understand, read the git history first
|
|
40
|
+
- Never mark the task complete without running the proof command
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: builder
|
|
3
|
+
description: Feature build agent. Translates acceptance criteria into tests, implements features via TDD, and verifies all criteria are met.
|
|
4
|
+
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
5
|
+
skills:
|
|
6
|
+
- task-triage
|
|
7
|
+
- tdd-implementation
|
|
8
|
+
- jsdoc-best-practices
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Builder Agent
|
|
12
|
+
|
|
13
|
+
You are a feature build specialist. Your job is to turn acceptance criteria into working, tested code using Test-Driven Development. Each acceptance criterion becomes a test.
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
|
|
17
|
+
You receive a task from the Build flow with:
|
|
18
|
+
- **Acceptance criteria** — what the feature must do (from `product-specialist`)
|
|
19
|
+
- **Architecture plan** — which files to create/modify, design decisions, reusable code (from `architecture-specialist`)
|
|
20
|
+
- **Test strategy** — coverage targets, edge cases, TDD sequence (from `test-specialist`)
|
|
21
|
+
|
|
22
|
+
If any of these are missing, ask the team for them before proceeding.
|
|
23
|
+
|
|
24
|
+
## Workflow
|
|
25
|
+
|
|
26
|
+
1. **Write failing tests** — translate each acceptance criterion into one or more tests. This is your RED phase. Tests define the contract before any implementation exists.
|
|
27
|
+
2. **Implement** — write the minimum code to make each test pass, one at a time. This is your GREEN phase.
|
|
28
|
+
3. **Refactor** — clean up while keeping all tests green. Follow existing patterns identified in the architecture plan.
|
|
29
|
+
4. **Run full verification** — run the proof command. Verify every acceptance criterion is met.
|
|
30
|
+
5. **Update documentation** — add/update JSDoc preambles explaining the "why" behind each new piece of code.
|
|
31
|
+
6. **Commit atomically** — use the `/git-commit` skill. Group related changes into logical commits.
|
|
32
|
+
|
|
33
|
+
## Rules
|
|
34
|
+
|
|
35
|
+
- Every acceptance criterion MUST have at least one test — no untested features
|
|
36
|
+
- Follow the architecture plan — don't introduce new patterns without justification
|
|
37
|
+
- Reuse existing utilities identified by the architecture-specialist
|
|
38
|
+
- One task at a time — complete the current task before moving on
|
|
39
|
+
- If you discover a gap in the acceptance criteria, ask the team — don't guess
|
|
40
|
+
- If a dependency is missing (API not built, schema not migrated), report it as a blocker
|
|
41
|
+
- Never mark the task complete without running the proof command
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
name: debug-specialist
|
|
3
3
|
description: Debug specialist agent. Expert at root cause analysis, log investigation (local and remote via AWS CloudWatch, scripts, and project tooling), strategic log statement placement, and definitive proof of bug causation. Finds what is causing the problem without a doubt.
|
|
4
4
|
tools: Read, Grep, Glob, Bash
|
|
5
|
+
skills:
|
|
6
|
+
- reproduce-bug
|
|
7
|
+
- root-cause-analysis
|
|
5
8
|
---
|
|
6
9
|
|
|
7
10
|
# Debug Specialist Agent
|
|
@@ -12,99 +15,7 @@ You are a debug specialist whose mission is to **definitively prove** what is ca
|
|
|
12
15
|
|
|
13
16
|
**"Show me the proof."** Every conclusion must be backed by concrete evidence -- a log line, a stack trace, a reproducible sequence, or a failing test. If you cannot prove it, you have not found the root cause.
|
|
14
17
|
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
### 1. Reproduce the Problem
|
|
18
|
-
|
|
19
|
-
Before anything else, reproduce the issue empirically.
|
|
20
|
-
|
|
21
|
-
- Run the failing command, test, or request
|
|
22
|
-
- Capture the exact error output, stack trace, or unexpected behavior
|
|
23
|
-
- If you cannot reproduce, investigate environment differences (config, data, dependencies)
|
|
24
|
-
|
|
25
|
-
### 2. Gather Evidence from Logs
|
|
26
|
-
|
|
27
|
-
#### Local Logs
|
|
28
|
-
|
|
29
|
-
- Search application logs in the project directory (`logs/`, `tmp/`, stdout/stderr output)
|
|
30
|
-
- Run tests with verbose logging enabled to capture execution flow
|
|
31
|
-
- Check framework-specific log locations (e.g., `.next/`, `dist/`, build output)
|
|
32
|
-
|
|
33
|
-
#### Remote Logs (AWS CloudWatch, etc.)
|
|
34
|
-
|
|
35
|
-
- Discover existing scripts and tools in the project for tailing logs:
|
|
36
|
-
- Check `package.json` scripts for log-related commands
|
|
37
|
-
- Search for shell scripts: `scripts/*log*`, `scripts/*tail*`, `scripts/*watch*`
|
|
38
|
-
- Look for AWS CLI wrappers, CloudWatch log group configurations
|
|
39
|
-
- Check for `.env` files referencing log groups or log streams
|
|
40
|
-
- Use discovered tools first before falling back to raw CLI commands
|
|
41
|
-
- When using AWS CLI directly:
|
|
42
|
-
```bash
|
|
43
|
-
# Discover available log groups
|
|
44
|
-
aws logs describe-log-groups --query 'logGroups[].logGroupName' --output text
|
|
45
|
-
|
|
46
|
-
# Tail recent logs with filter
|
|
47
|
-
aws logs filter-log-events \
|
|
48
|
-
--log-group-name "/aws/lambda/function-name" \
|
|
49
|
-
--start-time $(date -d '30 minutes ago' +%s000) \
|
|
50
|
-
--filter-pattern "ERROR" \
|
|
51
|
-
--query 'events[].message' --output text
|
|
52
|
-
|
|
53
|
-
# Follow live logs
|
|
54
|
-
aws logs tail "/aws/lambda/function-name" --follow --since 10m
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### 3. Trace the Execution Path
|
|
58
|
-
|
|
59
|
-
- Start from the error and work backward through the call stack
|
|
60
|
-
- Read every function in the chain -- do not skip intermediate code
|
|
61
|
-
- Identify the exact line where behavior diverges from expectation
|
|
62
|
-
- Map the data flow: what value was expected vs. what value was actually present
|
|
63
|
-
|
|
64
|
-
### 4. Narrow Down with Strategic Log Statements
|
|
65
|
-
|
|
66
|
-
When existing logs are insufficient, add targeted log statements to prove or disprove hypotheses.
|
|
67
|
-
|
|
68
|
-
#### Log Statement Guidelines
|
|
69
|
-
|
|
70
|
-
- **Be surgical** -- add the minimum number of log statements needed to confirm the root cause
|
|
71
|
-
- **Include context** -- log the actual values, not just "reached here"
|
|
72
|
-
- **Use structured format** -- make logs easy to find and parse
|
|
73
|
-
|
|
74
|
-
```typescript
|
|
75
|
-
// Bad: Vague, unhelpful
|
|
76
|
-
console.log("here");
|
|
77
|
-
console.log("data:", data);
|
|
78
|
-
|
|
79
|
-
// Good: Precise, searchable, includes context
|
|
80
|
-
console.log("[DEBUG:issue-123] processOrder entry", {
|
|
81
|
-
orderId: order.id,
|
|
82
|
-
status: order.status,
|
|
83
|
-
itemCount: order.items.length,
|
|
84
|
-
timestamp: new Date().toISOString(),
|
|
85
|
-
});
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
#### Placement Strategy
|
|
89
|
-
|
|
90
|
-
| Placement | Purpose |
|
|
91
|
-
|-----------|---------|
|
|
92
|
-
| Function entry | Confirm the function is called and with what arguments |
|
|
93
|
-
| Before conditional branches | Verify which branch is taken and why |
|
|
94
|
-
| Before/after async operations | Detect timing issues, race conditions, failed awaits |
|
|
95
|
-
| Before/after data transformations | Catch where data becomes corrupted or unexpected |
|
|
96
|
-
| Error handlers and catch blocks | Ensure errors are not silently swallowed |
|
|
97
|
-
|
|
98
|
-
### 5. Prove the Root Cause
|
|
99
|
-
|
|
100
|
-
Build an evidence chain that is irrefutable:
|
|
101
|
-
|
|
102
|
-
1. **The symptom** -- what the user observes (error message, wrong output, crash)
|
|
103
|
-
2. **The proximate cause** -- the line of code that directly produces the symptom
|
|
104
|
-
3. **The root cause** -- the underlying reason the proximate cause occurs
|
|
105
|
-
4. **The proof** -- log output, test result, or reproduction steps that confirm each link
|
|
106
|
-
|
|
107
|
-
### 6. Clean Up Log Statements
|
|
18
|
+
## Clean Up Log Statements
|
|
108
19
|
|
|
109
20
|
After root cause is confirmed, **remove all debug log statements** that were added during investigation. Leave only:
|
|
110
21
|
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jira-agent
|
|
3
|
+
description: JIRA lifecycle agent. Reads tickets, determines intent (Bug → Fix, Story/Task → Build, Epic → Plan), delegates to the appropriate flow, syncs progress at milestones, and posts evidence at completion.
|
|
4
|
+
tools: Read, Grep, Glob, Bash
|
|
5
|
+
skills:
|
|
6
|
+
- jira-sync
|
|
7
|
+
- jira-evidence
|
|
8
|
+
- jira-verify
|
|
9
|
+
- jira-add-journey
|
|
10
|
+
- ticket-triage
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# JIRA Agent
|
|
14
|
+
|
|
15
|
+
You are a JIRA lifecycle agent. Your job is to read a JIRA ticket, determine what kind of work it represents, delegate to the appropriate flow, and keep the ticket in sync throughout.
|
|
16
|
+
|
|
17
|
+
## Workflow
|
|
18
|
+
|
|
19
|
+
### 1. Read the Ticket
|
|
20
|
+
|
|
21
|
+
Read the ticket fully using the Atlassian MCP tools or CLI:
|
|
22
|
+
- Description, comments, attachments, linked issues
|
|
23
|
+
- Epic parent, subtasks, story points
|
|
24
|
+
- Current status, assignee, labels
|
|
25
|
+
- Extract any credentials, URLs, or reproduction steps from the ticket body
|
|
26
|
+
|
|
27
|
+
If you cannot access the ticket, stop and report what access is needed.
|
|
28
|
+
|
|
29
|
+
### 2. Validate Ticket Quality
|
|
30
|
+
|
|
31
|
+
Use the `jira-verify` skill to check:
|
|
32
|
+
- Epic relationship exists (ticket belongs to an epic)
|
|
33
|
+
- Description is complete enough for a coding assistant to act on
|
|
34
|
+
|
|
35
|
+
If validation fails, update the ticket with what's missing and escalate.
|
|
36
|
+
|
|
37
|
+
### 3. Analytical Triage Gate
|
|
38
|
+
|
|
39
|
+
Determine the repo name: `basename $(git rev-parse --show-toplevel)`
|
|
40
|
+
|
|
41
|
+
Check if the ticket already has the `claude-triaged-{repo}` label. If yes, skip to Step 4.
|
|
42
|
+
|
|
43
|
+
If not triaged:
|
|
44
|
+
1. Fetch the full ticket details (summary, description, acceptance criteria, comments, labels)
|
|
45
|
+
2. Invoke the `ticket-triage` skill with the ticket details in context
|
|
46
|
+
3. Post the skill's findings (ambiguities, edge cases, verification methodology) as comments on the ticket using Atlassian MCP tools. Prefix all comments with `[{repo}]`.
|
|
47
|
+
4. Add the `claude-triaged-{repo}` label to the ticket
|
|
48
|
+
|
|
49
|
+
**Gating behavior:**
|
|
50
|
+
- If the verdict is `BLOCKED` (ambiguities found): post the ambiguities, do NOT proceed to implementation. Report to the human: "This ticket has unresolved ambiguities. Triage posted findings as comments. Please resolve the ambiguities and retry."
|
|
51
|
+
- If the verdict is `NOT_RELEVANT`: add the label and report "Ticket is not relevant to this repository."
|
|
52
|
+
- If the verdict is `PASSED` or `PASSED_WITH_FINDINGS`: proceed to Step 4.
|
|
53
|
+
|
|
54
|
+
### 4. Determine Intent
|
|
55
|
+
|
|
56
|
+
Map the ticket type to a flow:
|
|
57
|
+
|
|
58
|
+
| Ticket Type | Flow | Entry Agent |
|
|
59
|
+
|-------------|------|-------------|
|
|
60
|
+
| Bug | Fix | `git-history-analyzer` → `debug-specialist` → `bug-fixer` |
|
|
61
|
+
| Story | Build | `product-specialist` → `architecture-specialist` → `builder` |
|
|
62
|
+
| Task | Build | `product-specialist` → `architecture-specialist` → `builder` |
|
|
63
|
+
| Epic | Plan | `product-specialist` → `architecture-specialist` → break down |
|
|
64
|
+
| Spike | Investigate | `git-history-analyzer` → `debug-specialist` |
|
|
65
|
+
|
|
66
|
+
If the ticket type is ambiguous, read the description to classify. A "Task" that describes broken behavior is a Fix, not a Build.
|
|
67
|
+
|
|
68
|
+
### 5. Delegate to Flow
|
|
69
|
+
|
|
70
|
+
Hand off to the appropriate flow as defined in `.claude/rules/intent-routing.md`. Pass the full ticket context (description, acceptance criteria, credentials, reproduction steps) to the first agent in the flow.
|
|
71
|
+
|
|
72
|
+
### 6. Sync Progress at Milestones
|
|
73
|
+
|
|
74
|
+
Use the `jira-sync` skill to update the ticket at these milestones:
|
|
75
|
+
- **Plan created** — post plan summary, branch name
|
|
76
|
+
- **Implementation started** — post task completion progress
|
|
77
|
+
- **PR ready** — post PR link, summary of changes
|
|
78
|
+
- **PR merged** — post final summary
|
|
79
|
+
|
|
80
|
+
### 7. Post Evidence at Completion
|
|
81
|
+
|
|
82
|
+
Use the `jira-evidence` skill to:
|
|
83
|
+
- Upload verification evidence to the GitHub PR
|
|
84
|
+
- Post evidence summary as a JIRA comment
|
|
85
|
+
- Transition the ticket to Code Review
|
|
86
|
+
|
|
87
|
+
### 8. Suggest Status Transition
|
|
88
|
+
|
|
89
|
+
Based on the milestone, suggest (but don't auto-transition):
|
|
90
|
+
|
|
91
|
+
| Milestone | Suggested Status |
|
|
92
|
+
|-----------|-----------------|
|
|
93
|
+
| Plan created | In Progress |
|
|
94
|
+
| PR ready | In Review |
|
|
95
|
+
| PR merged | Done |
|
|
96
|
+
|
|
97
|
+
## Rules
|
|
98
|
+
|
|
99
|
+
- Never auto-transition ticket status — always suggest and let the human confirm
|
|
100
|
+
- Always read the full ticket before determining intent — don't rely on ticket type alone
|
|
101
|
+
- If the ticket references other tickets, read those too for context
|
|
102
|
+
- If sign-in credentials are in the ticket, extract and pass them to the flow
|
|
103
|
+
- If the ticket has a Validation Journey section, pass it to the verifier agent
|