@codyswann/lisa 2.6.4 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +10 -1
- package/plugins/lisa/agents/confluence-prd-intake.md +5 -5
- package/plugins/lisa/agents/github-agent.md +141 -0
- package/plugins/lisa/agents/github-build-intake.md +62 -0
- package/plugins/lisa/agents/github-prd-intake.md +64 -0
- package/plugins/lisa/agents/linear-prd-intake.md +5 -5
- package/plugins/lisa/agents/notion-prd-intake.md +5 -5
- package/plugins/lisa/agents/verification-specialist.md +8 -2
- package/plugins/lisa/commands/codify-verification.md +6 -0
- package/plugins/lisa/commands/intake.md +2 -2
- package/plugins/lisa/commands/plan.md +2 -2
- package/plugins/lisa/hooks/block-no-verify.sh +37 -0
- package/plugins/lisa/rules/intent-routing.md +21 -15
- package/plugins/lisa/rules/tracker-resolution.md +76 -0
- package/plugins/lisa/rules/verification.md +2 -2
- package/plugins/lisa/skills/codify-verification/SKILL.md +152 -0
- package/plugins/lisa/skills/confluence-prd-intake/SKILL.md +11 -11
- package/plugins/lisa/skills/{confluence-to-jira → confluence-to-tracker}/SKILL.md +31 -31
- package/plugins/lisa/skills/github-add-journey/SKILL.md +114 -0
- package/plugins/lisa/skills/github-build-intake/SKILL.md +188 -0
- package/plugins/lisa/skills/github-create/SKILL.md +101 -0
- package/plugins/lisa/skills/github-evidence/SKILL.md +116 -0
- package/plugins/lisa/skills/github-journey/SKILL.md +121 -0
- package/plugins/lisa/skills/github-prd-intake/SKILL.md +286 -0
- package/plugins/lisa/skills/github-read-issue/SKILL.md +248 -0
- package/plugins/lisa/skills/github-sync/SKILL.md +73 -0
- package/plugins/lisa/skills/github-to-tracker/SKILL.md +312 -0
- package/plugins/lisa/skills/github-validate-issue/SKILL.md +288 -0
- package/plugins/lisa/skills/github-verify/SKILL.md +29 -0
- package/plugins/lisa/skills/github-write-issue/SKILL.md +304 -0
- package/plugins/lisa/skills/implement/SKILL.md +4 -4
- package/plugins/lisa/skills/intake/SKILL.md +14 -4
- package/plugins/lisa/skills/jira-source-artifacts/SKILL.md +1 -1
- package/plugins/lisa/skills/jira-validate-ticket/SKILL.md +3 -3
- package/plugins/lisa/skills/jira-verify/SKILL.md +1 -1
- package/plugins/lisa/skills/jira-write-ticket/SKILL.md +3 -3
- package/plugins/lisa/skills/linear-prd-intake/SKILL.md +10 -10
- package/plugins/lisa/skills/{linear-to-jira → linear-to-tracker}/SKILL.md +30 -31
- package/plugins/lisa/skills/notion-prd-intake/SKILL.md +11 -11
- package/plugins/{src/base/skills/notion-to-jira → lisa/skills/notion-to-tracker}/SKILL.md +34 -34
- package/plugins/lisa/skills/plan/SKILL.md +8 -6
- package/plugins/lisa/skills/prd-ticket-coverage/SKILL.md +22 -12
- package/plugins/lisa/skills/product-walkthrough/SKILL.md +1 -1
- package/plugins/lisa/skills/spec-conformance/SKILL.md +2 -3
- package/plugins/lisa/skills/ticket-triage/SKILL.md +7 -7
- package/plugins/lisa/skills/tracker-add-journey/SKILL.md +24 -0
- package/plugins/lisa/skills/tracker-build-intake/SKILL.md +25 -0
- package/plugins/lisa/skills/tracker-create/SKILL.md +24 -0
- package/plugins/lisa/skills/tracker-evidence/SKILL.md +24 -0
- package/plugins/lisa/skills/tracker-journey/SKILL.md +24 -0
- package/plugins/lisa/skills/tracker-read/SKILL.md +25 -0
- package/plugins/lisa/skills/tracker-sync/SKILL.md +26 -0
- package/plugins/lisa/skills/tracker-validate/SKILL.md +35 -0
- package/plugins/lisa/skills/tracker-verify/SKILL.md +25 -0
- package/plugins/lisa/skills/tracker-write/SKILL.md +43 -0
- package/plugins/lisa/skills/verification-lifecycle/SKILL.md +31 -9
- package/plugins/lisa/skills/verify/SKILL.md +7 -6
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/skills/jira-verify/SKILL.md +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/skills/jira-verify/SKILL.md +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/src/base/.claude-plugin/plugin.json +6 -0
- package/plugins/src/base/agents/confluence-prd-intake.md +5 -5
- package/plugins/src/base/agents/github-agent.md +141 -0
- package/plugins/src/base/agents/github-build-intake.md +62 -0
- package/plugins/src/base/agents/github-prd-intake.md +64 -0
- package/plugins/src/base/agents/linear-prd-intake.md +5 -5
- package/plugins/src/base/agents/notion-prd-intake.md +5 -5
- package/plugins/src/base/agents/verification-specialist.md +8 -2
- package/plugins/src/base/commands/codify-verification.md +6 -0
- package/plugins/src/base/commands/intake.md +2 -2
- package/plugins/src/base/commands/plan.md +2 -2
- package/plugins/src/base/hooks/block-no-verify.sh +37 -0
- package/plugins/src/base/rules/intent-routing.md +21 -15
- package/plugins/src/base/rules/tracker-resolution.md +76 -0
- package/plugins/src/base/rules/verification.md +2 -2
- package/plugins/src/base/skills/codify-verification/SKILL.md +152 -0
- package/plugins/src/base/skills/confluence-prd-intake/SKILL.md +11 -11
- package/plugins/src/base/skills/{confluence-to-jira → confluence-to-tracker}/SKILL.md +31 -31
- package/plugins/src/base/skills/github-add-journey/SKILL.md +114 -0
- package/plugins/src/base/skills/github-build-intake/SKILL.md +188 -0
- package/plugins/src/base/skills/github-create/SKILL.md +101 -0
- package/plugins/src/base/skills/github-evidence/SKILL.md +116 -0
- package/plugins/src/base/skills/github-journey/SKILL.md +121 -0
- package/plugins/src/base/skills/github-prd-intake/SKILL.md +286 -0
- package/plugins/src/base/skills/github-read-issue/SKILL.md +248 -0
- package/plugins/src/base/skills/github-sync/SKILL.md +73 -0
- package/plugins/src/base/skills/github-to-tracker/SKILL.md +312 -0
- package/plugins/src/base/skills/github-validate-issue/SKILL.md +288 -0
- package/plugins/src/base/skills/github-verify/SKILL.md +29 -0
- package/plugins/src/base/skills/github-write-issue/SKILL.md +304 -0
- package/plugins/src/base/skills/implement/SKILL.md +4 -4
- package/plugins/src/base/skills/intake/SKILL.md +14 -4
- package/plugins/src/base/skills/jira-source-artifacts/SKILL.md +1 -1
- package/plugins/src/base/skills/jira-validate-ticket/SKILL.md +3 -3
- package/plugins/src/base/skills/jira-verify/SKILL.md +1 -1
- package/plugins/src/base/skills/jira-write-ticket/SKILL.md +3 -3
- package/plugins/src/base/skills/linear-prd-intake/SKILL.md +10 -10
- package/plugins/src/base/skills/{linear-to-jira → linear-to-tracker}/SKILL.md +30 -31
- package/plugins/src/base/skills/notion-prd-intake/SKILL.md +11 -11
- package/plugins/{lisa/skills/notion-to-jira → src/base/skills/notion-to-tracker}/SKILL.md +34 -34
- package/plugins/src/base/skills/plan/SKILL.md +8 -6
- package/plugins/src/base/skills/prd-ticket-coverage/SKILL.md +22 -12
- package/plugins/src/base/skills/product-walkthrough/SKILL.md +1 -1
- package/plugins/src/base/skills/spec-conformance/SKILL.md +2 -3
- package/plugins/src/base/skills/ticket-triage/SKILL.md +7 -7
- package/plugins/src/base/skills/tracker-add-journey/SKILL.md +24 -0
- package/plugins/src/base/skills/tracker-build-intake/SKILL.md +25 -0
- package/plugins/src/base/skills/tracker-create/SKILL.md +24 -0
- package/plugins/src/base/skills/tracker-evidence/SKILL.md +24 -0
- package/plugins/src/base/skills/tracker-journey/SKILL.md +24 -0
- package/plugins/src/base/skills/tracker-read/SKILL.md +25 -0
- package/plugins/src/base/skills/tracker-sync/SKILL.md +26 -0
- package/plugins/src/base/skills/tracker-validate/SKILL.md +35 -0
- package/plugins/src/base/skills/tracker-verify/SKILL.md +25 -0
- package/plugins/src/base/skills/tracker-write/SKILL.md +43 -0
- package/plugins/src/base/skills/verification-lifecycle/SKILL.md +31 -9
- package/plugins/src/base/skills/verify/SKILL.md +7 -6
- package/plugins/src/expo/skills/jira-verify/SKILL.md +1 -1
- package/plugins/src/rails/skills/jira-verify/SKILL.md +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: product-walkthrough
|
|
3
|
-
description: "Methodology for evaluating the live product via a real browser (Playwright MCP) when planning work or evaluating a PRD. Reading a PRD or a mock without seeing the current product produces tickets that misjudge the change — this skill grounds the analysis in what actually exists today. Invoke this skill from notion-to-
|
|
3
|
+
description: "Methodology for evaluating the live product via a real browser (Playwright MCP) when planning work or evaluating a PRD. Reading a PRD or a mock without seeing the current product produces tickets that misjudge the change — this skill grounds the analysis in what actually exists today. Invoke this skill from notion-to-tracker (Phase 2b live-product walkthrough), jira-create, and any PRD intake flow whose work touches existing user-facing surfaces."
|
|
4
4
|
allowed-tools: ["Skill", "Bash", "Read", "mcp__plugin_playwright_playwright__browser_navigate", "mcp__plugin_playwright_playwright__browser_snapshot", "mcp__plugin_playwright_playwright__browser_take_screenshot", "mcp__plugin_playwright_playwright__browser_click", "mcp__plugin_playwright_playwright__browser_type", "mcp__plugin_playwright_playwright__browser_select_option", "mcp__plugin_playwright_playwright__browser_fill_form", "mcp__plugin_playwright_playwright__browser_press_key", "mcp__plugin_playwright_playwright__browser_hover", "mcp__plugin_playwright_playwright__browser_navigate_back", "mcp__plugin_playwright_playwright__browser_resize", "mcp__plugin_playwright_playwright__browser_tabs", "mcp__plugin_playwright_playwright__browser_console_messages", "mcp__plugin_playwright_playwright__browser_network_requests", "mcp__plugin_playwright_playwright__browser_wait_for", "mcp__plugin_playwright_playwright__browser_close"]
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -24,10 +24,9 @@ Based on the source, load the full spec:
|
|
|
24
24
|
| Source | How to Load |
|
|
25
25
|
|--------|-------------|
|
|
26
26
|
| Plan file (`.md`) | `Read` the file |
|
|
27
|
-
| JIRA key | Invoke `/jira-read-ticket
|
|
27
|
+
| JIRA key or GitHub issue ref | Invoke `/tracker-read <ref>` (vendor-neutral; dispatches to `/jira-read-ticket` or `/github-read-issue` per `.lisa.config.json` `tracker`) to get the full context bundle (primary ticket + epic / parent + linked tickets) |
|
|
28
28
|
| Linear key | Fetch via Linear MCP if available; else `Bash` with Linear CLI; else report "Linear reader unavailable" |
|
|
29
|
-
|
|
|
30
|
-
| PRD | `Read` the file or fetch via Notion MCP if it's a Notion URL |
|
|
29
|
+
| PRD | `Read` the file or fetch via Notion / Confluence MCP, or `gh issue view` for a GitHub PRD |
|
|
31
30
|
|
|
32
31
|
## Phase 2 — Extract Requirements
|
|
33
32
|
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ticket-triage
|
|
3
|
-
description: "Analytical triage gate for JIRA
|
|
3
|
+
description: "Analytical triage gate for tickets in the configured destination tracker (JIRA or GitHub Issues). Detects requirement ambiguities, identifies edge cases from codebase analysis, and plans verification methodology. Posts findings to the ticket and produces a verdict (BLOCKED/PASSED_WITH_FINDINGS/PASSED) that gates whether implementation can proceed. Vendor-neutral: the caller (jira-agent or github-agent) is responsible for fetching the ticket via lisa:tracker-read, running the pre-flight gate via lisa:tracker-verify, and posting findings via the matching vendor comment tool."
|
|
4
4
|
allowed-tools: ["Read", "Glob", "Grep", "Bash"]
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Ticket Triage: $ARGUMENTS
|
|
8
8
|
|
|
9
|
-
Perform analytical triage on the
|
|
9
|
+
Perform analytical triage on the ticket. The caller MUST have run `lisa:tracker-read` (or its vendor-specific underlying skill — `lisa:jira-read-ticket` for JIRA, `lisa:github-read-issue` for GitHub) first and provided the resulting context bundle — which includes the primary ticket, all linked tickets (blocks / is blocked by / relates to / duplicates), parent (Epic in JIRA, parent sub-issue in GitHub), siblings, sub-tasks / sub-issues, and remote PR state. Do not triage from a bare ticket summary — if the bundle is missing link or parent context, stop and instruct the caller to run `/tracker-read` first.
|
|
10
10
|
|
|
11
11
|
Repository name for scoped labels and comment headers: determine via `basename $(git rev-parse --show-toplevel)`.
|
|
12
12
|
|
|
13
13
|
## Phase 0 -- Pre-flight Description Gate
|
|
14
14
|
|
|
15
|
-
Before any analytical work, confirm the ticket carries the content an implementer needs to start. The caller should already have run `lisa:
|
|
15
|
+
Before any analytical work, confirm the ticket carries the content an implementer needs to start. The caller should already have run `lisa:tracker-verify`; this phase consumes its output. If `lisa:tracker-verify` returned `FAIL` for any of the following, emit `BLOCKED` immediately with the missing-requirements list and skip to Phase 6:
|
|
16
16
|
|
|
17
|
-
- Epic parent
|
|
17
|
+
- Parent missing (Epic parent for JIRA non-bug-non-epic; parent sub-issue for GitHub non-bug-non-epic)
|
|
18
18
|
- Description quality failures (no Gherkin acceptance criteria, missing audience sections)
|
|
19
19
|
- Validation Journey missing on a runtime-behavior ticket
|
|
20
20
|
- Target backend environment missing on a runtime-behavior ticket
|
|
21
21
|
- Sign-in credentials missing on a ticket that touches authenticated surfaces
|
|
22
22
|
- Single-repo scope violated (Bug / Task / Sub-task spanning repos)
|
|
23
|
-
- Relationship discovery missing (no links AND no documented git+
|
|
23
|
+
- Relationship discovery missing (no links AND no documented git + tracker-search outcome)
|
|
24
24
|
|
|
25
|
-
The caller (jira-agent) is responsible for transitioning the ticket to `Blocked
|
|
25
|
+
The caller (jira-agent or github-agent) is responsible for transitioning the ticket to `Blocked` (JIRA status) or relabeling to `status:blocked` (GitHub), reassigning to the **Reporter / original author**, and posting a comment listing the missing requirements. This skill only emits the verdict and the missing-requirements list.
|
|
26
26
|
|
|
27
|
-
If `lisa:
|
|
27
|
+
If `lisa:tracker-verify` returned `PASS` for all the above, proceed to Phase 1.
|
|
28
28
|
|
|
29
29
|
## Phase 1 -- Relevance Check
|
|
30
30
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 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 (default: jira) and dispatches to lisa:jira-add-journey or lisa:github-add-journey."
|
|
4
|
+
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Tracker Add Journey: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
Thin dispatcher. Resolves the configured destination tracker and delegates to the matching vendor skill.
|
|
10
|
+
|
|
11
|
+
See the `tracker-resolution` rule for configuration and dispatch table.
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Resolve tracker config (same logic as `lisa:tracker-write`).
|
|
16
|
+
2. Dispatch:
|
|
17
|
+
- `jira` → invoke `lisa:jira-add-journey` with `$ARGUMENTS` verbatim. Arg: a JIRA ticket key.
|
|
18
|
+
- `github` → invoke `lisa:github-add-journey` with `$ARGUMENTS` verbatim. Arg: `org/repo#<number>` or a GitHub issue URL.
|
|
19
|
+
3. Pass through the output.
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
- The Validation Journey content format is identical across both vendors (markdown sections with `[EVIDENCE: name]` markers). The only difference is how the section is appended — JIRA via `editJiraIssue`, GitHub via `gh issue edit --body-file`.
|
|
24
|
+
- If the ticket already has a Validation Journey, the vendor skill reports it and stops. This shim does not retry.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tracker-build-intake
|
|
3
|
+
description: "Vendor-neutral wrapper for the build-queue batch scanner. Reads `tracker` from .lisa.config.json (default: jira) and dispatches to lisa:jira-build-intake (JQL/project-key queue) or lisa:github-build-intake (GitHub repo queue keyed off the `status:ready` label). Counterpart to lisa:intake's PRD-side dispatchers."
|
|
4
|
+
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Tracker Build Intake: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
Thin dispatcher. Resolves the configured destination tracker and delegates to the matching vendor build-queue scanner.
|
|
10
|
+
|
|
11
|
+
See the `tracker-resolution` rule for configuration and dispatch table.
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Resolve tracker config (same logic as `lisa:tracker-write`).
|
|
16
|
+
2. Dispatch:
|
|
17
|
+
- `jira` → invoke `lisa:jira-build-intake` with `$ARGUMENTS` verbatim. Arg shape: a JIRA project key (e.g., `SE`) or a JQL filter.
|
|
18
|
+
- `github` → invoke `lisa:github-build-intake` with `$ARGUMENTS` verbatim. Arg shape: a GitHub `org/repo` token or a full GitHub repo URL.
|
|
19
|
+
3. Pass through the cycle summary verbatim.
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
- Single cycle per invocation — the vendor skill processes the current `Ready` set and exits.
|
|
24
|
+
- The vendor skills run their own pre-flight checks (JIRA workflow transitions for the JIRA path; label namespace adoption for the GitHub path) before processing items. Never bypass.
|
|
25
|
+
- Never run two intake cycles concurrently against overlapping queues — the scheduling layer is responsible for serialization.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tracker-create
|
|
3
|
+
description: "Vendor-neutral wrapper for creating tickets/issues from code files or descriptions. Reads `tracker` from .lisa.config.json (default: jira) and dispatches to lisa:jira-create or lisa:github-create. Plans hierarchy structure (epic / story / sub-task), then delegates each individual write through the tracker-write shim."
|
|
4
|
+
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Tracker Create: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
Thin dispatcher. Resolves the configured destination tracker and delegates to the matching vendor planning skill.
|
|
10
|
+
|
|
11
|
+
See the `tracker-resolution` rule for configuration and dispatch table.
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Resolve tracker config (same logic as `lisa:tracker-write`).
|
|
16
|
+
2. Dispatch:
|
|
17
|
+
- `jira` → invoke `lisa:jira-create` with `$ARGUMENTS` verbatim.
|
|
18
|
+
- `github` → invoke `lisa:github-create` with `$ARGUMENTS` verbatim.
|
|
19
|
+
3. Pass through the output.
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
- Both vendor skills delegate every individual ticket write through `lisa:tracker-write`. They never call vendor-specific write tools directly.
|
|
24
|
+
- This shim is for ad-hoc creation from code files / descriptions. PRD-driven creation goes through the `*-to-tracker` skills (notion / confluence / linear / github).
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tracker-evidence
|
|
3
|
+
description: "Vendor-neutral wrapper for posting verification evidence. Reads `tracker` from .lisa.config.json (default: jira) and dispatches to lisa:jira-evidence or lisa:github-evidence. Uploads evidence to the GitHub `pr-assets` release, updates the PR description, posts a comment on the originating ticket/issue, and transitions the ticket/issue to its post-build review state."
|
|
4
|
+
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Tracker Evidence: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
Thin dispatcher. Resolves the configured destination tracker and delegates to the matching vendor evidence skill.
|
|
10
|
+
|
|
11
|
+
See the `tracker-resolution` rule for configuration and dispatch table.
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Resolve tracker config (same logic as `lisa:tracker-write`).
|
|
16
|
+
2. Dispatch:
|
|
17
|
+
- `jira` → invoke `lisa:jira-evidence` with `$ARGUMENTS` verbatim. Arg shape: `<TICKET_ID> <EVIDENCE_DIR> <PR_NUMBER>`.
|
|
18
|
+
- `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.
|
|
19
|
+
3. Pass through the vendor skill's output.
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
- The GitHub `pr-assets` release lives on the implementation repo (the one with the PR), regardless of which tracker hosts the ticket/issue. Both vendor skills upload there.
|
|
24
|
+
- Never post evidence to a different ticket than the one named — `$ARGUMENTS` is the source of truth.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tracker-journey
|
|
3
|
+
description: "Vendor-neutral wrapper for executing a ticket/issue's Validation Journey end-to-end. Reads `tracker` from .lisa.config.json (default: jira) and dispatches to lisa:jira-journey or lisa:github-journey. Parses the journey, satisfies prerequisites, executes the steps, captures evidence at each marker, and posts results via tracker-evidence."
|
|
4
|
+
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Tracker Journey: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
Thin dispatcher. Resolves the configured destination tracker and delegates to the matching vendor journey skill.
|
|
10
|
+
|
|
11
|
+
See the `tracker-resolution` rule for configuration and dispatch table.
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Resolve tracker config (same logic as `lisa:tracker-write`).
|
|
16
|
+
2. Dispatch:
|
|
17
|
+
- `jira` → invoke `lisa:jira-journey` with `$ARGUMENTS` verbatim. Arg shape: `<TICKET_ID> [PR_NUMBER]`.
|
|
18
|
+
- `github` → invoke `lisa:github-journey` with `$ARGUMENTS` verbatim. Arg shape: `<ISSUE_REF> [PR_NUMBER]`.
|
|
19
|
+
3. Pass through the output.
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
- The journey content is identical across vendors; only the parser source differs (the JIRA vendor reads description via Atlassian MCP; the GitHub vendor reads body via `gh issue view --json body`).
|
|
24
|
+
- Evidence posting always goes through `lisa:tracker-evidence` — never bypass.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 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 (default: jira) and dispatches to lisa:jira-read-ticket or lisa:github-read-issue. Returns a consolidated context bundle so downstream agents never act on a single ticket in isolation."
|
|
4
|
+
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Tracker Read: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
Thin dispatcher. Resolves the configured destination tracker and delegates to the matching vendor read skill.
|
|
10
|
+
|
|
11
|
+
See the `tracker-resolution` rule for configuration and dispatch table.
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Resolve tracker config (same logic as `lisa:tracker-write`).
|
|
16
|
+
2. Dispatch:
|
|
17
|
+
- `jira` → invoke `lisa:jira-read-ticket` with `$ARGUMENTS` verbatim. The argument is a JIRA key (e.g., `PROJ-123`).
|
|
18
|
+
- `github` → invoke `lisa:github-read-issue` with `$ARGUMENTS` verbatim. The argument is `org/repo#<number>` or a full GitHub issue URL.
|
|
19
|
+
3. Return the vendor skill's context bundle verbatim.
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
- Read-only — never modify the ticket/issue.
|
|
24
|
+
- The two vendors emit different context-bundle formats (because their data models differ). Callers must be tolerant of both — or, more precisely, agents at the next layer (e.g. `tracker-agent`-equivalent) parse the per-vendor bundle.
|
|
25
|
+
- If the input format doesn't match the configured tracker (e.g. tracker is jira but `$ARGUMENTS` looks like a GitHub URL), stop and report — never auto-translate.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tracker-sync
|
|
3
|
+
description: "Vendor-neutral wrapper for posting milestone updates to the linked ticket/issue. Reads `tracker` from .lisa.config.json (default: jira) and dispatches to lisa:jira-sync or lisa:github-sync. Posts at: plan created, implementation in progress, PR ready, PR merged. Suggests (never auto-transitions) the next status."
|
|
4
|
+
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Tracker Sync: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
Thin dispatcher. Resolves the configured destination tracker and delegates to the matching vendor sync skill.
|
|
10
|
+
|
|
11
|
+
See the `tracker-resolution` rule for configuration and dispatch table.
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Resolve tracker config (same logic as `lisa:tracker-write`).
|
|
16
|
+
2. Dispatch:
|
|
17
|
+
- `jira` → invoke `lisa:jira-sync` with `$ARGUMENTS` verbatim.
|
|
18
|
+
- `github` → invoke `lisa:github-sync` with `$ARGUMENTS` verbatim.
|
|
19
|
+
3. Pass through the output.
|
|
20
|
+
|
|
21
|
+
If `$ARGUMENTS` is empty, both vendor skills auto-detect a ticket reference from the active plan file (most recently modified `.md` in `plans/`).
|
|
22
|
+
|
|
23
|
+
## Rules
|
|
24
|
+
|
|
25
|
+
- Idempotent updates — running sync at the same milestone twice should not produce duplicate comments. Vendor skills enforce this.
|
|
26
|
+
- Never auto-transition status. Suggestions only.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tracker-validate
|
|
3
|
+
description: "Vendor-neutral wrapper for the pre-write quality gate. Reads `tracker` from .lisa.config.json (default: jira) and dispatches to lisa:jira-validate-ticket or lisa:github-validate-issue. Read-only — never writes to either 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
|
+
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Tracker Validate: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
Thin dispatcher. Resolves the configured destination tracker and delegates to the matching vendor validator.
|
|
10
|
+
|
|
11
|
+
See the `tracker-resolution` rule for the full configuration schema and skill-mapping table.
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. **Resolve tracker config** (same logic as `lisa:tracker-write` Step 1):
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
tracker=$(jq -r '.tracker // "jira"' .lisa.config.local.json 2>/dev/null \
|
|
19
|
+
|| jq -r '.tracker // "jira"' .lisa.config.json 2>/dev/null \
|
|
20
|
+
|| echo "jira")
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
2. **Dispatch**
|
|
24
|
+
|
|
25
|
+
- `jira` → invoke `lisa:jira-validate-ticket` with `$ARGUMENTS` verbatim.
|
|
26
|
+
- `github` → invoke `lisa:github-validate-issue` with `$ARGUMENTS` verbatim.
|
|
27
|
+
- Anything else → stop and report `"Unknown tracker '<value>' in .lisa.config.json."`
|
|
28
|
+
|
|
29
|
+
3. **Pass through the validator's structured report unchanged.** Callers (e.g. `lisa:jira-write-ticket` Phase 5.5) parse the gate lines; do not paraphrase.
|
|
30
|
+
|
|
31
|
+
## Rules
|
|
32
|
+
|
|
33
|
+
- Read-only — never write to either tracker.
|
|
34
|
+
- Never re-implement gate logic here. The gate definitions are the vendor validator's responsibility.
|
|
35
|
+
- Never silently transform the input — pass `$ARGUMENTS` through verbatim.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tracker-verify
|
|
3
|
+
description: "Vendor-neutral wrapper for the post-write verification gate. Reads `tracker` from .lisa.config.json (default: jira) and dispatches to lisa:jira-verify or lisa:github-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
|
+
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Tracker Verify: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
Thin dispatcher. Resolves the configured destination tracker and delegates to the matching vendor post-write verifier.
|
|
10
|
+
|
|
11
|
+
See the `tracker-resolution` rule for configuration and dispatch table.
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Resolve tracker config (same logic as `lisa:tracker-write`).
|
|
16
|
+
2. Dispatch:
|
|
17
|
+
- `jira` → invoke `lisa:jira-verify` with `$ARGUMENTS` verbatim.
|
|
18
|
+
- `github` → invoke `lisa:github-verify` with `$ARGUMENTS` verbatim.
|
|
19
|
+
3. Pass through the verifier's structured report unchanged.
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
- Read-only.
|
|
24
|
+
- The same gates run pre-write and post-write — this shim simply chooses the vendor implementation.
|
|
25
|
+
- If the vendor verify reports `FAIL`, callers must NOT auto-fix from this layer. Surface the failures to the caller and let the higher-level skill decide.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tracker-write
|
|
3
|
+
description: "Vendor-neutral wrapper for ticket creation and updates. Reads `tracker` from .lisa.config.json (default: jira) and dispatches to lisa:jira-write-ticket or lisa:github-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
|
+
allowed-tools: ["Skill", "Bash", "Read"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Tracker Write: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
Thin dispatcher. Resolves the configured destination tracker and delegates to the matching vendor write skill.
|
|
10
|
+
|
|
11
|
+
See the `tracker-resolution` rule for the full configuration schema and skill-mapping table.
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. **Resolve tracker config**
|
|
16
|
+
|
|
17
|
+
Read `.lisa.config.local.json` first (if present), then `.lisa.config.json`. Local overrides global on a per-key basis. Use `jq` — never hand-parse JSON.
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
tracker=$(jq -r '.tracker // "jira"' .lisa.config.local.json 2>/dev/null \
|
|
21
|
+
|| jq -r '.tracker // "jira"' .lisa.config.json 2>/dev/null \
|
|
22
|
+
|| echo "jira")
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
2. **Validate the value**
|
|
26
|
+
|
|
27
|
+
- `jira` → continue to Step 3a.
|
|
28
|
+
- `github` → continue to Step 3b. Also 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."`
|
|
29
|
+
- Any other value → stop and report: `"Unknown tracker '<value>' in .lisa.config.json. Expected 'jira' or 'github'."`
|
|
30
|
+
|
|
31
|
+
3. **Dispatch**
|
|
32
|
+
|
|
33
|
+
- **3a (jira):** Invoke `lisa:jira-write-ticket` via the Skill tool, passing `$ARGUMENTS` verbatim.
|
|
34
|
+
- **3b (github):** Invoke `lisa:github-write-issue` via the Skill tool, passing `$ARGUMENTS` verbatim.
|
|
35
|
+
|
|
36
|
+
4. **Surface the vendor skill's output unchanged.** Do not paraphrase; downstream callers parse the structured response.
|
|
37
|
+
|
|
38
|
+
## Rules
|
|
39
|
+
|
|
40
|
+
- Never bypass dispatch — calling the vendor skill directly from a vendor-neutral caller defeats the per-project switch.
|
|
41
|
+
- Never invent a third tracker.
|
|
42
|
+
- Never mutate `$ARGUMENTS` between layers. The vendor skills define their own input contract.
|
|
43
|
+
- Never inline gate logic here. All validation rules live in the vendor skills (`lisa:jira-validate-ticket` / `lisa:github-validate-issue`); this skill only routes.
|
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: verification-lifecycle
|
|
3
|
-
description: "Verification lifecycle: confirm quality gates, classify types, discover tools, fail fast, plan, execute, loop. Quality gates (tests/typecheck/lint) are prerequisites, NOT verification. Verification means running the actual system and observing results."
|
|
3
|
+
description: "Verification lifecycle: confirm quality gates, classify types, discover tools, fail fast, plan, execute, codify (turn each passing verification into a regression test), spec conformance (verify shipped work matches the spec), loop. Quality gates (tests/typecheck/lint) are prerequisites, NOT verification. Verification means running the actual system and observing results."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Verification Lifecycle
|
|
7
7
|
|
|
8
|
-
This skill defines the complete verification lifecycle that agents must follow for every change: confirm quality gates, classify, check tooling, fail fast, plan, execute, and loop.
|
|
8
|
+
This skill defines the complete verification lifecycle that agents must follow for every change: confirm quality gates, classify, check tooling, fail fast, plan, execute, codify (turn each passing verification into a regression test), spec conformance (verify shipped work matches the spec), and loop.
|
|
9
9
|
|
|
10
10
|
## Verification Lifecycle
|
|
11
11
|
|
|
12
12
|
Agents must follow this mandatory sequence for every change:
|
|
13
13
|
|
|
14
|
+
1. Confirm Quality Gates
|
|
15
|
+
2. Classify
|
|
16
|
+
3. Check Tooling
|
|
17
|
+
4. Fail Fast (if blocked)
|
|
18
|
+
5. Plan
|
|
19
|
+
6. Execute
|
|
20
|
+
7. Codify (turn each passing verification into a regression test)
|
|
21
|
+
8. Spec Conformance
|
|
22
|
+
9. Loop
|
|
23
|
+
|
|
14
24
|
### 1. Confirm Quality Gates
|
|
15
25
|
|
|
16
26
|
Confirm that quality gates (tests, typecheck, lint, format) pass. These are prerequisites, NOT verification. Do not count them as verification — they are enforced automatically by hooks and CI. If quality gates fail, fix them before proceeding.
|
|
@@ -42,7 +52,17 @@ A verification plan that only lists `bun run test`, `bun run typecheck`, or `bun
|
|
|
42
52
|
|
|
43
53
|
After implementation, run the verification plan. Execute each verification type in order.
|
|
44
54
|
|
|
45
|
-
### 7.
|
|
55
|
+
### 7. Codify
|
|
56
|
+
|
|
57
|
+
After each empirical verification produces PASS evidence, invoke the `codify-verification` skill to encode the verification as an automated regression test. The manual proof becomes a repeatable check that catches future regressions.
|
|
58
|
+
|
|
59
|
+
The `codify-verification` skill maps the verification type to the appropriate framework (Playwright for browser/UI, integration test for API/DB/auth, benchmark for performance, etc.), generates a deterministic test that asserts the same observable outcome the verification just confirmed, runs it in isolation to confirm PASS, and commits it in the same PR as the change.
|
|
60
|
+
|
|
61
|
+
Codification is mandatory for every empirical verification type with one exception set: PR, Documentation, Deploy, and Investigate-Only spikes — those have inherently non-behavioral proof. For every other type, skipping codification is not allowed; if codification is genuinely impossible (e.g., the test framework does not exist and cannot be installed in scope), escalate via the Escalation Protocol rather than silently skipping.
|
|
62
|
+
|
|
63
|
+
A change is not "verified" in the lifecycle sense until each empirical verification has both passed AND been codified.
|
|
64
|
+
|
|
65
|
+
### 8. Spec Conformance
|
|
46
66
|
|
|
47
67
|
After empirical verification produces evidence, run spec conformance as a separate, mandatory step. Invoke the `spec-conformance` skill (or delegate to the `spec-conformance-specialist` agent) with the spec source — plan file, JIRA/Linear/GitHub key, or PRD.
|
|
48
68
|
|
|
@@ -56,9 +76,9 @@ Required outputs:
|
|
|
56
76
|
|
|
57
77
|
`PARTIAL` or `DIVERGES` blocks completion. Fix the gaps (implement the miss, remove the creep, capture the missing evidence) and re-run both empirical verification AND spec conformance. Never skip this step — it catches failures that empirical verification by itself does not, such as a feature that works but wasn't asked for, or a spec item that was quietly dropped.
|
|
58
78
|
|
|
59
|
-
###
|
|
79
|
+
### 9. Loop
|
|
60
80
|
|
|
61
|
-
If any verification or spec-conformance check fails, fix the issue and re-verify. Do not declare done until all required types pass AND the spec-conformance verdict is `CONFORMS`. If a verification or conformance check is stuck after 3 attempts, escalate.
|
|
81
|
+
If any verification, codification, or spec-conformance check fails, fix the issue and re-verify. Do not declare done until all required types pass, all empirical verifications are codified, AND the spec-conformance verdict is `CONFORMS`. If a verification, codification, or conformance check is stuck after 3 attempts, escalate.
|
|
62
82
|
|
|
63
83
|
---
|
|
64
84
|
|
|
@@ -194,9 +214,10 @@ Agents must follow this sequence unless explicitly instructed otherwise:
|
|
|
194
214
|
8. Implement the change.
|
|
195
215
|
9. Execute verification plan — run the actual system and observe results.
|
|
196
216
|
10. Collect proof artifacts.
|
|
197
|
-
11.
|
|
198
|
-
12.
|
|
199
|
-
13.
|
|
217
|
+
11. Codify — for each passing empirical verification, invoke `codify-verification` to encode it as a regression test (Playwright for UI, integration test for API/DB/auth, benchmark for performance, etc.) and commit the test in the same PR.
|
|
218
|
+
12. Run spec conformance — build coverage matrix against the spec source (plan/ticket/issue), flag scope creep and untraceable changes, produce verdict.
|
|
219
|
+
13. Summarize what changed, what was verified, what was codified, conformance verdict, and remaining risk.
|
|
220
|
+
14. Label the result with a verification level.
|
|
200
221
|
|
|
201
222
|
---
|
|
202
223
|
|
|
@@ -305,9 +326,10 @@ A task is done only when:
|
|
|
305
326
|
|
|
306
327
|
- End user is identified
|
|
307
328
|
- All applicable verification types are classified and executed
|
|
308
|
-
- Verification lifecycle is completed (classify, check tooling, plan, execute, spec conformance, loop)
|
|
329
|
+
- Verification lifecycle is completed (classify, check tooling, plan, execute, codify, spec conformance, loop)
|
|
309
330
|
- Required verification surfaces and tooling surfaces are used or explicitly unavailable
|
|
310
331
|
- Proof artifacts are captured
|
|
332
|
+
- Every passing empirical verification is codified as a regression test (or has an explicit, documented skip reason from the allowed set)
|
|
311
333
|
- Spec conformance verdict is `CONFORMS` (not `PARTIAL`, not `DIVERGES`)
|
|
312
334
|
- Verification level is declared
|
|
313
335
|
- Risks and gaps are documented
|
|
@@ -18,12 +18,13 @@ If you ARE already inside an agent team (e.g., a teammate invoked this skill via
|
|
|
18
18
|
|
|
19
19
|
Execute the **Verify** flow as defined in the `intent-routing` rule (loaded via the lisa plugin). The flow includes:
|
|
20
20
|
|
|
21
|
-
1. **
|
|
22
|
-
2. **
|
|
23
|
-
3. **
|
|
24
|
-
4. **
|
|
25
|
-
5. **
|
|
26
|
-
6. **
|
|
21
|
+
1. **Pre-flight: codification gate** — confirm that every passing local empirical verification on this branch was codified as a regression test (the Implement flow's codify step). If any verification has no committed test and no allowed skip reason (PR / Documentation / Deploy / Investigate-Only), invoke `codify-verification` now and amend the PR before shipping. A change cannot ship until its verifications are guarded.
|
|
22
|
+
2. **Commit** any pending changes via `lisa:git-commit`
|
|
23
|
+
3. **Push and PR** via `lisa:git-submit-pr`
|
|
24
|
+
4. **Review loop** — handle CodeRabbit / human review comments via `lisa:pull-request-review`
|
|
25
|
+
5. **Merge** when CI is green
|
|
26
|
+
6. **Remote verification** — invoke the `lisa:monitor` skill against the target environment to confirm the deploy actually works (health endpoints, recent logs/errors, Validation Journey replay if defined). If remote verification surfaces a behavioral gap that the existing codified tests do not guard, invoke `codify-verification` to add coverage and open a follow-up PR.
|
|
27
|
+
7. **Evidence** — post results to the originating ticket via `lisa:tracker-evidence` (vendor-neutral; dispatches to `lisa:jira-evidence` or `lisa:github-evidence` per `.lisa.config.json` `tracker`), including the list of codified tests added on this branch.
|
|
27
28
|
|
|
28
29
|
The rule contains the canonical step sequence. Change it there, propagate everywhere.
|
|
29
30
|
|
|
@@ -8,7 +8,7 @@ allowed-tools: ["Skill", "mcp__atlassian__getJiraIssue", "mcp__atlassian__getAcc
|
|
|
8
8
|
|
|
9
9
|
Verify that the existing JIRA ticket `$ARGUMENTS` meets organizational standards. This skill is a thin post-write wrapper around `lisa:jira-validate-ticket`: it fetches the live ticket and asks `lisa:jira-validate-ticket` to run the gates against the fetched state.
|
|
10
10
|
|
|
11
|
-
This indirection exists so the gate definitions live in exactly one place (`lisa:jira-validate-ticket`). When the bar changes, change it there — `lisa:jira-verify`, `lisa:jira-write-ticket` (Phase 5.5 pre-write), and `lisa:notion-to-
|
|
11
|
+
This indirection exists so the gate definitions live in exactly one place (`lisa:jira-validate-ticket`). When the bar changes, change it there — `lisa:jira-verify`, `lisa:jira-write-ticket` (Phase 5.5 pre-write), and `lisa:notion-to-tracker` (PRD dry-run) all pick it up.
|
|
12
12
|
|
|
13
13
|
## Process
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@ allowed-tools: ["Skill", "mcp__atlassian__getJiraIssue", "mcp__atlassian__getAcc
|
|
|
8
8
|
|
|
9
9
|
Verify that the existing JIRA ticket `$ARGUMENTS` meets organizational standards. This skill is a thin post-write wrapper around `lisa:jira-validate-ticket`: it fetches the live ticket and asks `lisa:jira-validate-ticket` to run the gates against the fetched state.
|
|
10
10
|
|
|
11
|
-
This indirection exists so the gate definitions live in exactly one place (`lisa:jira-validate-ticket`). When the bar changes, change it there — `lisa:jira-verify`, `lisa:jira-write-ticket` (Phase 5.5 pre-write), and `lisa:notion-to-
|
|
11
|
+
This indirection exists so the gate definitions live in exactly one place (`lisa:jira-validate-ticket`). When the bar changes, change it there — `lisa:jira-verify`, `lisa:jira-write-ticket` (Phase 5.5 pre-write), and `lisa:notion-to-tracker` (PRD dry-run) all pick it up.
|
|
12
12
|
|
|
13
13
|
## Process
|
|
14
14
|
|
|
@@ -35,6 +35,12 @@
|
|
|
35
35
|
"hooks": [
|
|
36
36
|
{ "type": "command", "command": "command -v entire >/dev/null 2>&1 && entire hooks claude-code pre-task || true" }
|
|
37
37
|
]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"matcher": "Bash",
|
|
41
|
+
"hooks": [
|
|
42
|
+
{ "type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/hooks/block-no-verify.sh" }
|
|
43
|
+
]
|
|
38
44
|
}
|
|
39
45
|
],
|
|
40
46
|
"Stop": [
|
|
@@ -3,11 +3,11 @@ name: confluence-prd-intake
|
|
|
3
3
|
description: PRD intake agent for Confluence-hosted PRDs. Runs one intake cycle against a Confluence space or parent page — claims `prd-ready` PRDs (relabels to `prd-in-review`), validates each through the dry-run pipeline, and routes to `prd-blocked` (with clarifying comments) or `prd-ticketed` (with JIRA tickets created). Confluence counterpart of `notion-prd-intake`. Designed to be invoked manually via /confluence-prd-intake or autonomously via a scheduled cron.
|
|
4
4
|
skills:
|
|
5
5
|
- confluence-prd-intake
|
|
6
|
-
- confluence-to-
|
|
7
|
-
-
|
|
6
|
+
- confluence-to-tracker
|
|
7
|
+
- tracker-validate
|
|
8
8
|
- jira-source-artifacts
|
|
9
9
|
- product-walkthrough
|
|
10
|
-
-
|
|
10
|
+
- tracker-write
|
|
11
11
|
- prd-ticket-coverage
|
|
12
12
|
---
|
|
13
13
|
|
|
@@ -57,7 +57,7 @@ If all PRDs ended in `prd-ticketed` with coverage `COMPLETE`, mention that the n
|
|
|
57
57
|
|
|
58
58
|
- **Never run a cycle without an explicit scope.** Side effects are too high to default.
|
|
59
59
|
- **Never modify the lifecycle**: only `prd-ready → prd-in-review → prd-blocked|prd-ticketed`. Never touch `prd-draft` or `prd-shipped`. Never invent new labels.
|
|
60
|
-
- **Never write
|
|
60
|
+
- **Never write destination tickets directly.** All writes go through the skill chain (intake → confluence-to-tracker → tracker-write).
|
|
61
61
|
- **Never edit a PRD's body.** Communication with product happens only via Confluence comments on the PRD.
|
|
62
62
|
- **Never start a second cycle while one is in flight against the same scope.** Serial execution; the scheduling layer is responsible for not double-firing.
|
|
63
|
-
- **Stop and surface failures rather than retry-loop.** If `confluence-to-
|
|
63
|
+
- **Stop and surface failures rather than retry-loop.** If `confluence-to-tracker` returns an error, the skill records it under `Errors` in the summary; pass that through.
|