@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
|
@@ -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
|
|
|
@@ -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
|
|