@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
package/README.md
CHANGED
|
@@ -1,77 +1,72 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Lisa
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Lisa is a governance layer for AI-assisted software development. It ensures that AI agents — whether running on a developer's machine or in CI/CD — follow the same standards, workflows, and quality gates.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## What Lisa Does
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
### Intent Routing
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
When a request comes in (from a human, a JIRA ticket, or a scheduled job), Lisa classifies it and routes it to the appropriate **flow**. Flows are ordered sequences of specialized agents, each with a defined role.
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
brew install claude-code
|
|
13
|
-
# Or: npm install -g @anthropic-ai/claude-code
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Step 2: Set Up This Project
|
|
17
|
-
|
|
18
|
-
> Ask Claude: "I just cloned this repo. Walk me through the full setup including installing dependencies, environment variables, and any other configuration."
|
|
19
|
-
|
|
20
|
-
## Step 3: Build and Test
|
|
11
|
+
A request to fix a bug routes to a different flow than a request to build a feature or reduce code complexity. The routing is automatic based on context, but can be overridden explicitly via slash commands.
|
|
21
12
|
|
|
22
|
-
|
|
13
|
+
### Flows and Agents
|
|
23
14
|
|
|
24
|
-
|
|
15
|
+
A flow is a pipeline. Each step in the pipeline is an **agent** — a scoped AI with specific tools and skills. One agent investigates git history, another reproduces bugs, another writes code, another verifies the result.
|
|
25
16
|
|
|
26
|
-
|
|
17
|
+
Agents delegate domain-specific work to **skills** — reusable instruction sets that can be invoked by agents, by slash commands, or by CI workflows. The same skill that triages a JIRA ticket interactively is the same skill invoked by the nightly triage workflow.
|
|
27
18
|
|
|
28
|
-
|
|
19
|
+
Flows can nest. A build flow includes a verification sub-flow, which includes a ship sub-flow. This composition keeps each flow focused while enabling complex end-to-end workflows.
|
|
29
20
|
|
|
30
|
-
|
|
31
|
-
- `/plan:fix-linter-error` - Fix ESLint rule violations
|
|
32
|
-
- `/plan:local-code-review` - Review local branch changes
|
|
33
|
-
- `/plan:lower-code-complexity` - Reduce cognitive complexity
|
|
34
|
-
- `/plan:reduce-max-lines` - Reduce max file lines threshold
|
|
35
|
-
- `/plan:reduce-max-lines-per-function` - Reduce max function lines
|
|
21
|
+
### Quality Gates
|
|
36
22
|
|
|
37
|
-
|
|
23
|
+
Lisa enforces quality through layered gates:
|
|
38
24
|
|
|
39
|
-
|
|
25
|
+
- **Rules** are loaded into every AI session automatically. They define coding standards, architectural patterns, and behavioral expectations. The AI follows them because they're part of its context.
|
|
26
|
+
- **Git hooks** are hard stops. Pre-commit hooks run linting, formatting, and type checking. Pre-push hooks run tests, coverage checks, security audits, and dead code detection. Nothing ships without passing.
|
|
27
|
+
- **Claude hooks** bridge AI actions to project tooling — ensuring that when the AI commits, pushes, or creates a PR, the project's quality infrastructure runs.
|
|
40
28
|
|
|
41
|
-
|
|
29
|
+
### Location Agnostic
|
|
42
30
|
|
|
43
|
-
|
|
31
|
+
The same rules, skills, and quality gates apply everywhere:
|
|
44
32
|
|
|
45
|
-
|
|
33
|
+
- On a developer's workstation running Claude Code interactively
|
|
34
|
+
- In a GitHub Action running a nightly improvement job
|
|
35
|
+
- In a CI workflow responding to a PR review comment
|
|
46
36
|
|
|
47
|
-
|
|
37
|
+
The analytical logic lives in skills. The enforcement lives in hooks and rules. The orchestration adapts to context — using MCP integrations locally and REST APIs in CI — but the standards don't change.
|
|
48
38
|
|
|
49
|
-
|
|
39
|
+
### Template Governance
|
|
50
40
|
|
|
51
|
-
|
|
41
|
+
Lisa distributes its standards to downstream projects as templates. When a project installs Lisa, it receives:
|
|
52
42
|
|
|
53
|
-
|
|
43
|
+
- Linting, formatting, and type checking configurations
|
|
44
|
+
- Test and coverage infrastructure
|
|
45
|
+
- CI/CD workflows
|
|
46
|
+
- Git hooks
|
|
47
|
+
- AI agent definitions, skills, and rules
|
|
54
48
|
|
|
55
|
-
|
|
49
|
+
Templates follow governance rules: some files are overwritten on every update (enforced standards), some are created once and left alone (project customization), and some are merged (shared defaults with project additions).
|
|
56
50
|
|
|
57
|
-
|
|
51
|
+
## Quick Start
|
|
58
52
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
### Deploy
|
|
64
|
-
|
|
65
|
-
> Ask Claude: "Walk me through deploying this project."
|
|
53
|
+
```bash
|
|
54
|
+
brew install claude-code
|
|
55
|
+
```
|
|
66
56
|
|
|
67
|
-
|
|
57
|
+
> Ask Claude: "I just cloned this repo. Walk me through setup."
|
|
68
58
|
|
|
69
|
-
|
|
59
|
+
## Working With Lisa
|
|
70
60
|
|
|
71
|
-
|
|
61
|
+
> Ask Claude: "I have JIRA ticket [TICKET-ID]. Research, plan, and implement it."
|
|
72
62
|
|
|
73
|
-
|
|
63
|
+
Or use slash commands directly:
|
|
74
64
|
|
|
75
|
-
|
|
65
|
+
- `/fix` — route through the bug fix flow
|
|
66
|
+
- `/build` — route through the feature build flow
|
|
67
|
+
- `/improve` — route through the improvement flow
|
|
68
|
+
- `/investigate` — route through the investigation flow
|
|
69
|
+
- `/jira:triage <TICKET-ID>` — analytical triage gate: detect ambiguities, edge cases, and verification methodology
|
|
70
|
+
- `/plan:improve-tests <target>` — improve test quality by analyzing and strengthening weak or brittle tests
|
|
76
71
|
|
|
77
|
-
> Ask Claude: "
|
|
72
|
+
> Ask Claude: "What commands are available?"
|
|
@@ -69,56 +69,6 @@ ASK FIRST:
|
|
|
69
69
|
- Before adding a type-checking suppression comment (e.g. ts-ignore, ts-expect-error, ts-nocheck, type: ignore).
|
|
70
70
|
- Lint suppression in test files is acceptable without asking only when comprehensive test coverage requires it (e.g. file length limits) or when intentional duplication improves test isolation. Include matching re-enable comments where applicable.
|
|
71
71
|
|
|
72
|
-
Bug Triage:
|
|
73
|
-
|
|
74
|
-
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.
|
|
75
|
-
2. Reproduce the bug. If you cannot reproduce it, stop and report what you tried and what you observed.
|
|
76
|
-
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.
|
|
77
|
-
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.
|
|
78
|
-
5. Define the tests you will write to confirm the fix and prevent a regression.
|
|
79
|
-
6. Define the documentation you will create or update to explain this bug so another developer understands the "how" and "what" behind it.
|
|
80
|
-
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.
|
|
81
|
-
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).
|
|
82
|
-
|
|
83
|
-
Bug Implementation:
|
|
84
|
-
|
|
85
|
-
1. Use the output of Bug Triage as your guide. Do not skip triage.
|
|
86
|
-
|
|
87
|
-
Task Triage:
|
|
88
|
-
|
|
89
|
-
1. Verify you have all information needed to implement this task (acceptance criteria, design specs, environment information, dependencies, etc.). Do not make assumptions. If anything is missing, stop and ask before proceeding.
|
|
90
|
-
2. Verify you have a clear understanding of the expected behavior or outcome when the task is complete. If not, stop and clarify before starting.
|
|
91
|
-
3. Identify all dependencies (other tasks, services, APIs, data) that must be in place before you can complete this task. If any are unresolved, stop and raise them before starting implementation.
|
|
92
|
-
4. Verify you have access to the tools, environments, and permissions needed to deploy and verify this task (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.
|
|
93
|
-
5. Define the tests you will write to confirm the task is implemented correctly and prevent regressions.
|
|
94
|
-
6. Define the documentation you will create or update to explain the "how" and "what" behind this task so another developer understands it.
|
|
95
|
-
7. If you can verify your implementation 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.
|
|
96
|
-
8. Define how you will verify the task is complete beyond a shadow of a doubt (e.g. deploy to the target environment, invoke the API, open a browser, run the process, check logs).
|
|
97
|
-
|
|
98
|
-
Task Implementation:
|
|
99
|
-
|
|
100
|
-
1. Use the output of Task Triage as your guide. Do not skip triage.
|
|
101
|
-
|
|
102
|
-
Epic Triage:
|
|
103
|
-
|
|
104
|
-
1. Verify you have all information needed to understand the full scope of this epic (goals, acceptance criteria, impacted systems, design specs, dependencies, etc.). Do not make assumptions. If anything is missing, stop and ask before proceeding.
|
|
105
|
-
2. Verify the epic is broken down into concrete, well-scoped bugs, tasks, and/or stories that are each fully triaged. If ambiguities exist, stop and resolve them before breaking it down.
|
|
106
|
-
3. Identify all cross-cutting concerns (auth, performance, security, data migrations, third-party integrations) that need to be addressed across the epic.
|
|
107
|
-
4. Identify all dependencies between tasks within the epic, or on external epics, teams, or services. Determine the correct order of execution.
|
|
108
|
-
5. Verify you have access to the tools, environments, and permissions needed to deploy and verify all tasks within this epic (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 proceeding.
|
|
109
|
-
6. Define the overall test strategy for the epic (unit, integration, end-to-end, load testing).
|
|
110
|
-
7. Define the documentation that will need to be created or updated to cover the full scope of the epic so another developer understands the architecture, design decisions, and implementation.
|
|
111
|
-
8. Define measurable acceptance criteria that confirm the epic is fully complete.
|
|
112
|
-
9. Define how you will verify the epic is fully delivered beyond a shadow of a doubt (e.g. deploy to the target environment, walk through all acceptance criteria end-to-end, confirm all child tasks/stories are closed, confirm no regressions).
|
|
113
|
-
|
|
114
|
-
Epic Implementation:
|
|
115
|
-
|
|
116
|
-
1. Use the output of Epic Triage as your guide. Do not skip triage.
|
|
117
|
-
2. Work through each task and/or story in the order defined during triage, respecting dependencies.
|
|
118
|
-
3. Apply the Bug Implementation and Task Implementation processes to each child bug or task, respectively, as you work through them.
|
|
119
|
-
4. Continuously update the epic and its child issues in JIRA as progress is made.
|
|
120
|
-
5. Do not consider the epic complete until all acceptance criteria are verified in the target environment and all child issues are resolved.
|
|
121
|
-
|
|
122
72
|
Multi-Repository Awareness:
|
|
123
73
|
|
|
124
74
|
When working in a microservices architecture, the code you need may span multiple repositories. Watch for these signals that you're missing context:
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Intent Routing
|
|
2
|
+
|
|
3
|
+
Classify the user's request and execute the matching flow. Each flow is a sequence of agents. Sub-flows can be invoked by any flow.
|
|
4
|
+
|
|
5
|
+
## Flows
|
|
6
|
+
|
|
7
|
+
### Fix
|
|
8
|
+
When: Bug reports, broken behavior, error messages, JIRA bug tickets.
|
|
9
|
+
|
|
10
|
+
Sequence:
|
|
11
|
+
1. `git-history-analyzer` — understand why affected code exists, find related past fixes/reverts
|
|
12
|
+
2. `debug-specialist` — reproduce the bug, prove root cause with evidence
|
|
13
|
+
3. `architecture-specialist` — assess fix risk, identify files to change, check for ripple effects
|
|
14
|
+
4. `test-specialist` — design regression test strategy
|
|
15
|
+
5. `bug-fixer` — implement fix via TDD (reproduction becomes failing test)
|
|
16
|
+
6. **Verify sub-flow**
|
|
17
|
+
7. **Ship sub-flow**
|
|
18
|
+
8. `learner` — capture discoveries for future sessions
|
|
19
|
+
|
|
20
|
+
### Build
|
|
21
|
+
When: New features, stories, tasks, JIRA story/task tickets.
|
|
22
|
+
|
|
23
|
+
Sequence:
|
|
24
|
+
1. `product-specialist` — define acceptance criteria, user flows, error states
|
|
25
|
+
2. `architecture-specialist` — research codebase, design approach, map dependencies
|
|
26
|
+
3. `test-specialist` — design test strategy (coverage, edge cases, TDD sequence)
|
|
27
|
+
4. `builder` — implement via TDD (acceptance criteria become tests)
|
|
28
|
+
5. **Verify sub-flow**
|
|
29
|
+
6. **Review sub-flow**
|
|
30
|
+
7. **Ship sub-flow**
|
|
31
|
+
8. `learner` — capture discoveries
|
|
32
|
+
|
|
33
|
+
### Investigate
|
|
34
|
+
When: "Why is this happening?", triage requests, JIRA spike tickets.
|
|
35
|
+
|
|
36
|
+
Sequence:
|
|
37
|
+
1. `git-history-analyzer` — understand code evolution, find related changes
|
|
38
|
+
2. `debug-specialist` — reproduce, trace execution, prove root cause
|
|
39
|
+
3. `ops-specialist` — check logs, errors, health (if runtime issue)
|
|
40
|
+
4. Report findings with evidence, recommend next action (Fix, Build, or escalate)
|
|
41
|
+
|
|
42
|
+
### Plan
|
|
43
|
+
When: "Break this down", epic planning, large scope work, JIRA epic tickets.
|
|
44
|
+
|
|
45
|
+
Sequence:
|
|
46
|
+
1. `product-specialist` — define acceptance criteria for the whole scope
|
|
47
|
+
2. `architecture-specialist` — understand scope, map dependencies, identify cross-cutting concerns
|
|
48
|
+
3. Break down into ordered tasks, each with: acceptance criteria, verification type, dependencies
|
|
49
|
+
|
|
50
|
+
### Verify
|
|
51
|
+
When: Pre-ship quality gate. Used as a sub-flow by Fix and Build.
|
|
52
|
+
|
|
53
|
+
Sequence:
|
|
54
|
+
1. Run full test suite — all tests must pass before proceeding
|
|
55
|
+
2. Run quality checks — lint, typecheck, and format
|
|
56
|
+
3. `verification-specialist` — verify acceptance criteria are met empirically
|
|
57
|
+
|
|
58
|
+
### Ship
|
|
59
|
+
When: Code is ready to deploy. Used as a sub-flow by Fix, Build, and Improve.
|
|
60
|
+
|
|
61
|
+
Sequence:
|
|
62
|
+
1. Commit — atomic conventional commits via `git-commit` skill
|
|
63
|
+
2. PR — create/update pull request via `git-submit-pr` skill
|
|
64
|
+
3. **Review sub-flow** (if not already done)
|
|
65
|
+
4. PR Watch Loop (repeat until mergeable):
|
|
66
|
+
- If status checks fail → fix and push
|
|
67
|
+
- If merge conflicts → resolve and push
|
|
68
|
+
- If bot review feedback (CodeRabbit, etc.):
|
|
69
|
+
- Valid feedback → implement fix, push, resolve comment
|
|
70
|
+
- Invalid feedback → reply explaining why, resolve comment
|
|
71
|
+
- Repeat until all checks pass and all comments are resolved
|
|
72
|
+
5. Merge the PR
|
|
73
|
+
6. `ops-specialist` — deploy to target environment
|
|
74
|
+
7. `verification-specialist` — post-deploy health check and smoke test
|
|
75
|
+
8. `ops-specialist` — monitor for errors in first minutes
|
|
76
|
+
|
|
77
|
+
### Review
|
|
78
|
+
When: Code review requests, PR review, quality assessment. Used as a sub-flow by Build.
|
|
79
|
+
|
|
80
|
+
Sequence:
|
|
81
|
+
1. Run in parallel: `quality-specialist`, `security-specialist`, `performance-specialist`
|
|
82
|
+
2. `product-specialist` — verify acceptance criteria are met empirically
|
|
83
|
+
3. `test-specialist` — verify test coverage and quality
|
|
84
|
+
4. Consolidate findings, ranked by severity
|
|
85
|
+
|
|
86
|
+
### Improve
|
|
87
|
+
When: Refactoring, optimization, coverage improvement, complexity reduction.
|
|
88
|
+
|
|
89
|
+
Sequence:
|
|
90
|
+
1. `architecture-specialist` — identify target, measure baseline, plan approach
|
|
91
|
+
2. `test-specialist` — ensure existing test coverage before refactoring (safety net)
|
|
92
|
+
3. `builder` — implement improvements via TDD
|
|
93
|
+
4. `verification-specialist` — measure again, prove improvement
|
|
94
|
+
5. **Ship sub-flow**
|
|
95
|
+
6. `learner` — capture discoveries
|
|
96
|
+
|
|
97
|
+
#### Improve: Test Quality
|
|
98
|
+
When: "Improve tests", "strengthen test suite", "fix weak tests", test quality improvement.
|
|
99
|
+
|
|
100
|
+
Sequence:
|
|
101
|
+
1. `test-specialist` — scan tests, identify weak/brittle tests, rank by improvement impact
|
|
102
|
+
2. `builder` — implement test improvements
|
|
103
|
+
3. **Verify sub-flow**
|
|
104
|
+
4. **Ship sub-flow**
|
|
105
|
+
5. `learner` — capture discoveries
|
|
106
|
+
|
|
107
|
+
### Monitor
|
|
108
|
+
When: "Check the logs", "Any errors?", health checks, production monitoring.
|
|
109
|
+
|
|
110
|
+
Sequence:
|
|
111
|
+
1. `ops-specialist` — health checks, log inspection, error monitoring, performance analysis
|
|
112
|
+
2. Report findings, escalate if action needed
|
|
113
|
+
|
|
114
|
+
## JIRA Entry Point
|
|
115
|
+
|
|
116
|
+
When the request references a JIRA ticket (ticket ID like PROJ-123 or a JIRA URL):
|
|
117
|
+
|
|
118
|
+
1. Hand off to `jira-agent`
|
|
119
|
+
2. `jira-agent` reads the ticket, validates structural quality, and runs analytical triage
|
|
120
|
+
3. If triage finds unresolved ambiguities, `jira-agent` posts findings and STOPS — no work begins
|
|
121
|
+
4. `jira-agent` determines intent and delegates to the appropriate flow above
|
|
122
|
+
5. `jira-agent` syncs progress at milestones and posts evidence at completion
|
|
123
|
+
|
|
124
|
+
## Sub-flow Usage
|
|
125
|
+
|
|
126
|
+
Flows reference sub-flows by name. When a flow says "Ship sub-flow", execute the full Ship sequence. When it says "Review sub-flow", execute the full Review sequence. Sub-flows can be nested (e.g., Ship includes Review).
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Security Audit Handling
|
|
2
|
+
|
|
3
|
+
If `git push` fails because the pre-push hook reports security vulnerabilities, follow these steps. Never use `--no-verify` to bypass the security audit.
|
|
4
|
+
|
|
5
|
+
## Node.js Projects (GHSA advisories)
|
|
6
|
+
|
|
7
|
+
1. Note the GHSA ID(s), affected package(s), and advisory URL from the error output
|
|
8
|
+
2. Check the advisory URL to determine if a patched version of the vulnerable package exists
|
|
9
|
+
3. If a patched version exists: add a resolution/override in package.json to force the patched version (add to both `resolutions` and `overrides` sections), then run the package manager install command to regenerate the lockfile, commit the changes, and retry the push
|
|
10
|
+
4. If no patched version exists and the vulnerability is safe for this project (e.g., transitive dependency with no untrusted input, devDeps only, or build tool only): add an exclusion entry to `audit.ignore.local.json` with the format `{"id": "GHSA-xxx", "package": "pkg-name", "reason": "why this is safe for this project"}`, then commit and retry the push
|
|
11
|
+
|
|
12
|
+
## Rails Projects (bundler-audit)
|
|
13
|
+
|
|
14
|
+
1. Note the advisory ID, affected gem, and advisory URL from the error output
|
|
15
|
+
2. Check if a patched version of the gem exists
|
|
16
|
+
3. If a patched version exists: update the gem in Gemfile, run `bundle update <gem>`, commit the changes, and retry the push
|
|
17
|
+
4. If no patched version exists and the vulnerability is safe for this project: document the exception and retry the push
|