@codyswann/lisa 2.189.13 → 2.189.14
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/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/rules/reference/base-rules.md +1 -1
- package/plugins/lisa/rules/reference/intent-routing.md +1 -1
- package/plugins/lisa/skills/lisa-analyze-claude-remote/SKILL.md +10 -2
- package/plugins/lisa/skills/lisa-debrief/SKILL.md +3 -3
- package/plugins/lisa/skills/lisa-implement/SKILL.md +1 -1
- package/plugins/lisa/skills/lisa-intake/SKILL.md +2 -2
- package/plugins/lisa/skills/lisa-monitor/SKILL.md +2 -2
- package/plugins/lisa/skills/lisa-plan/SKILL.md +2 -2
- package/plugins/lisa/skills/lisa-repair-intake/SKILL.md +7 -3
- package/plugins/lisa/skills/lisa-research/SKILL.md +2 -2
- package/plugins/lisa/skills/lisa-tracker-add-journey/SKILL.md +2 -1
- package/plugins/lisa/skills/lisa-tracker-build-intake/SKILL.md +2 -1
- package/plugins/lisa/skills/lisa-tracker-create/SKILL.md +2 -1
- package/plugins/lisa/skills/lisa-tracker-evidence/SKILL.md +5 -4
- package/plugins/lisa/skills/lisa-tracker-journey/SKILL.md +2 -1
- package/plugins/lisa/skills/lisa-tracker-read/SKILL.md +2 -1
- package/plugins/lisa/skills/lisa-tracker-sync/SKILL.md +2 -1
- package/plugins/lisa/skills/lisa-tracker-validate/SKILL.md +3 -2
- package/plugins/lisa/skills/lisa-tracker-verify/SKILL.md +2 -1
- package/plugins/lisa/skills/lisa-tracker-write/SKILL.md +3 -2
- package/plugins/lisa/skills/lisa-validate-tracker-mapping/SKILL.md +12 -5
- package/plugins/lisa/skills/lisa-verify/SKILL.md +2 -2
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-analyze-claude-remote/SKILL.md +10 -2
- package/plugins/lisa-agy/skills/lisa-debrief/SKILL.md +3 -3
- package/plugins/lisa-agy/skills/lisa-implement/SKILL.md +1 -1
- package/plugins/lisa-agy/skills/lisa-intake/SKILL.md +2 -2
- package/plugins/lisa-agy/skills/lisa-monitor/SKILL.md +2 -2
- package/plugins/lisa-agy/skills/lisa-plan/SKILL.md +2 -2
- package/plugins/lisa-agy/skills/lisa-repair-intake/SKILL.md +7 -3
- package/plugins/lisa-agy/skills/lisa-research/SKILL.md +2 -2
- package/plugins/lisa-agy/skills/lisa-tracker-add-journey/SKILL.md +2 -1
- package/plugins/lisa-agy/skills/lisa-tracker-build-intake/SKILL.md +2 -1
- package/plugins/lisa-agy/skills/lisa-tracker-create/SKILL.md +2 -1
- package/plugins/lisa-agy/skills/lisa-tracker-evidence/SKILL.md +5 -4
- package/plugins/lisa-agy/skills/lisa-tracker-journey/SKILL.md +2 -1
- package/plugins/lisa-agy/skills/lisa-tracker-read/SKILL.md +2 -1
- package/plugins/lisa-agy/skills/lisa-tracker-sync/SKILL.md +2 -1
- package/plugins/lisa-agy/skills/lisa-tracker-validate/SKILL.md +3 -2
- package/plugins/lisa-agy/skills/lisa-tracker-verify/SKILL.md +2 -1
- package/plugins/lisa-agy/skills/lisa-tracker-write/SKILL.md +3 -2
- package/plugins/lisa-agy/skills/lisa-validate-tracker-mapping/SKILL.md +12 -5
- package/plugins/lisa-agy/skills/lisa-verify/SKILL.md +2 -2
- 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/rules/reference/base-rules.md +1 -1
- package/plugins/lisa-copilot/rules/reference/intent-routing.md +1 -1
- package/plugins/lisa-copilot/skills/lisa-analyze-claude-remote/SKILL.md +10 -2
- package/plugins/lisa-copilot/skills/lisa-debrief/SKILL.md +3 -3
- package/plugins/lisa-copilot/skills/lisa-implement/SKILL.md +1 -1
- package/plugins/lisa-copilot/skills/lisa-intake/SKILL.md +2 -2
- package/plugins/lisa-copilot/skills/lisa-monitor/SKILL.md +2 -2
- package/plugins/lisa-copilot/skills/lisa-plan/SKILL.md +2 -2
- package/plugins/lisa-copilot/skills/lisa-repair-intake/SKILL.md +7 -3
- package/plugins/lisa-copilot/skills/lisa-research/SKILL.md +2 -2
- package/plugins/lisa-copilot/skills/lisa-tracker-add-journey/SKILL.md +2 -1
- package/plugins/lisa-copilot/skills/lisa-tracker-build-intake/SKILL.md +2 -1
- package/plugins/lisa-copilot/skills/lisa-tracker-create/SKILL.md +2 -1
- package/plugins/lisa-copilot/skills/lisa-tracker-evidence/SKILL.md +5 -4
- package/plugins/lisa-copilot/skills/lisa-tracker-journey/SKILL.md +2 -1
- package/plugins/lisa-copilot/skills/lisa-tracker-read/SKILL.md +2 -1
- package/plugins/lisa-copilot/skills/lisa-tracker-sync/SKILL.md +2 -1
- package/plugins/lisa-copilot/skills/lisa-tracker-validate/SKILL.md +3 -2
- package/plugins/lisa-copilot/skills/lisa-tracker-verify/SKILL.md +2 -1
- package/plugins/lisa-copilot/skills/lisa-tracker-write/SKILL.md +3 -2
- package/plugins/lisa-copilot/skills/lisa-validate-tracker-mapping/SKILL.md +12 -5
- package/plugins/lisa-copilot/skills/lisa-verify/SKILL.md +2 -2
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/rules/base-rules-reference.mdc +1 -1
- package/plugins/lisa-cursor/rules/intent-routing-reference.mdc +1 -1
- package/plugins/lisa-cursor/skills/lisa-analyze-claude-remote/SKILL.md +10 -2
- package/plugins/lisa-cursor/skills/lisa-debrief/SKILL.md +3 -3
- package/plugins/lisa-cursor/skills/lisa-implement/SKILL.md +1 -1
- package/plugins/lisa-cursor/skills/lisa-intake/SKILL.md +2 -2
- package/plugins/lisa-cursor/skills/lisa-monitor/SKILL.md +2 -2
- package/plugins/lisa-cursor/skills/lisa-plan/SKILL.md +2 -2
- package/plugins/lisa-cursor/skills/lisa-repair-intake/SKILL.md +7 -3
- package/plugins/lisa-cursor/skills/lisa-research/SKILL.md +2 -2
- package/plugins/lisa-cursor/skills/lisa-tracker-add-journey/SKILL.md +2 -1
- package/plugins/lisa-cursor/skills/lisa-tracker-build-intake/SKILL.md +2 -1
- package/plugins/lisa-cursor/skills/lisa-tracker-create/SKILL.md +2 -1
- package/plugins/lisa-cursor/skills/lisa-tracker-evidence/SKILL.md +5 -4
- package/plugins/lisa-cursor/skills/lisa-tracker-journey/SKILL.md +2 -1
- package/plugins/lisa-cursor/skills/lisa-tracker-read/SKILL.md +2 -1
- package/plugins/lisa-cursor/skills/lisa-tracker-sync/SKILL.md +2 -1
- package/plugins/lisa-cursor/skills/lisa-tracker-validate/SKILL.md +3 -2
- package/plugins/lisa-cursor/skills/lisa-tracker-verify/SKILL.md +2 -1
- package/plugins/lisa-cursor/skills/lisa-tracker-write/SKILL.md +3 -2
- package/plugins/lisa-cursor/skills/lisa-validate-tracker-mapping/SKILL.md +12 -5
- package/plugins/lisa-cursor/skills/lisa-verify/SKILL.md +2 -2
- 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/rules/reference/base-rules.md +1 -1
- package/plugins/src/base/rules/reference/intent-routing.md +1 -1
- package/plugins/src/base/skills/lisa-analyze-claude-remote/SKILL.md +10 -2
- package/plugins/src/base/skills/lisa-debrief/SKILL.md +3 -3
- package/plugins/src/base/skills/lisa-implement/SKILL.md +1 -1
- package/plugins/src/base/skills/lisa-intake/SKILL.md +2 -2
- package/plugins/src/base/skills/lisa-monitor/SKILL.md +2 -2
- package/plugins/src/base/skills/lisa-plan/SKILL.md +2 -2
- package/plugins/src/base/skills/lisa-repair-intake/SKILL.md +7 -3
- package/plugins/src/base/skills/lisa-research/SKILL.md +2 -2
- package/plugins/src/base/skills/lisa-tracker-add-journey/SKILL.md +2 -1
- package/plugins/src/base/skills/lisa-tracker-build-intake/SKILL.md +2 -1
- package/plugins/src/base/skills/lisa-tracker-create/SKILL.md +2 -1
- package/plugins/src/base/skills/lisa-tracker-evidence/SKILL.md +5 -4
- package/plugins/src/base/skills/lisa-tracker-journey/SKILL.md +2 -1
- package/plugins/src/base/skills/lisa-tracker-read/SKILL.md +2 -1
- package/plugins/src/base/skills/lisa-tracker-sync/SKILL.md +2 -1
- package/plugins/src/base/skills/lisa-tracker-validate/SKILL.md +3 -2
- package/plugins/src/base/skills/lisa-tracker-verify/SKILL.md +2 -1
- package/plugins/src/base/skills/lisa-tracker-write/SKILL.md +3 -2
- package/plugins/src/base/skills/lisa-validate-tracker-mapping/SKILL.md +12 -5
- package/plugins/src/base/skills/lisa-verify/SKILL.md +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-tracker-evidence
|
|
3
|
-
description: "Vendor-neutral wrapper for posting verification evidence. Reads `tracker` from .lisa.config.json
|
|
3
|
+
description: "Vendor-neutral wrapper for posting verification evidence. Reads the required `tracker` from .lisa.config.json and dispatches to lisa-jira-evidence, lisa-github-evidence, or lisa-linear-evidence. Uploads evidence to the GitHub `pr-assets` release, updates the PR description, posts a comment on the originating ticket/issue, and leaves workflow transitions to the tracker-specific lifecycle owner."
|
|
4
4
|
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -13,13 +13,14 @@ See the `config-resolution` rule for configuration and dispatch table.
|
|
|
13
13
|
## Workflow
|
|
14
14
|
|
|
15
15
|
1. Resolve tracker config (same logic as `lisa-tracker-write`).
|
|
16
|
-
2.
|
|
17
|
-
3.
|
|
16
|
+
2. Missing / empty → stop and report `"No tracker configured in .lisa.config.json. Run /lisa:setup:jira, /lisa:setup:github, or /lisa:setup:linear first."`
|
|
17
|
+
3. Before dispatching, update the generated evidence artifact through `lisa-usage-accounting` so the comment body / PR evidence section carries a direct `lisa-verify` usage entry in the canonical `## Lisa Usage` section. If the originating work item's parentage or child refs are already known, prefer `record_and_rollup` so ancestor totals refresh in the same write; otherwise still write the direct entry, and if trustworthy runtime usage is unavailable, write `source: unavailable` with nullable token/cost fields instead of skipping the row.
|
|
18
|
+
4. Dispatch:
|
|
18
19
|
- `jira` → invoke `lisa-jira-evidence` with `$ARGUMENTS` verbatim. Arg shape: `<TICKET_ID> <EVIDENCE_DIR> <PR_NUMBER>`.
|
|
19
20
|
- `github` → invoke `lisa-github-evidence` with `$ARGUMENTS` verbatim. Arg shape: `<ISSUE_REF> <EVIDENCE_DIR> <PR_NUMBER>` where `ISSUE_REF` is `org/repo#<number>` or a GitHub issue URL.
|
|
20
21
|
- `linear` → invoke `lisa-linear-evidence` with `$ARGUMENTS` verbatim. Arg shape: `<IDENTIFIER> <EVIDENCE_DIR>` where `IDENTIFIER` is a Linear Issue identifier (e.g., `ENG-123`).
|
|
21
22
|
- Anything else → stop and report `"Unknown tracker '<value>' in .lisa.config.json. Expected 'jira', 'github', or 'linear'."`
|
|
22
|
-
|
|
23
|
+
5. Pass through the vendor skill's output.
|
|
23
24
|
|
|
24
25
|
## Rules
|
|
25
26
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-tracker-journey
|
|
3
|
-
description: "Vendor-neutral wrapper for executing a ticket/issue's Validation Journey end-to-end. Reads `tracker` from .lisa.config.json
|
|
3
|
+
description: "Vendor-neutral wrapper for executing a ticket/issue's Validation Journey end-to-end. Reads the required `tracker` from .lisa.config.json and dispatches to lisa-jira-journey, lisa-github-journey, or lisa-linear-journey. Parses the journey, satisfies prerequisites, executes the steps, captures evidence at each marker, and posts results via tracker-evidence."
|
|
4
4
|
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -14,6 +14,7 @@ See the `config-resolution` rule for configuration and dispatch table.
|
|
|
14
14
|
|
|
15
15
|
1. Resolve tracker config (same logic as `lisa-tracker-write`).
|
|
16
16
|
2. Dispatch:
|
|
17
|
+
- Missing / empty → stop and report `"No tracker configured in .lisa.config.json. Run /lisa:setup:jira, /lisa:setup:github, or /lisa:setup:linear first."`
|
|
17
18
|
- `jira` → invoke `lisa-jira-journey` with `$ARGUMENTS` verbatim. Arg shape: `<TICKET_ID> [PR_NUMBER]`.
|
|
18
19
|
- `github` → invoke `lisa-github-journey` with `$ARGUMENTS` verbatim. Arg shape: `<ISSUE_REF> [PR_NUMBER]`.
|
|
19
20
|
- `linear` → invoke `lisa-linear-journey` with `$ARGUMENTS` verbatim. Arg shape: `<IDENTIFIER> [PR_NUMBER]`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-tracker-read
|
|
3
|
-
description: "Vendor-neutral wrapper for fetching the full scope of a ticket/issue and its related graph. Reads `tracker` from .lisa.config.json
|
|
3
|
+
description: "Vendor-neutral wrapper for fetching the full scope of a ticket/issue and its related graph. Reads the required `tracker` from .lisa.config.json and dispatches to lisa-jira-read-ticket, lisa-github-read-issue, or lisa-linear-read-issue. Returns a consolidated context bundle so downstream agents never act on a single ticket in isolation."
|
|
4
4
|
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -14,6 +14,7 @@ See the `config-resolution` rule for configuration and dispatch table.
|
|
|
14
14
|
|
|
15
15
|
1. Resolve tracker config (same logic as `lisa-tracker-write`).
|
|
16
16
|
2. Dispatch:
|
|
17
|
+
- Missing / empty → stop and report `"No tracker configured in .lisa.config.json. Run /lisa:setup:jira, /lisa:setup:github, or /lisa:setup:linear first."`
|
|
17
18
|
- `jira` → invoke `lisa-jira-read-ticket` with `$ARGUMENTS` verbatim. The argument is a JIRA key (e.g., `PROJ-123`).
|
|
18
19
|
- `github` → invoke `lisa-github-read-issue` with `$ARGUMENTS` verbatim. The argument is `org/repo#<number>` or a full GitHub issue URL.
|
|
19
20
|
- `linear` → invoke `lisa-linear-read-issue` with `$ARGUMENTS` verbatim. The argument is a Linear identifier (e.g., `ENG-123`) or a project URL.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-tracker-sync
|
|
3
|
-
description: "Vendor-neutral wrapper for posting milestone updates to the linked ticket/issue. Reads `tracker` from .lisa.config.json
|
|
3
|
+
description: "Vendor-neutral wrapper for posting milestone updates to the linked ticket/issue. Reads the required `tracker` from .lisa.config.json and dispatches to lisa-jira-sync, lisa-github-sync, or lisa-linear-sync. Posts at: plan created, implementation in progress, PR ready, PR merged. Suggests (never auto-transitions) the next status."
|
|
4
4
|
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -14,6 +14,7 @@ See the `config-resolution` rule for configuration and dispatch table.
|
|
|
14
14
|
|
|
15
15
|
1. Resolve tracker config (same logic as `lisa-tracker-write`).
|
|
16
16
|
2. Dispatch:
|
|
17
|
+
- Missing / empty → stop and report `"No tracker configured in .lisa.config.json. Run /lisa:setup:jira, /lisa:setup:github, or /lisa:setup:linear first."`
|
|
17
18
|
- `jira` → invoke `lisa-jira-sync` with `$ARGUMENTS` verbatim.
|
|
18
19
|
- `github` → invoke `lisa-github-sync` with `$ARGUMENTS` verbatim.
|
|
19
20
|
- `linear` → invoke `lisa-linear-sync` with `$ARGUMENTS` verbatim.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-tracker-validate
|
|
3
|
-
description: "Vendor-neutral wrapper for the pre-write quality gate. Reads `tracker` from .lisa.config.json
|
|
3
|
+
description: "Vendor-neutral wrapper for the pre-write quality gate. Reads the required `tracker` from .lisa.config.json and dispatches to lisa-jira-validate-ticket, lisa-github-validate-issue, or lisa-linear-validate-issue. Read-only — never writes to any tracker. Used by tracker-write Phase 5.5 (pre-write gate), tracker-verify (post-write checks), and the *-to-tracker dry-run paths. Output is structured PASS/FAIL per gate so callers can parse it."
|
|
4
4
|
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -17,11 +17,12 @@ See the `config-resolution` rule for the full configuration schema and skill-map
|
|
|
17
17
|
```bash
|
|
18
18
|
local_tracker=$(jq -r '.tracker // empty' .lisa.config.local.json 2>/dev/null)
|
|
19
19
|
global_tracker=$(jq -r '.tracker // empty' .lisa.config.json 2>/dev/null)
|
|
20
|
-
tracker="${local_tracker:-$
|
|
20
|
+
tracker="${local_tracker:-$global_tracker}"
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
2. **Dispatch**
|
|
24
24
|
|
|
25
|
+
- Missing / empty → stop and report `"No tracker configured in .lisa.config.json. Run /lisa:setup:jira, /lisa:setup:github, or /lisa:setup:linear first."`
|
|
25
26
|
- `jira` → invoke `lisa-jira-validate-ticket` with `$ARGUMENTS` verbatim.
|
|
26
27
|
- `github` → invoke `lisa-github-validate-issue` with `$ARGUMENTS` verbatim.
|
|
27
28
|
- `linear` → invoke `lisa-linear-validate-issue` with `$ARGUMENTS` verbatim.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-tracker-verify
|
|
3
|
-
description: "Vendor-neutral wrapper for the post-write verification gate. Reads `tracker` from .lisa.config.json
|
|
3
|
+
description: "Vendor-neutral wrapper for the post-write verification gate. Reads the required `tracker` from .lisa.config.json and dispatches to lisa-jira-verify, lisa-github-verify, or lisa-linear-verify. Fetches the live ticket/issue and runs the validator gates against the stored state — catches anything dropped or reformatted on write. Read-only."
|
|
4
4
|
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -14,6 +14,7 @@ See the `config-resolution` rule for configuration and dispatch table.
|
|
|
14
14
|
|
|
15
15
|
1. Resolve tracker config (same logic as `lisa-tracker-write`).
|
|
16
16
|
2. Dispatch:
|
|
17
|
+
- Missing / empty → stop and report `"No tracker configured in .lisa.config.json. Run /lisa:setup:jira, /lisa:setup:github, or /lisa:setup:linear first."`
|
|
17
18
|
- `jira` → invoke `lisa-jira-verify` with `$ARGUMENTS` verbatim.
|
|
18
19
|
- `github` → invoke `lisa-github-verify` with `$ARGUMENTS` verbatim.
|
|
19
20
|
- `linear` → invoke `lisa-linear-verify` with `$ARGUMENTS` verbatim.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-tracker-write
|
|
3
|
-
description: "Vendor-neutral wrapper for ticket creation and updates. Reads `tracker` from .lisa.config.json
|
|
3
|
+
description: "Vendor-neutral wrapper for ticket creation and updates. Reads the required `tracker` from .lisa.config.json and dispatches to lisa-jira-write-ticket, lisa-github-write-issue, or lisa-linear-write-issue. Callers in vendor-neutral skills (notion-to-tracker, linear-to-tracker, confluence-to-tracker, github-to-tracker, implement, verify) MUST invoke this skill instead of the vendor-specific ones — that is what makes the tracker switchable per project. The Phase-5.5 validate-pre-write gate, post-write verify, and Phase-8 announce-comment behavior live in the vendor skills; this shim is dispatch only."
|
|
4
4
|
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -24,11 +24,12 @@ See the `config-resolution` rule for the full configuration schema and skill-map
|
|
|
24
24
|
```bash
|
|
25
25
|
local_tracker=$(jq -r '.tracker // empty' .lisa.config.local.json 2>/dev/null)
|
|
26
26
|
global_tracker=$(jq -r '.tracker // empty' .lisa.config.json 2>/dev/null)
|
|
27
|
-
tracker="${local_tracker:-$
|
|
27
|
+
tracker="${local_tracker:-$global_tracker}"
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
2. **Validate the value**
|
|
31
31
|
|
|
32
|
+
- Missing / empty → stop and report: `"No tracker configured in .lisa.config.json. Run /lisa:setup:jira, /lisa:setup:github, or /lisa:setup:linear first."`
|
|
32
33
|
- `jira` → confirm `atlassian.cloudId` and `jira.project` are present. If either is missing, stop and report: `"tracker=jira but atlassian.cloudId and jira.project are not set in .lisa.config.json."` Continue to Step 3a.
|
|
33
34
|
- `github` → confirm `github.org` and `github.repo` are present. If either is missing, stop and report: `"tracker=github but github.org and github.repo are not set in .lisa.config.json."` Continue to Step 3b.
|
|
34
35
|
- `linear` → confirm `linear.workspace` and `linear.teamKey` are present. If either is missing, stop and report: `"tracker=linear but linear.workspace and linear.teamKey are not set in .lisa.config.json."` Continue to Step 3c.
|
|
@@ -10,7 +10,7 @@ allowed-tools: ["Skill", "Bash", "Read", "Write", "Edit", "AskUserQuestion"]
|
|
|
10
10
|
|
|
11
11
|
Lisa's lifecycle is driven by configured role → name mappings (`ready` → `"Ready"`, `done.staging` → `"On Stg"`, a GitHub `ready` build label → `"status:ready"`, a Notion `ticketed` value → `"Ticketed"`, …). When someone renames or deletes a status in JIRA, a label in GitHub/Linear, or a select option in Notion, the config silently points at a name that no longer resolves. The symptom is downstream: a build finishes but the completion transition can't be found, so the item stalls — exactly the kind of half-broken state `/lisa:repair-intake` then has to clean up. This skill catches that drift at the source: the config-to-live mapping itself.
|
|
12
12
|
|
|
13
|
-
It is the audit/repair counterpart to `/lisa:setup
|
|
13
|
+
It is the audit/repair counterpart to `/lisa:setup:jira` (and the other `setup:*` skills): where `setup:*` *establishes* the mapping interactively, this skill *re-validates an existing mapping* against the live workflow and, on request, repairs the config to match.
|
|
14
14
|
|
|
15
15
|
## Confirmation policy
|
|
16
16
|
|
|
@@ -53,15 +53,22 @@ Skip (and note) any path with no `.lisa.config.json`.
|
|
|
53
53
|
|
|
54
54
|
## Step 2 — Load the project's mappings
|
|
55
55
|
|
|
56
|
-
For each project,
|
|
56
|
+
For each project, resolve the effective config from `.lisa.config.local.json` first, then `.lisa.config.json`:
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
read_config() {
|
|
60
|
+
local path="$1" local_v global_v
|
|
61
|
+
local_v=$(jq -r "$path // empty" .lisa.config.local.json 2>/dev/null)
|
|
62
|
+
global_v=$(jq -r "$path // empty" .lisa.config.json 2>/dev/null)
|
|
63
|
+
printf '%s\n' "${local_v:-$global_v}"
|
|
64
|
+
}
|
|
65
|
+
tracker=$(read_config '.tracker')
|
|
66
|
+
source=$(read_config '.source')
|
|
61
67
|
```
|
|
62
68
|
|
|
63
|
-
Resolve the **effective** role → name mapping using the same defaults `/lisa:intake` and `/lisa:setup
|
|
69
|
+
Resolve the **effective** role → name mapping using the same defaults `/lisa:intake` and `/lisa:setup:jira` use (config-resolution contract). The tracker field is required; only vendor-specific role-name keys present in config override the defaults, and absent vendor-specific role-name keys fall back to the documented defaults. Build the list of `(role, configured-name)` pairs to validate:
|
|
64
70
|
|
|
71
|
+
- **Missing / empty tracker**: report `UNRESOLVABLE` with setup guidance (`/lisa:setup:jira`, `/lisa:setup:github`, or `/lisa:setup:linear`). Do not default to JIRA.
|
|
65
72
|
- **JIRA build workflow** (`jira.workflow`): `ready`, `claimed`, optional `review`, `blocked`, and each `done.<env>` (`dev` / `staging` / `production`). Defaults: `Ready`, `In Progress`, `Code Review`, `Blocked`, `{dev: "On Dev", staging: "On Stg", production: "Done"}`.
|
|
66
73
|
- **GitHub build/prd labels** (`github.labels.build`, `github.labels.prd`): each configured label string.
|
|
67
74
|
- **Linear build/prd labels** (`linear.labels.build`, `linear.labels.prd`): each configured label/state string.
|
|
@@ -14,13 +14,13 @@ If you are NOT already operating inside an agent team (no prior successful team-
|
|
|
14
14
|
|
|
15
15
|
Use the team tool for the current runtime:
|
|
16
16
|
|
|
17
|
-
- Claude:
|
|
17
|
+
- Claude Code >= 2.1.178: there is no `TeamCreate` tool; the team forms automatically when you spawn the first teammate with `Agent`. That first spawn should be the bounded specialist needed to start this flow. On older Claude Code that still exposes `TeamCreate`, the explicit team-create path is also acceptable.
|
|
18
18
|
- Codex: do not call `TeamCreate`; Codex does not expose that Claude tool. Use `tool_search` with a query like `multi-agent tools` to load `multi_agent_v1`, then use `multi_agent_v1.spawn_agent` for teammate delegation. Treat the first successful `spawn_agent` call as establishing team orchestration.
|
|
19
19
|
- Other runtimes: use the current runtime's tool-discovery mechanism to discover and call the appropriate multi-agent/team tool.
|
|
20
20
|
|
|
21
21
|
If no team creation or subagent delegation tool is available, explicitly state that team orchestration is unavailable in this runtime, continue as the lead agent, and preserve the workflow's review, verification, and task-tracking obligations locally.
|
|
22
22
|
|
|
23
|
-
Until the team is established, the first Codex teammate has been spawned, or the no-team fallback has been declared, do NOT call any of: `
|
|
23
|
+
Until the team is established, the first Codex teammate has been spawned, or the no-team fallback has been declared, do NOT call any of: `TaskCreate`, `Skill`, MCP tools (Atlassian / Linear / GitHub / Notion), `Read`, `Write`, `Edit`, `Bash`, `Grep`, `Glob`. The initial Claude `Agent` spawn described above is the only pre-team exception because it establishes the team. Inspecting the branch, running quality gates, opening the PR — all of those are tasks for the team you are about to create, not for the lead session before orchestration exists.
|
|
24
24
|
|
|
25
25
|
If you ARE already inside an agent team (e.g., a teammate invoked this skill via the Skill tool), do NOT create a second team — many harnesses reject double-creates — and do NOT collapse the nested flow into a single inline worker. A nested team-first flow must still bring in the specialists it requires by adding them to the existing team, not by doing the work itself:
|
|
26
26
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.189.
|
|
3
|
+
"version": "2.189.14",
|
|
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.189.
|
|
3
|
+
"version": "2.189.14",
|
|
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.189.
|
|
3
|
+
"version": "2.189.14",
|
|
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.189.
|
|
3
|
+
"version": "2.189.14",
|
|
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.189.
|
|
3
|
+
"version": "2.189.14",
|
|
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"
|
|
@@ -8,7 +8,7 @@ After echoing the chosen flow and BEFORE doing any work, state the orchestration
|
|
|
8
8
|
|
|
9
9
|
Default to an agent team for Research, Plan, Implement (Build/Fix/Improve/Investigate-Only), and any flow that invokes the Review sub-flow. Use a single agent only for Verify (standalone) and Monitor (standalone). See the `intent-routing` rule's Orchestration section for the full decision matrix.
|
|
10
10
|
|
|
11
|
-
When the mode is `agent team` **and you are not already operating inside an agent team**, your FIRST tool calls after the classification echo MUST establish team orchestration before any content-gathering work. Use the team tool for the current runtime: Claude uses
|
|
11
|
+
When the mode is `agent team` **and you are not already operating inside an agent team**, your FIRST tool calls after the classification echo MUST establish team orchestration before any content-gathering work. Use the team tool for the current runtime: modern Claude Code uses the implicit team model, where the first `Agent` spawn establishes the team; older Claude Code may still expose `TeamCreate` and that path is accepted. Codex must not call `TeamCreate` because Codex does not expose that Claude tool. In Codex, use `tool_search` with a query like `multi-agent tools` to load `multi_agent_v1`, then use `multi_agent_v1.spawn_agent` for teammate delegation and treat the first successful `spawn_agent` call as establishing team orchestration. Other runtimes should use their current tool-discovery mechanism to discover and call the appropriate multi-agent/team tool. If no team creation or subagent delegation tool is available, explicitly state that team orchestration is unavailable in this runtime, continue as the lead agent, and preserve the workflow's review, verification, and task-tracking obligations locally. Apart from the initial Claude `Agent` spawn that establishes the team, do not reach for `TaskCreate`, `Agent`, `Skill`, MCP tools, `Read`, `Bash`, or any other content-gathering call before the team exists, the first Codex teammate has been spawned, or the no-team fallback has been declared — those are bypass paths that skip durable task state and parallel review. Reading the ticket, exploring the code, querying the API are all tasks for the team, not for the lead session before orchestration exists. If you ARE already operating inside an agent team, do NOT create a second team and do NOT collapse into inline single-agent work; instead request the existing team lead add the specialist agent(s) this flow needs to the current team — on Claude, teammates cannot add named teammates (teams are flat), so message the lead with the teammate(s), assignments, and completion criteria; on Codex, ask the addressable lead/root to `multi_agent_v1.spawn_agent` them, or if no lead handle exists spawn the bounded specialists yourself, `wait_agent`, and relay results upward — then coordinate through the shared task state.
|
|
12
12
|
|
|
13
13
|
Requirement Verification:
|
|
14
14
|
|
|
@@ -36,7 +36,7 @@ What this rule still enforces:
|
|
|
36
36
|
|
|
37
37
|
3. **Default mode**: `Research`, `Plan`, `Implement`, `Intake`, and `Debrief` run as agent teams. The `Implement` flow — including every work type (`Build`, `Fix`, `Improve`, `Investigate-Only`) — is **always** a team flow. Bug fixes that "look simple" are not an exception: the Reproduce sub-flow, debug-specialist, bug-fixer, parallel reviewers, and verification-specialist all need to compose. `Debrief` runs as a team because tracker-mining and pr-mining parallelize cleanly and synthesis gates on both completing. `Verify` (standalone) and `Monitor` (standalone) use the One-shot Sub-agents pattern (see `## Orchestration` below) — these flows are linear with no parallelism and the team overhead is not warranted. Single-agent mode is otherwise reserved for: `product-walkthrough` invoked standalone (not as part of Research/Plan), `debrief-apply` (deterministic routing of human-marked dispositions), and one-off diagnostic Bash/Read sessions that don't invoke any lifecycle skill. When in doubt, use a team.
|
|
38
38
|
|
|
39
|
-
The mechanical team bootstrap directive lives inside each lifecycle skill — see those skills' orchestration preambles for the exact wording.
|
|
39
|
+
The mechanical team bootstrap directive lives inside each lifecycle skill — see those skills' orchestration preambles for the exact wording. Modern Claude Code uses the implicit team model (the first `Agent` spawn establishes the team); older Claude Code may still expose `TeamCreate`. Other runtimes must use their equivalent team-discovery and team-creation tools, or explicitly declare the no-team fallback when no such tool exists.
|
|
40
40
|
|
|
41
41
|
## Readiness Gate Protocol
|
|
42
42
|
|