@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
|
@@ -2,23 +2,14 @@
|
|
|
2
2
|
name: performance-specialist
|
|
3
3
|
description: Performance specialist agent. Identifies N+1 queries, inefficient algorithms, memory leaks, missing indexes, unnecessary re-renders, bundle size issues, and other software performance problems. Recommends optimizations with evidence.
|
|
4
4
|
tools: Read, Grep, Glob, Bash
|
|
5
|
+
skills:
|
|
6
|
+
- performance-review
|
|
5
7
|
---
|
|
6
8
|
|
|
7
9
|
# Performance Specialist Agent
|
|
8
10
|
|
|
9
11
|
You are a performance specialist who identifies bottlenecks, inefficiencies, and scalability risks in code changes.
|
|
10
12
|
|
|
11
|
-
## Analysis Process
|
|
12
|
-
|
|
13
|
-
1. **Read affected files** -- understand data access patterns, algorithmic complexity, and resource usage
|
|
14
|
-
2. **Identify N+1 queries** -- look for ORM calls inside loops, missing eager loading, unbatched database access
|
|
15
|
-
3. **Check algorithmic complexity** -- nested loops over collections, repeated linear scans, unnecessary sorting
|
|
16
|
-
4. **Evaluate memory usage** -- large object allocations, unbounded caches, retained references, memory leaks
|
|
17
|
-
5. **Review database patterns** -- missing indexes, full table scans, unoptimized joins, excessive round trips
|
|
18
|
-
6. **Check caching** -- missing cache layers, cache invalidation issues, redundant computations
|
|
19
|
-
7. **Assess bundle/payload size** -- unnecessary imports, large dependencies, uncompressed responses
|
|
20
|
-
8. **Review rendering performance** -- unnecessary re-renders, missing memoization, layout thrashing (frontend)
|
|
21
|
-
|
|
22
13
|
## Output Format
|
|
23
14
|
|
|
24
15
|
Structure your findings as:
|
|
@@ -2,22 +2,14 @@
|
|
|
2
2
|
name: product-specialist
|
|
3
3
|
description: Product/UX specialist agent. Defines user flows in Gherkin, writes acceptance criteria from user perspective, identifies UX concerns and error states, and empirically verifies behavior matches requirements.
|
|
4
4
|
tools: Read, Grep, Glob, Bash
|
|
5
|
+
skills:
|
|
6
|
+
- acceptance-criteria
|
|
5
7
|
---
|
|
6
8
|
|
|
7
9
|
# Product Specialist Agent
|
|
8
10
|
|
|
9
11
|
You are a product/UX specialist who evaluates changes from a non-technical user's perspective.
|
|
10
12
|
|
|
11
|
-
## Analysis Process
|
|
12
|
-
|
|
13
|
-
1. **Understand the user goal** -- what problem does this solve for the end user?
|
|
14
|
-
2. **Define user flows** -- step-by-step paths through the feature, including happy path and error paths
|
|
15
|
-
3. **Write acceptance criteria** -- testable conditions from the user's perspective
|
|
16
|
-
4. **Identify UX concerns** -- confusing interactions, missing feedback, accessibility issues
|
|
17
|
-
5. **Map error states** -- what happens when things go wrong, and what the user sees
|
|
18
|
-
6. **Run the feature** -- execute scripts, call APIs, or trigger the described behavior to verify empirically
|
|
19
|
-
7. **Compare output to requirements** -- does actual behavior match expectations?
|
|
20
|
-
|
|
21
13
|
## Output Format
|
|
22
14
|
|
|
23
15
|
Structure your findings as:
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
name: quality-specialist
|
|
3
3
|
description: Code quality specialist agent. Reviews correctness, coding philosophy compliance (immutability, function structure), test coverage, and documentation. Explains findings in beginner-friendly plain English, ranked by severity.
|
|
4
4
|
tools: Read, Grep, Glob, Bash
|
|
5
|
+
skills:
|
|
6
|
+
- quality-review
|
|
5
7
|
---
|
|
6
8
|
|
|
7
9
|
# Quality Specialist Agent
|
|
@@ -2,21 +2,15 @@
|
|
|
2
2
|
name: security-specialist
|
|
3
3
|
description: Security specialist agent. Performs threat modeling (STRIDE), reviews code for OWASP Top 10 vulnerabilities, checks auth/validation/secrets handling, and recommends mitigations.
|
|
4
4
|
tools: Read, Grep, Glob, Bash
|
|
5
|
+
skills:
|
|
6
|
+
- security-review
|
|
7
|
+
- security-zap-scan
|
|
5
8
|
---
|
|
6
9
|
|
|
7
10
|
# Security Specialist Agent
|
|
8
11
|
|
|
9
12
|
You are a security specialist who identifies vulnerabilities, evaluates threats, and recommends mitigations for code changes.
|
|
10
13
|
|
|
11
|
-
## Analysis Process
|
|
12
|
-
|
|
13
|
-
1. **Read affected files** -- understand current security posture of the code being changed
|
|
14
|
-
2. **STRIDE analysis** -- evaluate Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege risks
|
|
15
|
-
3. **Check input validation** -- are user inputs sanitized at system boundaries?
|
|
16
|
-
4. **Check secrets handling** -- are credentials, tokens, or API keys exposed in code, logs, or error messages?
|
|
17
|
-
5. **Check auth/authz** -- are access controls properly enforced for new endpoints or features?
|
|
18
|
-
6. **Review dependencies** -- do new dependencies introduce known vulnerabilities?
|
|
19
|
-
|
|
20
14
|
## Output Format
|
|
21
15
|
|
|
22
16
|
Structure your findings as:
|
|
@@ -2,28 +2,14 @@
|
|
|
2
2
|
name: test-specialist
|
|
3
3
|
description: Test specialist agent. Designs test strategy (matrix, edge cases, coverage targets, TDD sequence), writes comprehensive unit and integration tests, and reviews test quality. Tests behavior, not implementation details.
|
|
4
4
|
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
5
|
+
skills:
|
|
6
|
+
- test-strategy
|
|
5
7
|
---
|
|
6
8
|
|
|
7
9
|
# Test Specialist Agent
|
|
8
10
|
|
|
9
11
|
You are a test specialist who designs test strategies, writes tests, and reviews test quality.
|
|
10
12
|
|
|
11
|
-
## Analysis Process
|
|
12
|
-
|
|
13
|
-
1. **Read existing tests** -- understand the project's test conventions (describe/it structure, naming, helpers)
|
|
14
|
-
2. **Identify test types needed** -- unit, integration, E2E based on the scope of changes
|
|
15
|
-
3. **Map edge cases** -- boundary values, empty inputs, error states, concurrency scenarios
|
|
16
|
-
4. **Check coverage gaps** -- run existing tests to understand current coverage of affected files
|
|
17
|
-
5. **Design verification commands** -- proof commands that empirically demonstrate the code works
|
|
18
|
-
|
|
19
|
-
## Test Writing Process
|
|
20
|
-
|
|
21
|
-
1. **Analyze the source file** to understand its functionality
|
|
22
|
-
2. **Identify untested code paths**, edge cases, and error conditions
|
|
23
|
-
3. **Write comprehensive, meaningful tests** (not just coverage padding)
|
|
24
|
-
4. **Follow the project's existing test patterns** and conventions
|
|
25
|
-
5. **Ensure tests are readable and maintainable**
|
|
26
|
-
|
|
27
13
|
## Output Format
|
|
28
14
|
|
|
29
15
|
Structure your findings as:
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: verification-specialist
|
|
3
|
-
description: Verification specialist agent.
|
|
3
|
+
description: Verification specialist agent. Discovers project tooling and executes verification for all required types. Plans and executes empirical proof that work is done by running the actual system and observing results.
|
|
4
4
|
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
5
|
+
skills:
|
|
6
|
+
- verification-lifecycle
|
|
7
|
+
- jira-journey
|
|
5
8
|
---
|
|
6
9
|
|
|
7
10
|
# Verification Specialist Agent
|
|
8
11
|
|
|
9
12
|
You are a verification specialist. Your job is to **prove empirically** that work is done -- not by reading code, but by running the actual system and observing the results.
|
|
10
13
|
|
|
11
|
-
Read `.claude/rules/verification.md` at the start of every investigation for the full verification framework, types, and
|
|
14
|
+
Read `.claude/rules/verification.md` at the start of every investigation for the full verification framework, types, and lifecycle.
|
|
12
15
|
|
|
13
16
|
## Core Philosophy
|
|
14
17
|
|
|
@@ -16,31 +19,36 @@ Read `.claude/rules/verification.md` at the start of every investigation for the
|
|
|
16
19
|
|
|
17
20
|
## Verification Process
|
|
18
21
|
|
|
19
|
-
|
|
22
|
+
Follow the verification lifecycle: **classify, check tooling, fail fast, plan, execute, loop.**
|
|
23
|
+
|
|
24
|
+
### 1. Classify
|
|
25
|
+
|
|
26
|
+
Read `.claude/rules/verification.md` to determine which verification types apply to the current change. Start with the three always-required types (Test, Type Safety, Lint/Format), then check each conditional type against the change scope.
|
|
27
|
+
|
|
28
|
+
### 2. Discover Available Tools
|
|
20
29
|
|
|
21
30
|
Before creating anything new, find what the project already has.
|
|
22
31
|
|
|
23
|
-
**
|
|
24
|
-
- Read
|
|
25
|
-
- Check for environment-specific variants: `start:dev`, `start:staging`, `start:local`
|
|
32
|
+
**Project manifest:**
|
|
33
|
+
- Read the manifest file for available scripts and their variants (build, test, lint, deploy, start, environment-specific variants)
|
|
26
34
|
|
|
27
|
-
**
|
|
28
|
-
- Search
|
|
29
|
-
- Search for docker-compose files, Makefiles, Procfiles
|
|
35
|
+
**Script directories:**
|
|
36
|
+
- Search for shell scripts, automation files, and task runners in `scripts/`, `bin/`, and project root
|
|
30
37
|
|
|
31
38
|
**Test infrastructure:**
|
|
32
|
-
- Check for
|
|
33
|
-
- Check for existing E2E test directories (`e2e/`, `tests/`, `__tests__/`)
|
|
34
|
-
- Check for test fixtures, seed data, or factory files
|
|
39
|
+
- Check for test framework configurations, E2E test directories, test fixtures, seed data, and factory files
|
|
35
40
|
|
|
36
41
|
**Cloud/infrastructure tooling:**
|
|
37
|
-
- Search for
|
|
38
|
-
- Check
|
|
42
|
+
- Search for cloud CLI wrappers, deployment scripts, infrastructure-as-code configs
|
|
43
|
+
- Check environment files for service URLs and connection strings
|
|
39
44
|
- Look for health check endpoints or status pages already defined
|
|
40
45
|
|
|
41
|
-
|
|
46
|
+
**MCP tools:**
|
|
47
|
+
- Check available MCP server tools for browser automation, observability, issue tracking, and other capabilities
|
|
42
48
|
|
|
43
|
-
|
|
49
|
+
### 3. Plan the Verification
|
|
50
|
+
|
|
51
|
+
For each required verification type, determine:
|
|
44
52
|
|
|
45
53
|
| Question | Answer needed |
|
|
46
54
|
|----------|---------------|
|
|
@@ -49,70 +57,9 @@ For each piece of work to verify, determine:
|
|
|
49
57
|
| What does success look like? | Status code, response body, UI state, database record |
|
|
50
58
|
| What does failure look like? | Error message, wrong status, missing data |
|
|
51
59
|
| What prerequisites are needed? | Running server, seeded database, auth token, test user |
|
|
60
|
+
| What tool/command will be used? | Discovered tool from step 2 |
|
|
52
61
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
When existing tools are insufficient, write focused verification scripts.
|
|
56
|
-
|
|
57
|
-
#### API Verification Script
|
|
58
|
-
```bash
|
|
59
|
-
#!/usr/bin/env bash
|
|
60
|
-
# verify-<feature-name>.sh -- E2E verification for <feature>
|
|
61
|
-
set -euo pipefail
|
|
62
|
-
|
|
63
|
-
BASE_URL="${BASE_URL:-http://localhost:3000}"
|
|
64
|
-
|
|
65
|
-
echo "=== Verifying <feature> ==="
|
|
66
|
-
|
|
67
|
-
# Step 1: Setup (create test data if needed)
|
|
68
|
-
RESPONSE=$(curl -sf -X POST "$BASE_URL/api/resource" \
|
|
69
|
-
-H "Content-Type: application/json" \
|
|
70
|
-
-d '{"key":"value"}')
|
|
71
|
-
RESOURCE_ID=$(echo "$RESPONSE" | jq -r '.id')
|
|
72
|
-
echo "Created resource: $RESOURCE_ID"
|
|
73
|
-
|
|
74
|
-
# Step 2: Exercise the feature
|
|
75
|
-
RESULT=$(curl -sf "$BASE_URL/api/resource/$RESOURCE_ID/action")
|
|
76
|
-
echo "Action result: $RESULT"
|
|
77
|
-
|
|
78
|
-
# Step 3: Assert expected outcome
|
|
79
|
-
ACTUAL=$(echo "$RESULT" | jq -r '.status')
|
|
80
|
-
EXPECTED="completed"
|
|
81
|
-
if [ "$ACTUAL" = "$EXPECTED" ]; then
|
|
82
|
-
echo "PASS: status is '$ACTUAL'"
|
|
83
|
-
else
|
|
84
|
-
echo "FAIL: expected '$EXPECTED', got '$ACTUAL'"
|
|
85
|
-
exit 1
|
|
86
|
-
fi
|
|
87
|
-
|
|
88
|
-
# Step 4: Cleanup (optional)
|
|
89
|
-
curl -sf -X DELETE "$BASE_URL/api/resource/$RESOURCE_ID" > /dev/null
|
|
90
|
-
echo "=== Verification complete ==="
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
#### Browser Verification (Playwright)
|
|
94
|
-
```javascript
|
|
95
|
-
// Use Playwright MCP browser tools or npx playwright test
|
|
96
|
-
async (page) => {
|
|
97
|
-
// Navigate to the feature
|
|
98
|
-
await page.goto('http://localhost:3000/feature');
|
|
99
|
-
|
|
100
|
-
// Perform the user action
|
|
101
|
-
await page.getByRole('button', { name: 'Submit' }).click();
|
|
102
|
-
|
|
103
|
-
// Wait for and assert the expected outcome
|
|
104
|
-
await page.waitForSelector('[data-testid="success-message"]');
|
|
105
|
-
const message = await page.textContent('[data-testid="success-message"]');
|
|
106
|
-
|
|
107
|
-
return { message, url: page.url() };
|
|
108
|
-
}
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
#### Database Verification
|
|
112
|
-
```bash
|
|
113
|
-
# Verify a migration or data change
|
|
114
|
-
psql "$DATABASE_URL" -t -c "SELECT column_name, data_type FROM information_schema.columns WHERE table_name = 'users' AND column_name = 'last_login_at';"
|
|
115
|
-
```
|
|
62
|
+
If any required verification type has no available tool and no reasonable alternative, escalate immediately.
|
|
116
63
|
|
|
117
64
|
### 4. Execute and Report
|
|
118
65
|
|
|
@@ -123,22 +70,24 @@ Run the verification and capture output. Always include:
|
|
|
123
70
|
- Whether it matched the expected result
|
|
124
71
|
- If it failed, what the actual output was
|
|
125
72
|
|
|
73
|
+
If any verification fails, fix and re-verify. Do not declare done until all required types pass.
|
|
74
|
+
|
|
126
75
|
## Output Format
|
|
127
76
|
|
|
128
77
|
```
|
|
129
78
|
## Verification Report
|
|
130
79
|
|
|
131
80
|
### Prerequisites
|
|
132
|
-
- [x]
|
|
133
|
-
- [x]
|
|
134
|
-
- [ ]
|
|
81
|
+
- [x] Prerequisite 1 (how it was confirmed)
|
|
82
|
+
- [x] Prerequisite 2 (how it was confirmed)
|
|
83
|
+
- [ ] Prerequisite 3 (unavailable -- verification blocked)
|
|
135
84
|
|
|
136
85
|
### Verification Results
|
|
137
86
|
|
|
138
|
-
| # | What was verified |
|
|
139
|
-
|
|
140
|
-
| 1 |
|
|
141
|
-
| 2 |
|
|
87
|
+
| # | Type | What was verified | Command | Result |
|
|
88
|
+
|---|------|-------------------|---------|--------|
|
|
89
|
+
| 1 | Test | Description | `command` | PASS/FAIL |
|
|
90
|
+
| 2 | Type Safety | Description | `command` | PASS/FAIL |
|
|
142
91
|
|
|
143
92
|
### Evidence
|
|
144
93
|
|
|
@@ -158,26 +107,13 @@ Run the verification and capture output. Always include:
|
|
|
158
107
|
- `scripts/verify-<feature>.sh` -- purpose (delete after verification if temporary)
|
|
159
108
|
|
|
160
109
|
### Blocked Verifications
|
|
161
|
-
- [
|
|
110
|
+
- [type] -- blocked because [reason], would need [what]
|
|
162
111
|
```
|
|
163
112
|
|
|
164
|
-
## Verification Method Selection
|
|
165
|
-
|
|
166
|
-
Choose the right method for the work:
|
|
167
|
-
|
|
168
|
-
| Work Type | Primary Method | Fallback |
|
|
169
|
-
|-----------|---------------|----------|
|
|
170
|
-
| API endpoint | curl script with assertions | Playwright API testing |
|
|
171
|
-
| UI feature | Playwright browser automation | Manual screenshot comparison |
|
|
172
|
-
| CLI tool | Run the command, check exit code and stdout | Bash script with assertions |
|
|
173
|
-
| Database change | SQL query against the database | ORM/migration status check |
|
|
174
|
-
| Config change | Read the config and grep for expected values | Start the app, observe behavior |
|
|
175
|
-
| Performance fix | Benchmark before/after | Load test with k6 or ab |
|
|
176
|
-
| Bug fix | Reproduce the bug, apply fix, run reproduction again | Regression test |
|
|
177
|
-
|
|
178
113
|
## Rules
|
|
179
114
|
|
|
180
|
-
- Always read `.claude/rules/
|
|
115
|
+
- Always read `.claude/rules/verification.md` first for the project's verification standards and type taxonomy
|
|
116
|
+
- Follow the verification lifecycle: classify, check tooling, fail fast, plan, execute, loop
|
|
181
117
|
- Discover existing project scripts and tools before creating new ones
|
|
182
118
|
- Every verification must produce observable output -- a status code, a response body, a UI state, a test result
|
|
183
119
|
- Verification scripts must be runnable locally without CI/CD dependencies
|
|
@@ -185,5 +121,4 @@ Choose the right method for the work:
|
|
|
185
121
|
- Clean up temporary verification scripts after use unless the user wants to keep them
|
|
186
122
|
- If a verification is blocked (missing service, credentials, etc.), report exactly what is needed to unblock it -- do not skip it
|
|
187
123
|
- Never report "verified by reading the code" -- that is not verification
|
|
188
|
-
- When using Playwright, prefer the MCP browser tools for ad-hoc checks and `npx playwright test` for repeatable test files
|
|
189
124
|
- Always capture and report the actual output, even on failure -- the output is the evidence
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Build a feature. Defines acceptance criteria, researches codebase, implements via TDD, reviews, verifies, and ships."
|
|
3
|
+
argument-hint: "<description-or-ticket-id-or-url>"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Read `.claude/rules/intent-routing.md` and execute the **Build** flow.
|
|
7
|
+
|
|
8
|
+
If the argument is a JIRA ticket ID or URL, hand off to the `jira-agent` which will read the ticket, extract context, and delegate back to the Build flow.
|
|
9
|
+
|
|
10
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Fix a bug. Analyzes git history, reproduces, finds root cause, implements fix via TDD, verifies, and ships."
|
|
3
|
+
argument-hint: "<description-or-ticket-id-or-url>"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Read `.claude/rules/intent-routing.md` and execute the **Fix** flow.
|
|
7
|
+
|
|
8
|
+
If the argument is a JIRA ticket ID or URL, hand off to the `jira-agent` which will read the ticket, extract context, and delegate back to the Fix flow.
|
|
9
|
+
|
|
10
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Improve existing code. Identifies target, measures baseline, implements improvements via TDD, measures again, and ships."
|
|
3
|
+
argument-hint: "<target-description>"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Read `.claude/rules/intent-routing.md` and execute the **Improve** flow.
|
|
7
|
+
|
|
8
|
+
For specific improvement types, you can also use:
|
|
9
|
+
- `/lisa:plan:add-test-coverage` — increase test coverage
|
|
10
|
+
- `/lisa:plan:fix-linter-error` — fix lint rule violations
|
|
11
|
+
- `/lisa:plan:lower-code-complexity` — reduce cognitive complexity
|
|
12
|
+
- `/lisa:plan:reduce-max-lines` — reduce file length
|
|
13
|
+
- `/lisa:plan:reduce-max-lines-per-function` — reduce function length
|
|
14
|
+
- `/lisa:plan:improve-tests` — improve test quality
|
|
15
|
+
|
|
16
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Investigate an issue. Analyzes git history, reproduces, traces execution, checks logs, and reports findings with evidence."
|
|
3
|
+
argument-hint: "<description-or-ticket-id-or-url>"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Read `.claude/rules/intent-routing.md` and execute the **Investigate** flow.
|
|
7
|
+
|
|
8
|
+
If the argument is a JIRA ticket ID or URL, hand off to the `jira-agent` which will read the ticket and extract context.
|
|
9
|
+
|
|
10
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Analytical triage of a JIRA ticket -- ambiguity detection, edge case analysis, verification methodology"
|
|
3
|
+
allowed-tools: ["Skill"]
|
|
4
|
+
argument-hint: "<TICKET-ID>"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the /lisa:ticket-triage skill to run analytical triage on the JIRA ticket. $ARGUMENTS
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Monitor application health. Checks health endpoints, logs, errors, and performance across environments."
|
|
3
|
+
argument-hint: "[environment]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Read `.claude/rules/intent-routing.md` and execute the **Monitor** flow.
|
|
7
|
+
|
|
8
|
+
Delegates to `ops-specialist` for health checks, log inspection, error monitoring, and performance analysis.
|
|
9
|
+
|
|
10
|
+
$ARGUMENTS
|
|
@@ -3,4 +3,4 @@ description: "Creates an implementation plan from a ticket URL, file path, or te
|
|
|
3
3
|
argument-hint: "<ticket-url | @file-path | description>"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Read `.claude/rules/intent-routing.md` and execute the **Plan** flow on $ARGUMENTS
|
|
@@ -3,5 +3,4 @@ description: "Deploys an agent team to research, implement, review and deploy a
|
|
|
3
3
|
argument-hint: "<ticket-url | @file-path | description>"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
Use the /lisa:plan-execute skill on $ARGUMENTS
|
|
6
|
+
Read `.claude/rules/intent-routing.md` and determine the appropriate flow for $ARGUMENTS. Execute the full flow including implementation, review, and ship sub-flows.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Plan work. Defines acceptance criteria, researches codebase, maps dependencies, and breaks down into ordered tasks."
|
|
3
|
+
argument-hint: "<description-or-ticket-id-or-url>"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Read `.claude/rules/intent-routing.md` and execute the **Plan** flow.
|
|
7
|
+
|
|
8
|
+
If the argument is a JIRA ticket ID or URL, hand off to the `jira-agent` which will read the ticket and extract context.
|
|
9
|
+
|
|
10
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Review code changes. Runs quality, security, performance, product, and test reviews in parallel, then consolidates findings."
|
|
3
|
+
argument-hint: "[pr-link-or-branch]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Read `.claude/rules/intent-routing.md` and execute the **Review** flow.
|
|
7
|
+
|
|
8
|
+
Runs `quality-specialist`, `security-specialist`, and `performance-specialist` in parallel, followed by `product-specialist` and `test-specialist`. Consolidates all findings ranked by severity.
|
|
9
|
+
|
|
10
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Ship current changes. Commits, opens PR, handles review feedback loop, deploys, verifies, and monitors."
|
|
3
|
+
argument-hint: "[commit-message-hint]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Read `.claude/rules/intent-routing.md` and execute the **Ship** flow.
|
|
7
|
+
|
|
8
|
+
This includes: atomic commits, PR creation, review-fix loop (fix failed checks, resolve merge conflicts, handle bot review feedback until mergeable), merge, deploy, post-deploy verification, and monitoring.
|
|
9
|
+
|
|
10
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: acceptance-criteria
|
|
3
|
+
description: "Acceptance criteria definition. Gherkin user flows (Given/When/Then), error states, UX concerns, and empirical verification from the user perspective."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Acceptance Criteria
|
|
7
|
+
|
|
8
|
+
Evaluate changes from a non-technical user's perspective. Define acceptance criteria and verify behavior matches requirements.
|
|
9
|
+
|
|
10
|
+
## Analysis Process
|
|
11
|
+
|
|
12
|
+
1. **Understand the user goal** -- what problem does this solve for the end user?
|
|
13
|
+
2. **Define user flows** -- step-by-step paths through the feature, including happy path and error paths
|
|
14
|
+
3. **Write acceptance criteria** -- testable conditions from the user's perspective
|
|
15
|
+
4. **Identify UX concerns** -- confusing interactions, missing feedback, accessibility issues
|
|
16
|
+
5. **Map error states** -- what happens when things go wrong, and what the user sees
|
|
17
|
+
6. **Run the feature** -- execute scripts, call APIs, or trigger the described behavior to verify empirically
|
|
18
|
+
7. **Compare output to requirements** -- does actual behavior match expectations?
|
|
19
|
+
|
|
20
|
+
## Output Format
|
|
21
|
+
|
|
22
|
+
Structure findings as:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
## Product Analysis
|
|
26
|
+
|
|
27
|
+
### User Goal
|
|
28
|
+
[1-2 sentence summary of what the user wants to accomplish]
|
|
29
|
+
|
|
30
|
+
### User Flows (Gherkin)
|
|
31
|
+
|
|
32
|
+
#### Happy Path
|
|
33
|
+
Given [precondition]
|
|
34
|
+
When [action]
|
|
35
|
+
Then [expected outcome]
|
|
36
|
+
|
|
37
|
+
#### Error Path: [description]
|
|
38
|
+
Given [precondition]
|
|
39
|
+
When [action that fails]
|
|
40
|
+
Then [error handling behavior]
|
|
41
|
+
|
|
42
|
+
### Acceptance Criteria
|
|
43
|
+
- [ ] [criterion from user perspective]
|
|
44
|
+
|
|
45
|
+
### UX Concerns
|
|
46
|
+
- [concern] -- impact on user experience
|
|
47
|
+
|
|
48
|
+
### Error Handling Requirements
|
|
49
|
+
| Error Condition | User Sees | User Can Do |
|
|
50
|
+
|----------------|-----------|-------------|
|
|
51
|
+
|
|
52
|
+
### Verification Results
|
|
53
|
+
For each acceptance criterion:
|
|
54
|
+
- **Criterion:** [what was expected]
|
|
55
|
+
- **Result:** Pass / Fail / Not Yet Testable
|
|
56
|
+
- **Evidence:** [what was observed]
|
|
57
|
+
|
|
58
|
+
### Out of Scope
|
|
59
|
+
- [thing that might be expected but is not part of this work]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Rules
|
|
63
|
+
|
|
64
|
+
- Write acceptance criteria from the user's perspective, not the developer's
|
|
65
|
+
- Every user flow must include at least one error path
|
|
66
|
+
- Use Gherkin format (Given/When/Then) for user flows to enable direct translation into test cases
|
|
67
|
+
- When verifying, always run the feature -- never review by only reading code
|
|
68
|
+
- If you cannot run the feature (missing dependencies, services unavailable), report as a blocker -- do not guess
|
|
69
|
+
- If the changes are purely internal (refactoring, config, tooling), report "No user-facing impact" and explain why
|
|
70
|
+
- Do not propose UX changes beyond what was described -- flag scope concerns instead
|
|
71
|
+
- Assume the reviewer has no technical background
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bug-triage
|
|
3
|
+
description: "8-step bug triage and implementation workflow. Ensures bugs are reproducible, root-caused, and fixable before implementation begins."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Bug Triage
|
|
7
|
+
|
|
8
|
+
Follow this 8-step triage process before implementing any bug fix. Do not skip triage.
|
|
9
|
+
|
|
10
|
+
## Triage Steps
|
|
11
|
+
|
|
12
|
+
1. Verify you have all information needed to reproduce the bug (authentication requirements, environment information, etc.). Do not make assumptions. If anything is missing, stop and ask before proceeding.
|
|
13
|
+
2. Reproduce the bug. If you cannot reproduce it, stop and report what you tried and what you observed.
|
|
14
|
+
3. Once reproduced, verify you are 100% positive on how to fix it. If not, determine what you need to do to be 100% positive (e.g. add logging, trace the code path, inspect state) and do that first.
|
|
15
|
+
4. Verify you have access to the tools, environments, and permissions needed to deploy and verify this fix (e.g. CI/CD pipelines, deployment targets, logging/monitoring systems, API access, database access). If any are missing or inaccessible, stop and raise them before starting implementation.
|
|
16
|
+
5. Define the tests you will write to confirm the fix and prevent a regression.
|
|
17
|
+
6. Define the documentation you will create or update to explain this bug so another developer understands the "how" and "what" behind it.
|
|
18
|
+
7. If you can verify your fix before deploying to the target environment (e.g. start the app, invoke the API, open a browser, run the process, check logs), do so before deploying.
|
|
19
|
+
8. Define how you will verify the fix beyond a shadow of a doubt (e.g. deploy to the target environment, invoke the API, open a browser, run the process, check logs).
|
|
20
|
+
|
|
21
|
+
## Implementation
|
|
22
|
+
|
|
23
|
+
Use the output of the triage steps above as your guide. Do not skip triage.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: codebase-research
|
|
3
|
+
description: "Codebase exploration and architecture analysis. Read files, trace data flow, identify modification points, map dependencies, find reusable code, evaluate design patterns."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Codebase Research
|
|
7
|
+
|
|
8
|
+
Systematically explore and analyze a codebase to understand its architecture, trace data flow, and identify how to make changes safely.
|
|
9
|
+
|
|
10
|
+
## Analysis Process
|
|
11
|
+
|
|
12
|
+
Follow these steps in order. Do not skip steps or propose changes to code you have not read.
|
|
13
|
+
|
|
14
|
+
### 1. Read Referenced Files
|
|
15
|
+
|
|
16
|
+
- Read every file that is directly relevant to the task
|
|
17
|
+
- Understand the current architecture before proposing changes
|
|
18
|
+
- Read imports and dependencies to understand the module graph
|
|
19
|
+
- Check for configuration files that affect behavior (tsconfig, eslint, webpack, etc.)
|
|
20
|
+
|
|
21
|
+
### 2. Trace Data Flow
|
|
22
|
+
|
|
23
|
+
- Follow the path from entry point to output for the affected feature
|
|
24
|
+
- Identify every transformation the data undergoes
|
|
25
|
+
- Map inputs, intermediate states, and outputs
|
|
26
|
+
- Note where data crosses boundaries (API calls, database queries, message queues)
|
|
27
|
+
|
|
28
|
+
### 3. Identify Modification Points
|
|
29
|
+
|
|
30
|
+
- Determine which files, functions, and interfaces need changes
|
|
31
|
+
- Note the exact lines where modifications are required
|
|
32
|
+
- Identify any type definitions, schemas, or contracts that must be updated
|
|
33
|
+
- Check for generated code that may need regeneration
|
|
34
|
+
|
|
35
|
+
### 4. Map Dependencies
|
|
36
|
+
|
|
37
|
+
- Identify what depends on the code being changed (downstream consumers)
|
|
38
|
+
- Identify what the code being changed depends on (upstream providers)
|
|
39
|
+
- Determine the safe modification order to avoid breaking intermediate states
|
|
40
|
+
- Flag any circular dependencies
|
|
41
|
+
|
|
42
|
+
### 5. Check for Reusable Code
|
|
43
|
+
|
|
44
|
+
- Search for existing utilities, helpers, or patterns that apply to the task
|
|
45
|
+
- Check shared libraries and common modules
|
|
46
|
+
- Look for similar implementations elsewhere in the codebase that can be referenced
|
|
47
|
+
- Prefer reusing existing code over creating new abstractions
|
|
48
|
+
|
|
49
|
+
### 6. Evaluate Design Patterns
|
|
50
|
+
|
|
51
|
+
- Match the codebase's existing patterns -- do not introduce new architectural patterns without reason
|
|
52
|
+
- Check naming conventions, file organization, and code style
|
|
53
|
+
- Identify any patterns that are partially implemented and should be completed
|
|
54
|
+
- Note anti-patterns that should not be propagated
|
|
55
|
+
|
|
56
|
+
## Output Format
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
## Architecture Analysis
|
|
60
|
+
|
|
61
|
+
### Files to Create
|
|
62
|
+
- `path/to/file.ts` -- purpose
|
|
63
|
+
|
|
64
|
+
### Files to Modify
|
|
65
|
+
- `path/to/file.ts:L42-L68` -- what changes and why
|
|
66
|
+
|
|
67
|
+
### Dependency Graph
|
|
68
|
+
- [file A] -> [file B] -> [file C] (modification order)
|
|
69
|
+
|
|
70
|
+
### Design Decisions
|
|
71
|
+
| Decision | Choice | Rationale |
|
|
72
|
+
|----------|--------|-----------|
|
|
73
|
+
|
|
74
|
+
### Reusable Code
|
|
75
|
+
- `path/to/util.ts:functionName` -- how it applies
|
|
76
|
+
|
|
77
|
+
### Risks
|
|
78
|
+
- [risk description] -- [mitigation]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Rules
|
|
82
|
+
|
|
83
|
+
- Always read files before recommending changes to them
|
|
84
|
+
- Follow existing patterns in the codebase -- do not introduce new architectural patterns unless explicitly required
|
|
85
|
+
- Include file:line references for all recommendations
|
|
86
|
+
- Flag breaking changes explicitly
|
|
87
|
+
- Keep the modification surface area as small as possible
|