@codyswann/lisa 2.189.12 → 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/dist/codex/hooks-installer.d.ts.map +1 -1
- package/dist/codex/hooks-installer.js +3 -75
- package/dist/codex/hooks-installer.js.map +1 -1
- package/dist/codex/plugin-marketplace-installer.d.ts.map +1 -1
- package/dist/codex/plugin-marketplace-installer.js +2 -0
- package/dist/codex/plugin-marketplace-installer.js.map +1 -1
- package/dist/codex/skills-installer.d.ts.map +1 -1
- package/dist/codex/skills-installer.js +3 -3
- package/dist/codex/skills-installer.js.map +1 -1
- package/dist/core/lisa-rules-mirror.d.ts +12 -0
- package/dist/core/lisa-rules-mirror.d.ts.map +1 -0
- package/dist/core/lisa-rules-mirror.js +62 -0
- package/dist/core/lisa-rules-mirror.js.map +1 -0
- package/dist/core/lisa-skill-sources.d.ts +3 -1
- package/dist/core/lisa-skill-sources.d.ts.map +1 -1
- package/dist/core/lisa-skill-sources.js +4 -2
- package/dist/core/lisa-skill-sources.js.map +1 -1
- package/dist/core/lisa.d.ts.map +1 -1
- package/dist/core/lisa.js +1 -1
- package/dist/core/lisa.js.map +1 -1
- package/dist/opencode/hooks-installer.d.ts +8 -2
- package/dist/opencode/hooks-installer.d.ts.map +1 -1
- package/dist/opencode/hooks-installer.js +41 -9
- package/dist/opencode/hooks-installer.js.map +1 -1
- package/dist/opencode/skills-installer.d.ts.map +1 -1
- package/dist/opencode/skills-installer.js +3 -3
- package/dist/opencode/skills-installer.js.map +1 -1
- 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
|
@@ -21,13 +21,13 @@ If you are NOT already operating inside an agent team (no prior successful team-
|
|
|
21
21
|
|
|
22
22
|
Use the team tool for the current runtime:
|
|
23
23
|
|
|
24
|
-
- Claude:
|
|
24
|
+
- 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.
|
|
25
25
|
- 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.
|
|
26
26
|
- Other runtimes: use the current runtime's tool-discovery mechanism to discover and call the appropriate multi-agent/team tool.
|
|
27
27
|
|
|
28
28
|
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.
|
|
29
29
|
|
|
30
|
-
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: `
|
|
30
|
+
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 / Sentry), `Read`, `Write`, `Edit`, `Bash`, `Grep`, `Glob`. The initial Claude `Agent` spawn described above is the only pre-team exception because it establishes the team. Hitting health endpoints, pulling logs, querying Sentry — all of those are tasks for the team you are about to create, not for the lead session before orchestration exists.
|
|
31
31
|
|
|
32
32
|
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:
|
|
33
33
|
|
|
@@ -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. Reading the PRD, exploring the code, fetching context — 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
|
|
|
@@ -120,8 +120,10 @@ thing you do is establish team orchestration.
|
|
|
120
120
|
|
|
121
121
|
Use the team tool for the current runtime:
|
|
122
122
|
|
|
123
|
-
- Claude:
|
|
124
|
-
|
|
123
|
+
- Claude Code >= 2.1.178: there is no `TeamCreate` tool; the team forms automatically when you spawn
|
|
124
|
+
the first teammate with `Agent`. That first spawn should be the bounded specialist needed to start
|
|
125
|
+
this flow. On older Claude Code that still exposes `TeamCreate`, the explicit team-create path is
|
|
126
|
+
also acceptable.
|
|
125
127
|
- Codex: do not call `TeamCreate`; Codex does not expose that Claude tool. Use `tool_search`
|
|
126
128
|
with a query like `multi-agent tools` to load `multi_agent_v1`, then use
|
|
127
129
|
`multi_agent_v1.spawn_agent` for teammate delegation. Treat the first successful `spawn_agent`
|
|
@@ -134,8 +136,10 @@ orchestration is unavailable in this runtime, continue as the lead agent, and pr
|
|
|
134
136
|
workflow's review, verification, and task-tracking obligations locally.
|
|
135
137
|
|
|
136
138
|
Until the team is established, the first Codex teammate has been spawned, or the no-team
|
|
137
|
-
fallback has been declared, do NOT call any of: `
|
|
139
|
+
fallback has been declared, do NOT call any of: `TaskCreate`, `Skill`, MCP tools
|
|
138
140
|
(Atlassian / Linear / GitHub / Notion), `Read`, `Write`, `Edit`, `Bash`, `Grep`, `Glob`.
|
|
141
|
+
The initial Claude `Agent` spawn described above is the only pre-team exception because it
|
|
142
|
+
establishes the team.
|
|
139
143
|
Scanning the queue, evaluating staleness, and dispatching per-item repairs — all of those are
|
|
140
144
|
tasks for the team you are about to create, not for the lead session before orchestration
|
|
141
145
|
exists.
|
|
@@ -29,13 +29,13 @@ If you are NOT already operating inside an agent team (no prior successful team-
|
|
|
29
29
|
|
|
30
30
|
Use the team tool for the current runtime:
|
|
31
31
|
|
|
32
|
-
- Claude:
|
|
32
|
+
- 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.
|
|
33
33
|
- 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.
|
|
34
34
|
- Other runtimes: use the current runtime's tool-discovery mechanism to discover and call the appropriate multi-agent/team tool.
|
|
35
35
|
|
|
36
36
|
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.
|
|
37
37
|
|
|
38
|
-
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: `
|
|
38
|
+
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. Gathering context inline as the lead is the exact bypass path that produces ad-hoc work instead of a real team flow.
|
|
39
39
|
|
|
40
40
|
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:
|
|
41
41
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-tracker-add-journey
|
|
3
|
-
description: "Vendor-neutral wrapper for appending a Validation Journey section to an existing ticket/issue. Reads `tracker` from .lisa.config.json
|
|
3
|
+
description: "Vendor-neutral wrapper for appending a Validation Journey section to an existing ticket/issue. Reads the required `tracker` from .lisa.config.json and dispatches to lisa-jira-add-journey, lisa-github-add-journey, or lisa-linear-add-journey."
|
|
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-add-journey` with `$ARGUMENTS` verbatim. Arg: a JIRA ticket key.
|
|
18
19
|
- `github` → invoke `lisa-github-add-journey` with `$ARGUMENTS` verbatim. Arg: `org/repo#<number>` or a GitHub issue URL.
|
|
19
20
|
- `linear` → invoke `lisa-linear-add-journey` with `$ARGUMENTS` verbatim. Arg: a Linear Issue identifier (e.g., `ENG-123`).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-tracker-build-intake
|
|
3
|
-
description: "Vendor-neutral wrapper for the build-queue scanner. Reads `tracker` from .lisa.config.json
|
|
3
|
+
description: "Vendor-neutral wrapper for the build-queue scanner. Reads the required `tracker` from .lisa.config.json and dispatches to lisa-jira-build-intake (JQL/project-key queue), lisa-github-build-intake (GitHub repo queue keyed off the `status:ready` label), or lisa-linear-build-intake (Linear team queue keyed off the `status:ready` label). Every vendor scanner processes at most one eligible item per cycle and enforces the claim-time arm of the `leaf-only-lifecycle` rule — dispatch leaf work units only; move or safe-block a container with open child work (or a childless Epic) that carries a stale build-ready role according to the vendor's lifecycle semantics. Counterpart to lisa-intake's PRD-side dispatchers."
|
|
4
4
|
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -18,6 +18,7 @@ They also forward the narrow duplicate terminal exception from `ticket-triage`:
|
|
|
18
18
|
|
|
19
19
|
1. Resolve tracker config (same logic as `lisa-tracker-write`).
|
|
20
20
|
2. Dispatch:
|
|
21
|
+
- Missing / empty → stop and report `"No tracker configured in .lisa.config.json. Run /lisa:setup:jira, /lisa:setup:github, or /lisa:setup:linear first."`
|
|
21
22
|
- `jira` → invoke `lisa-jira-build-intake` with `$ARGUMENTS` verbatim. Arg shape: a JIRA project key (e.g., `SE`) or a JQL filter.
|
|
22
23
|
- `github` → invoke `lisa-github-build-intake` with `$ARGUMENTS` verbatim. Arg shape: a GitHub `org/repo` token or a full GitHub repo URL.
|
|
23
24
|
- `linear` → invoke `lisa-linear-build-intake` with `$ARGUMENTS` verbatim. Arg shape: a Linear team key (e.g., `ENG`) or the literal token `linear` (which falls back to `linear.teamKey`).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-tracker-create
|
|
3
|
-
description: "Vendor-neutral wrapper for creating tickets/issues from code files or descriptions. Reads `tracker` from .lisa.config.json
|
|
3
|
+
description: "Vendor-neutral wrapper for creating tickets/issues from code files or descriptions. Reads the required `tracker` from .lisa.config.json and dispatches to lisa-jira-create, lisa-github-create, or lisa-linear-create. Plans hierarchy structure (epic / story / sub-task), then delegates each individual write through the tracker-write shim."
|
|
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-create` with `$ARGUMENTS` verbatim.
|
|
18
19
|
- `github` → invoke `lisa-github-create` with `$ARGUMENTS` verbatim.
|
|
19
20
|
- `linear` → invoke `lisa-linear-create` with `$ARGUMENTS` verbatim.
|
|
@@ -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
|
|
|
@@ -107,13 +107,21 @@ Group the findings as:
|
|
|
107
107
|
driven by config, not by what the scan happens to find. Resolve the active integrations first:
|
|
108
108
|
|
|
109
109
|
```bash
|
|
110
|
-
|
|
111
|
-
|
|
110
|
+
read_config() {
|
|
111
|
+
local path="$1" local_v global_v
|
|
112
|
+
local_v=$(jq -r "$path // empty" .lisa.config.local.json 2>/dev/null)
|
|
113
|
+
global_v=$(jq -r "$path // empty" .lisa.config.json 2>/dev/null)
|
|
114
|
+
printf '%s\n' "${local_v:-$global_v}"
|
|
115
|
+
}
|
|
116
|
+
TRACKER=$(read_config '.tracker') # tickets: jira | github | linear
|
|
117
|
+
SOURCE=$(read_config '.source') # PRDs: notion | confluence | github | linear
|
|
112
118
|
```
|
|
113
119
|
(Apply `config-resolution`: `.lisa.config.local.json` overrides `.lisa.config.json`.) For the
|
|
114
120
|
**active** `tracker` and the **active** `source` — and only those — emit a `REQUIRED` credential
|
|
115
121
|
finding using the **Credential reference** table below. For every integration that is *not* the
|
|
116
122
|
active tracker/source, its credentials are `OPTIONAL` (dormant) — never mark them `REQUIRED`.
|
|
123
|
+
If `tracker` is missing, report a `GAP` for build-ticket flows with setup guidance instead of
|
|
124
|
+
assuming JIRA.
|
|
117
125
|
|
|
118
126
|
Two non-negotiable headless rules govern which substrate a routine can actually use:
|
|
119
127
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-debrief
|
|
3
3
|
description: "Run the Debrief flow over a shipped initiative. Input: a PRD URL (Notion / Confluence / Linear / GitHub Issue / file), a JIRA epic key, or a GitHub epic issue URL. Output: a triage-ready learnings document covering every work item in the initiative — edge cases, gotchas, process friction, tooling gaps, convention drift — each with structured evidence and a human-disposition field. Persistence is deferred to lisa-debrief-apply."
|
|
4
|
-
allowed-tools: ["Skill", "ToolSearch", "
|
|
4
|
+
allowed-tools: ["Skill", "ToolSearch", "Bash", "Read", "Glob", "Grep", "TeamCreate"]
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Debrief: $ARGUMENTS
|
|
@@ -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. Resolving the work-item set, fetching tickets, walking PRs — 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
|
|
|
@@ -19,7 +19,7 @@ Use the team tool for the current runtime:
|
|
|
19
19
|
|
|
20
20
|
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.
|
|
21
21
|
|
|
22
|
-
Your only permitted first move is establishing orchestration by spawning the bounded **input-resolver** teammate (Claude: `Agent`; Codex: `multi_agent_v1.spawn_agent`), or declaring the no-team fallback. Apart from that single spawn, do NOT call any of: a second `Agent`/`spawn_agent` for any worker, `TaskCreate`, `Skill` (including `lisa-tracker-read`, `lisa-jira-read-ticket`, `lisa-github-read-issue`), MCP tools (Atlassian / Linear / GitHub / Notion), `Read`, `Write`, `Edit`, `Bash`, `Grep`, `Glob` — until the input-resolver has returned and the Roster Decision has been recorded. Reading the ticket, exploring the code, fetching context — every one of those is a task for the team, not for the lead session before orchestration exists. Doing them inline, or spawning a single worker that does the whole build, is the exact bypass path that produces a 1-agent ad-hoc fix instead of a real team flow.
|
|
22
|
+
Your only permitted first move is establishing orchestration by spawning the bounded **input-resolver** teammate (Claude: `Agent`; Codex: `multi_agent_v1.spawn_agent`), or declaring the no-team fallback. The initial Claude `Agent` spawn is the only pre-team exception, and for Implement it must be the bounded input-resolver rather than a builder. Apart from that single spawn, do NOT call any of: a second `Agent`/`spawn_agent` for any worker, `TaskCreate`, `Skill` (including `lisa-tracker-read`, `lisa-jira-read-ticket`, `lisa-github-read-issue`), MCP tools (Atlassian / Linear / GitHub / Notion), `Read`, `Write`, `Edit`, `Bash`, `Grep`, `Glob` — until the input-resolver has returned and the Roster Decision has been recorded. Reading the ticket, exploring the code, fetching context — every one of those is a task for the team, not for the lead session before orchestration exists. Doing them inline, or spawning a single worker that does the whole build, is the exact bypass path that produces a 1-agent ad-hoc fix instead of a real team flow.
|
|
23
23
|
|
|
24
24
|
If you ARE already inside an agent team (e.g., a teammate invoked this skill via the Skill tool, or `lisa-intake` is running this skill per Ready ticket), 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:
|
|
25
25
|
|
|
@@ -43,13 +43,13 @@ If you are NOT already operating inside an agent team (no prior successful team-
|
|
|
43
43
|
|
|
44
44
|
Use the team tool for the current runtime:
|
|
45
45
|
|
|
46
|
-
- Claude:
|
|
46
|
+
- 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.
|
|
47
47
|
- 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.
|
|
48
48
|
- Other runtimes: use the current runtime's tool-discovery mechanism to discover and call the appropriate multi-agent/team tool.
|
|
49
49
|
|
|
50
50
|
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.
|
|
51
51
|
|
|
52
|
-
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: `
|
|
52
|
+
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. Scanning the queue, claiming items, dispatching per-item flows — all of those are tasks for the team you are about to create, not for the lead session before orchestration exists.
|
|
53
53
|
|
|
54
54
|
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:
|
|
55
55
|
|
|
@@ -21,13 +21,13 @@ If you are NOT already operating inside an agent team (no prior successful team-
|
|
|
21
21
|
|
|
22
22
|
Use the team tool for the current runtime:
|
|
23
23
|
|
|
24
|
-
- Claude:
|
|
24
|
+
- 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.
|
|
25
25
|
- 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.
|
|
26
26
|
- Other runtimes: use the current runtime's tool-discovery mechanism to discover and call the appropriate multi-agent/team tool.
|
|
27
27
|
|
|
28
28
|
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.
|
|
29
29
|
|
|
30
|
-
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: `
|
|
30
|
+
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 / Sentry), `Read`, `Write`, `Edit`, `Bash`, `Grep`, `Glob`. The initial Claude `Agent` spawn described above is the only pre-team exception because it establishes the team. Hitting health endpoints, pulling logs, querying Sentry — all of those are tasks for the team you are about to create, not for the lead session before orchestration exists.
|
|
31
31
|
|
|
32
32
|
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:
|
|
33
33
|
|
|
@@ -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. Reading the PRD, exploring the code, fetching context — 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
|
|
|
@@ -120,8 +120,10 @@ thing you do is establish team orchestration.
|
|
|
120
120
|
|
|
121
121
|
Use the team tool for the current runtime:
|
|
122
122
|
|
|
123
|
-
- Claude:
|
|
124
|
-
|
|
123
|
+
- Claude Code >= 2.1.178: there is no `TeamCreate` tool; the team forms automatically when you spawn
|
|
124
|
+
the first teammate with `Agent`. That first spawn should be the bounded specialist needed to start
|
|
125
|
+
this flow. On older Claude Code that still exposes `TeamCreate`, the explicit team-create path is
|
|
126
|
+
also acceptable.
|
|
125
127
|
- Codex: do not call `TeamCreate`; Codex does not expose that Claude tool. Use `tool_search`
|
|
126
128
|
with a query like `multi-agent tools` to load `multi_agent_v1`, then use
|
|
127
129
|
`multi_agent_v1.spawn_agent` for teammate delegation. Treat the first successful `spawn_agent`
|
|
@@ -134,8 +136,10 @@ orchestration is unavailable in this runtime, continue as the lead agent, and pr
|
|
|
134
136
|
workflow's review, verification, and task-tracking obligations locally.
|
|
135
137
|
|
|
136
138
|
Until the team is established, the first Codex teammate has been spawned, or the no-team
|
|
137
|
-
fallback has been declared, do NOT call any of: `
|
|
139
|
+
fallback has been declared, do NOT call any of: `TaskCreate`, `Skill`, MCP tools
|
|
138
140
|
(Atlassian / Linear / GitHub / Notion), `Read`, `Write`, `Edit`, `Bash`, `Grep`, `Glob`.
|
|
141
|
+
The initial Claude `Agent` spawn described above is the only pre-team exception because it
|
|
142
|
+
establishes the team.
|
|
139
143
|
Scanning the queue, evaluating staleness, and dispatching per-item repairs — all of those are
|
|
140
144
|
tasks for the team you are about to create, not for the lead session before orchestration
|
|
141
145
|
exists.
|
|
@@ -29,13 +29,13 @@ If you are NOT already operating inside an agent team (no prior successful team-
|
|
|
29
29
|
|
|
30
30
|
Use the team tool for the current runtime:
|
|
31
31
|
|
|
32
|
-
- Claude:
|
|
32
|
+
- 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.
|
|
33
33
|
- 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.
|
|
34
34
|
- Other runtimes: use the current runtime's tool-discovery mechanism to discover and call the appropriate multi-agent/team tool.
|
|
35
35
|
|
|
36
36
|
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.
|
|
37
37
|
|
|
38
|
-
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: `
|
|
38
|
+
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. Gathering context inline as the lead is the exact bypass path that produces ad-hoc work instead of a real team flow.
|
|
39
39
|
|
|
40
40
|
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:
|
|
41
41
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-tracker-add-journey
|
|
3
|
-
description: "Vendor-neutral wrapper for appending a Validation Journey section to an existing ticket/issue. Reads `tracker` from .lisa.config.json
|
|
3
|
+
description: "Vendor-neutral wrapper for appending a Validation Journey section to an existing ticket/issue. Reads the required `tracker` from .lisa.config.json and dispatches to lisa-jira-add-journey, lisa-github-add-journey, or lisa-linear-add-journey."
|
|
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-add-journey` with `$ARGUMENTS` verbatim. Arg: a JIRA ticket key.
|
|
18
19
|
- `github` → invoke `lisa-github-add-journey` with `$ARGUMENTS` verbatim. Arg: `org/repo#<number>` or a GitHub issue URL.
|
|
19
20
|
- `linear` → invoke `lisa-linear-add-journey` with `$ARGUMENTS` verbatim. Arg: a Linear Issue identifier (e.g., `ENG-123`).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-tracker-build-intake
|
|
3
|
-
description: "Vendor-neutral wrapper for the build-queue scanner. Reads `tracker` from .lisa.config.json
|
|
3
|
+
description: "Vendor-neutral wrapper for the build-queue scanner. Reads the required `tracker` from .lisa.config.json and dispatches to lisa-jira-build-intake (JQL/project-key queue), lisa-github-build-intake (GitHub repo queue keyed off the `status:ready` label), or lisa-linear-build-intake (Linear team queue keyed off the `status:ready` label). Every vendor scanner processes at most one eligible item per cycle and enforces the claim-time arm of the `leaf-only-lifecycle` rule — dispatch leaf work units only; move or safe-block a container with open child work (or a childless Epic) that carries a stale build-ready role according to the vendor's lifecycle semantics. Counterpart to lisa-intake's PRD-side dispatchers."
|
|
4
4
|
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -18,6 +18,7 @@ They also forward the narrow duplicate terminal exception from `ticket-triage`:
|
|
|
18
18
|
|
|
19
19
|
1. Resolve tracker config (same logic as `lisa-tracker-write`).
|
|
20
20
|
2. Dispatch:
|
|
21
|
+
- Missing / empty → stop and report `"No tracker configured in .lisa.config.json. Run /lisa:setup:jira, /lisa:setup:github, or /lisa:setup:linear first."`
|
|
21
22
|
- `jira` → invoke `lisa-jira-build-intake` with `$ARGUMENTS` verbatim. Arg shape: a JIRA project key (e.g., `SE`) or a JQL filter.
|
|
22
23
|
- `github` → invoke `lisa-github-build-intake` with `$ARGUMENTS` verbatim. Arg shape: a GitHub `org/repo` token or a full GitHub repo URL.
|
|
23
24
|
- `linear` → invoke `lisa-linear-build-intake` with `$ARGUMENTS` verbatim. Arg shape: a Linear team key (e.g., `ENG`) or the literal token `linear` (which falls back to `linear.teamKey`).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-tracker-create
|
|
3
|
-
description: "Vendor-neutral wrapper for creating tickets/issues from code files or descriptions. Reads `tracker` from .lisa.config.json
|
|
3
|
+
description: "Vendor-neutral wrapper for creating tickets/issues from code files or descriptions. Reads the required `tracker` from .lisa.config.json and dispatches to lisa-jira-create, lisa-github-create, or lisa-linear-create. Plans hierarchy structure (epic / story / sub-task), then delegates each individual write through the tracker-write shim."
|
|
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-create` with `$ARGUMENTS` verbatim.
|
|
18
19
|
- `github` → invoke `lisa-github-create` with `$ARGUMENTS` verbatim.
|
|
19
20
|
- `linear` → invoke `lisa-linear-create` with `$ARGUMENTS` verbatim.
|