@codyswann/lisa 2.230.1 → 2.232.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/dist/cli/ui-cmd.d.ts.map +1 -1
- package/dist/cli/ui-cmd.js +8 -2
- package/dist/cli/ui-cmd.js.map +1 -1
- package/dist/cli/ui-config-write.d.ts +13 -0
- package/dist/cli/ui-config-write.d.ts.map +1 -0
- package/dist/cli/ui-config-write.js +283 -0
- package/dist/cli/ui-config-write.js.map +1 -0
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-debrief-apply/SKILL.md +9 -2
- package/plugins/lisa/.codex-plugin/skills/lisa-rework-triage/SKILL.md +155 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-rework-triage/agents/openai.yaml +4 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-ticket-triage/SKILL.md +20 -0
- package/plugins/lisa/agents/learner.md +8 -1
- package/plugins/lisa/agents/learnings-synthesizer.md +4 -1
- package/plugins/lisa/commands/rework-triage.md +6 -0
- package/plugins/lisa/skills/lisa-debrief-apply/SKILL.md +9 -2
- package/plugins/lisa/skills/lisa-rework-triage/SKILL.md +155 -0
- package/plugins/lisa/skills/lisa-rework-triage/agents/openai.yaml +4 -0
- package/plugins/lisa/skills/lisa-ticket-triage/SKILL.md +21 -1
- package/plugins/lisa-agy/agents/learner.md +8 -1
- package/plugins/lisa-agy/agents/learnings-synthesizer.md +4 -1
- package/plugins/lisa-agy/commands/lisa/rework-triage.md +6 -0
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-debrief-apply/SKILL.md +9 -2
- package/plugins/lisa-agy/skills/lisa-rework-triage/SKILL.md +155 -0
- package/plugins/lisa-agy/skills/lisa-ticket-triage/SKILL.md +21 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/agents/learner.agent.md +8 -1
- package/plugins/lisa-copilot/agents/learnings-synthesizer.agent.md +4 -1
- package/plugins/lisa-copilot/commands/lisa/rework-triage.md +6 -0
- package/plugins/lisa-copilot/skills/lisa-debrief-apply/SKILL.md +9 -2
- package/plugins/lisa-copilot/skills/lisa-rework-triage/SKILL.md +155 -0
- package/plugins/lisa-copilot/skills/lisa-ticket-triage/SKILL.md +21 -1
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/agents/learner.md +8 -1
- package/plugins/lisa-cursor/agents/learnings-synthesizer.md +4 -1
- package/plugins/lisa-cursor/commands/lisa/rework-triage.md +6 -0
- package/plugins/lisa-cursor/skills/lisa-debrief-apply/SKILL.md +9 -2
- package/plugins/lisa-cursor/skills/lisa-rework-triage/SKILL.md +155 -0
- package/plugins/lisa-cursor/skills/lisa-ticket-triage/SKILL.md +21 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/src/base/agents/learner.md +8 -1
- package/plugins/src/base/agents/learnings-synthesizer.md +4 -1
- package/plugins/src/base/commands/rework-triage.md +6 -0
- package/plugins/src/base/skills/lisa-debrief-apply/SKILL.md +9 -2
- package/plugins/src/base/skills/lisa-rework-triage/SKILL.md +155 -0
- package/plugins/src/base/skills/lisa-ticket-triage/SKILL.md +21 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-ticket-triage
|
|
3
|
-
description: "Analytical triage gate for tickets in the configured destination tracker (JIRA, GitHub Issues, or Linear). Detects requirement ambiguities, identifies edge cases from codebase analysis,
|
|
3
|
+
description: "Analytical triage gate for tickets in the configured destination tracker (JIRA, GitHub Issues, or Linear). Detects requirement ambiguities, identifies edge cases from codebase analysis, plans verification methodology, and — via lisa-rework-triage in Phase 2.5 — detects rework bounced back from QA/staging and classifies why the previous agent attempt failed. Posts findings to the ticket and produces a verdict (DUPLICATE_ALREADY_FIXED/BLOCKED/PASSED_WITH_FINDINGS/PASSED) that gates whether implementation can proceed. Vendor-neutral: the caller (jira-agent or github-agent) is responsible for fetching the ticket via lisa-tracker-read, running the pre-flight gate via lisa-tracker-verify, and posting findings via the matching vendor comment tool."
|
|
4
4
|
allowed-tools: ["Read", "Glob", "Grep", "Bash"]
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -67,6 +67,23 @@ Note which phases other repos have already covered and what findings they posted
|
|
|
67
67
|
- Do NOT duplicate findings already posted by another repo
|
|
68
68
|
- DO add supplementary findings specific to THIS repo's codebase
|
|
69
69
|
|
|
70
|
+
## Phase 2.5 -- Rework Detection & Failure Classification
|
|
71
|
+
|
|
72
|
+
Invoke `lisa-rework-triage` with the context bundle. It detects whether this ticket is
|
|
73
|
+
**rework** — previously implemented work bounced back from QA/staging — and, when it is,
|
|
74
|
+
classifies why the previous agent attempt failed (decomposition infidelity, PRD defect,
|
|
75
|
+
missing tool access, implementation defect, environment/data, verification gap), posts the
|
|
76
|
+
`[lisa-rework-triage]` comment, and routes the cause to its hardening destination (upstream
|
|
77
|
+
Lisa issue, provisioning ticket, or PRD defect flag). See that skill for the taxonomy,
|
|
78
|
+
evidence requirements, and routing table.
|
|
79
|
+
|
|
80
|
+
- `NOT_REWORK` → proceed to Phase 3; nothing to carry forward.
|
|
81
|
+
- `REWORK_CLASSIFIED` / `ALREADY_TRIAGED` → carry the classification into the output
|
|
82
|
+
structure (see below) and proceed to Phase 3 — a classified rework still gets fixed;
|
|
83
|
+
hardening runs alongside the fix, never in front of it. Exception: a `missing-tool-access`
|
|
84
|
+
cause whose gap is **still present** must be raised as a Phase 3 ambiguity ("prior attempt
|
|
85
|
+
lacked <tool>; it is still unavailable"), which blocks per the normal rules.
|
|
86
|
+
|
|
70
87
|
## Phase 3 -- Ambiguity Detection
|
|
71
88
|
|
|
72
89
|
Examine the ticket summary, description, and acceptance criteria. Look for:
|
|
@@ -175,6 +192,9 @@ Structure all output with clear section headers so the caller can parse and post
|
|
|
175
192
|
### Verification Methodology
|
|
176
193
|
[Phase 5 table, or "No acceptance criteria to verify."]
|
|
177
194
|
|
|
195
|
+
### Rework Classification
|
|
196
|
+
[Phase 2.5 verdict block from lisa-rework-triage, or "Not rework (first attempt)."]
|
|
197
|
+
|
|
178
198
|
## Verdict: [NOT_RELEVANT | DUPLICATE_ALREADY_FIXED | BLOCKED | PASSED_WITH_FINDINGS | PASSED]
|
|
179
199
|
```
|
|
180
200
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.232.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.232.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.232.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.232.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.232.0",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -21,19 +21,26 @@ Invoke `skill-evaluator` (via Agent tool with `subagent_type: "skill-evaluator"`
|
|
|
21
21
|
|
|
22
22
|
- **CREATE SKILL** -- broad, reusable, complex, stable, not redundant. Invoke `/skill-creator`.
|
|
23
23
|
- **ADD TO RULES** -- simple rule to append to `.claude/rules/PROJECT_RULES.md`.
|
|
24
|
+
- **UPSTREAM** -- the learning is a harness defect, not project knowledge: a Lisa skill, gate,
|
|
25
|
+
agent, or hook mis-behaved or should have caught something and didn't. Project rules can't
|
|
26
|
+
fix the harness; file it upstream so every host project gets the fix.
|
|
24
27
|
- **OMIT** -- too narrow, already documented, or temporary. Discard.
|
|
25
28
|
|
|
26
29
|
### Step 3: Act on Decisions
|
|
27
30
|
|
|
28
31
|
- CREATE SKILL: invoke `/skill-creator` via the Skill tool
|
|
29
32
|
- ADD TO RULES: use Edit to append to `.claude/rules/PROJECT_RULES.md`
|
|
33
|
+
- UPSTREAM: file an upstream Lisa issue per the "Filing upstream" procedure in
|
|
34
|
+
`lisa-rework-triage` (dedupe search first, three-audience description, evidence chain,
|
|
35
|
+
`self-hardening` label; repo from `.lisa.config.json` `hardening.upstreamRepo`, default
|
|
36
|
+
`CodySwannGT/lisa`)
|
|
30
37
|
- OMIT: no action
|
|
31
38
|
|
|
32
39
|
### Step 4: Output Summary
|
|
33
40
|
|
|
34
41
|
| Learning | Decision | Action Taken |
|
|
35
42
|
|----------|----------|-------------|
|
|
36
|
-
| [learning text] | CREATE SKILL / ADD TO RULES / OMIT | [what was done] |
|
|
43
|
+
| [learning text] | CREATE SKILL / ADD TO RULES / UPSTREAM / OMIT | [what was done] |
|
|
37
44
|
|
|
38
45
|
## Rules
|
|
39
46
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: learnings-synthesizer
|
|
3
|
-
description: "Learnings synthesizer for the Debrief flow. Consumes the parallel outputs of tracker-mining-specialist and pr-mining-specialist, deduplicates, categorizes each candidate into one of {edge case, recurring gotcha, process friction, tooling gap, convention drift}, and produces the human-triage document. Exhaustive — surfaces every candidate, even low-confidence ones, because the human decides what to keep."
|
|
3
|
+
description: "Learnings synthesizer for the Debrief flow. Consumes the parallel outputs of tracker-mining-specialist and pr-mining-specialist, deduplicates, categorizes each candidate into one of {edge case, recurring gotcha, process friction, tooling gap, convention drift, decomposition infidelity, prd defect, missing tool access}, and produces the human-triage document. Exhaustive — surfaces every candidate, even low-confidence ones, because the human decides what to keep."
|
|
4
4
|
skills: []
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -38,6 +38,9 @@ Map every finding to exactly one category. When a finding could fit two, pick th
|
|
|
38
38
|
| **Process friction** | A step in the lifecycle that consistently slowed the work — long status stalls, repeated reopen cycles, force-pushes after approval, missing journey replays, ambiguous AC that required mid-PR clarification. | `PROJECT_RULES.md` guideline, or a tooling-gap ticket if the friction is automatable |
|
|
39
39
|
| **Tooling gap** | Something that should have been automated, an agent that should have caught the issue but didn't, a missing skill, a hook that didn't fire. | A new ticket via `lisa-tracker-write` |
|
|
40
40
|
| **Convention drift** | An unwritten rule revealed by review comments — "we don't do X here", "always use the Y helper", "this folder uses pattern Z". The convention is real but undocumented. | `CLAUDE.md` or `PROJECT_RULES.md` |
|
|
41
|
+
| **Decomposition infidelity** | A ticket misrepresented the PRD requirement it claimed to implement — the agent built what the ticket said, but the ticket distorted the spec, and every gate passed it. A harness defect, not a project one. (`lisa-rework-triage` classifies these at claim time; debrief catches the ones that slipped through a whole initiative.) | Upstream Lisa issue (`hardening.upstreamRepo`, default `CodySwannGT/lisa`) |
|
|
42
|
+
| **PRD defect** | The ticket faithfully captured the PRD, but the PRD itself was wrong, ambiguous, or missing the failing case. A spec problem, not an agent problem. | Comment on the source PRD via `lisa-prd-backlink` lineage; flag for product review — never silently edit the spec |
|
|
43
|
+
| **Missing tool access** | An agent lacked a tool, credential, environment, or permission the work required, and the failure traces to that gap rather than to the code. | Provisioning ticket via `lisa-tracker-write` (`type:tooling`) |
|
|
41
44
|
|
|
42
45
|
A finding that does not fit any category is itself a signal — surface it under a sixth ad-hoc category `Uncategorized` with a note explaining why no category fit. Better to surface than to drop.
|
|
43
46
|
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Detect whether a ticket is rework bounced back from QA/staging, classify why the previous agent attempt failed, and route the cause to its hardening destination (upstream Lisa issue, provisioning ticket, or PRD defect flag)."
|
|
3
|
+
argument-hint: "<ticket-key-or-url>"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use the /lisa-rework-triage skill to detect and classify rework on the given ticket. $ARGUMENTS
|
|
@@ -29,8 +29,11 @@ For every row marked **Accept**:
|
|
|
29
29
|
| Edge case | Edge Case Brainstorm checklist in `intent-routing.md` | Append the new pattern + question to the matching group (Navigation, Data, Failure, Input, Auth, or a new group if none fit). Use the row's `Summary` and `Evidence` link as a citation comment. |
|
|
30
30
|
| Recurring gotcha | Memory file (`project_*.md`) | Write a new memory entry with `type: project`, structured as: rule, **Why:**, **How to apply:**. Add an index line to `MEMORY.md`. |
|
|
31
31
|
| Process friction | Configured project rules file | Append a one-line guideline to the `.lisa.config.json` `projectRulesFile` destination (default `PROJECT_RULES.md`) under an appropriate heading (or create one). |
|
|
32
|
-
| Tooling gap | Configured tracker |
|
|
32
|
+
| Tooling gap | Configured tracker — or upstream Lisa when harness-level | **Split by level.** Project-level (a missing project script, hook, or automation) → create a ticket via `lisa-tracker-write` with `issue_type: Task`, summary derived from the row's `Summary`, description citing the evidence and the originating debrief doc, labeled `type:tooling` / `lifecycle-improvement`. Harness-level (a Lisa skill/gate/agent that should have caught the issue but didn't) → file an upstream Lisa issue exactly per the "Filing upstream" procedure in `lisa-rework-triage` (dedupe search first, three-audience description, evidence chain, `self-hardening` label; repo from `.lisa.config.json` `hardening.upstreamRepo`, default `CodySwannGT/lisa`). |
|
|
33
33
|
| Convention drift | `CLAUDE.md` for project-wide agent operating instructions; otherwise the configured project rules file for codebase conventions | Append the convention as a one-paragraph note under the relevant section. If no relevant section exists, create one. |
|
|
34
|
+
| Decomposition infidelity | Upstream Lisa repo | File an upstream Lisa issue per the "Filing upstream" procedure in `lisa-rework-triage`, citing the PRD text vs. the distorted ticket AC and naming the gate that passed it. |
|
|
35
|
+
| PRD defect | Source PRD | Comment on the PRD via the `lisa-prd-backlink` lineage quoting the defective requirement and the failure it missed; flag for product review. Never silently edit the spec. |
|
|
36
|
+
| Missing tool access | Configured tracker | Create a provisioning ticket via `lisa-tracker-write` (`issue_type: Task`, `type:tooling`) describing the missing tool/credential/environment and which flow needs it. |
|
|
34
37
|
|
|
35
38
|
For every row marked **Reject** or **Defer**: no action. Defer is a no-op for `apply` but worth surfacing in the run summary — the human may want to revisit at the next debrief.
|
|
36
39
|
|
|
@@ -51,8 +54,12 @@ Applied <n> learnings:
|
|
|
51
54
|
<n> edge cases → intent-routing.md
|
|
52
55
|
<n> gotchas → memory
|
|
53
56
|
<n> friction → PROJECT_RULES.md
|
|
54
|
-
<n> tooling gaps → <tracker> (<key1>, <key2>, ...)
|
|
57
|
+
<n> tooling gaps (project) → <tracker> (<key1>, <key2>, ...)
|
|
58
|
+
<n> tooling gaps (harness) → upstream Lisa (<issue-url1>, ...)
|
|
55
59
|
<n> convention drift → CLAUDE.md
|
|
60
|
+
<n> decomposition infidelity → upstream Lisa (<issue-url1>, ...)
|
|
61
|
+
<n> PRD defects → PRD comments (<prd-link1>, ...)
|
|
62
|
+
<n> missing tool access → <tracker> (<key1>, ...)
|
|
56
63
|
Skipped:
|
|
57
64
|
<n> rejected, <n> deferred, <n> already-applied
|
|
58
65
|
Failed:
|