@codyswann/lisa 2.132.3 → 2.132.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/skills/git-submit-pr/SKILL.md +14 -0
- package/plugins/lisa/skills/github-sync/SKILL.md +12 -0
- package/plugins/lisa/skills/implement/SKILL.md +3 -1
- package/plugins/lisa/skills/jira-sync/SKILL.md +12 -0
- package/plugins/lisa/skills/linear-sync/SKILL.md +12 -0
- package/plugins/lisa/skills/tracker-sync/SKILL.md +13 -1
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/git-submit-pr/SKILL.md +14 -0
- package/plugins/lisa-agy/skills/github-sync/SKILL.md +12 -0
- package/plugins/lisa-agy/skills/implement/SKILL.md +3 -1
- package/plugins/lisa-agy/skills/jira-sync/SKILL.md +12 -0
- package/plugins/lisa-agy/skills/linear-sync/SKILL.md +12 -0
- package/plugins/lisa-agy/skills/tracker-sync/SKILL.md +13 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/skills/git-submit-pr/SKILL.md +14 -0
- package/plugins/lisa-copilot/skills/github-sync/SKILL.md +12 -0
- package/plugins/lisa-copilot/skills/implement/SKILL.md +3 -1
- package/plugins/lisa-copilot/skills/jira-sync/SKILL.md +12 -0
- package/plugins/lisa-copilot/skills/linear-sync/SKILL.md +12 -0
- package/plugins/lisa-copilot/skills/tracker-sync/SKILL.md +13 -1
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/skills/git-submit-pr/SKILL.md +14 -0
- package/plugins/lisa-cursor/skills/github-sync/SKILL.md +12 -0
- package/plugins/lisa-cursor/skills/implement/SKILL.md +3 -1
- package/plugins/lisa-cursor/skills/jira-sync/SKILL.md +12 -0
- package/plugins/lisa-cursor/skills/linear-sync/SKILL.md +12 -0
- package/plugins/lisa-cursor/skills/tracker-sync/SKILL.md +13 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-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/skills/git-submit-pr/SKILL.md +14 -0
- package/plugins/src/base/skills/github-sync/SKILL.md +12 -0
- package/plugins/src/base/skills/implement/SKILL.md +3 -1
- package/plugins/src/base/skills/jira-sync/SKILL.md +12 -0
- package/plugins/src/base/skills/linear-sync/SKILL.md +12 -0
- package/plugins/src/base/skills/tracker-sync/SKILL.md +13 -1
|
@@ -71,6 +71,7 @@ When the request came from a tracker work item, preserve its native identifier f
|
|
|
71
71
|
- Capture `tracker_provider` and `work_item_ref` from the resolved input before creating or reusing a branch. Examples: `github` + `CodySwannGT/lisa#614`, `linear` + `ENG-123`, `jira` + `ENG-123`.
|
|
72
72
|
- If a new branch is needed and the provider can link branches by identifier, include the identifier in the branch name before the human-readable slug. Linear and JIRA integrations commonly link from branch names; GitHub issue linkage is PR-body driven, but including the issue number in the branch name is still useful. Keep branch names URL-safe, for example `codex/ENG-123-add-checkout-copy` or `codex/614-add-checkout-copy`.
|
|
73
73
|
- Pass the work-item ref and target branch to `lisa:git-submit-pr` when opening or updating the PR, for example `work_item_ref=CodySwannGT/lisa#614 target_branch=<base resolved from the ticket's environment above>` (not hardcoded `main`). The PR workflow owns provider-specific body text and must decide whether to use a closing keyword or a non-closing reference.
|
|
74
|
+
- After `lisa:git-submit-pr` returns a PR URL, ensure the reverse backlink is present on the source work item by running `lisa:tracker-sync <work_item_ref> pr-ready pr_url=<url> tracker_provider=<provider>`. The sync path must prefer native provider linkage and fall back to one managed `[lisa-pr-link]` comment when native linkage is unavailable or cannot be verified.
|
|
74
75
|
- If the provider has no native branch or PR development-linkage surface, continue without linkage and mention that the provider was skipped.
|
|
75
76
|
|
|
76
77
|
Using the general-purpose agent in Team Lead session, Determine which flow applies:
|
|
@@ -159,8 +160,9 @@ Before shutting down the team, execute the Verify flow:
|
|
|
159
160
|
5. Commit ALL outstanding changes in logical batches on the branch (minus sensitive data/information) — not just changes made by the agent team. This includes pre-existing uncommitted changes that were on the branch before the plan started. Do NOT filter commits to only "task-related" files. If it shows up in git status, it gets committed (unless it contains secrets).
|
|
160
161
|
6. Push the changes - if any pre-push hook blocks you, create a task for the agent team to fix the error/problem whether it was pre-existing or not
|
|
161
162
|
7. Open a pull request with auto-merge on via `lisa:git-submit-pr`, targeting the **base branch resolved from the ticket's environment** (`target_branch=<base>`, per the branch step above), and including the work-item ref when one exists so the PR can be linked natively to the source issue.
|
|
163
|
+
7a. Confirm two-way linkage before treating PR submission as complete: the PR body/title/branch must reference the work item, and the work item must have either a verified native PR link or a single managed `[lisa-pr-link]` fallback comment from `lisa:tracker-sync`.
|
|
162
164
|
8. PR Watch Loop: Monitor the PR using `git-submit-pr`'s drive-to-merge behavior. Create a task for the agent team to resolve any code review comments by either implementing the suggestions or commenting why they should not be implemented and close the comment. Fix any failing checks and repush. If the PR is `BEHIND`, blocked by stale review state, or cannot enable auto-merge, follow the harness-agnostic `git-submit-pr` re-sync, review-gate, and direct-merge fallback loop until the PR is actually merged or a blocking failure is surfaced.
|
|
163
|
-
9. Merge the PR
|
|
165
|
+
9. Merge the PR, then refresh the ticket-side backlink with `lisa:tracker-sync <work_item_ref> pr-merged pr_url=<url> merge_sha=<sha> tracker_provider=<provider>` when a work item exists.
|
|
164
166
|
10. Monitor the deploy action that triggers automatically from the successful merge
|
|
165
167
|
11. If deploy fails, create a task for the agent team to fix the failure, open a new PR and then go back to step 7
|
|
166
168
|
12. Remote verification: `verification-specialist` verifies in target environment (same checks as local verification, but on remote), and refreshes the verdict (step 2a) to reflect the remote result.
|
|
@@ -12,6 +12,8 @@ Sync current plan progress to JIRA ticket: $ARGUMENTS
|
|
|
12
12
|
|
|
13
13
|
If no argument provided, search for a ticket URL in the active plan file (most recently modified `.md` in `plans/`).
|
|
14
14
|
|
|
15
|
+
Optional arguments include `pr_url=<url>` for the live pull request and `merge_sha=<sha>` once merged.
|
|
16
|
+
|
|
15
17
|
## Workflow
|
|
16
18
|
|
|
17
19
|
### Step 1: Identify Ticket and Context
|
|
@@ -48,6 +50,16 @@ Before adding a comment, check for an existing milestone comment to avoid duplic
|
|
|
48
50
|
- Add PR link to a custom field or comment
|
|
49
51
|
5. **Report** what was synced to the user
|
|
50
52
|
|
|
53
|
+
### Step 3b: Ensure PR Backlink
|
|
54
|
+
|
|
55
|
+
When `$ARGUMENTS` includes `pr_url=<url>` for `PR ready` or `PR merged`, ensure the JIRA ticket has a durable ticket -> PR link:
|
|
56
|
+
|
|
57
|
+
1. Prefer the JIRA development-link surface when the site's GitHub/JIRA integration or remote-link API is available through `lisa:atlassian-access`; verify by re-reading the ticket's remote links / development metadata.
|
|
58
|
+
2. If native linkage is unavailable, unconfigured, cross-system, or cannot be verified, create or update a single managed JIRA comment containing the PR URL. The comment must start with `[lisa-pr-link]` and include the milestone (`pr-ready` or `pr-merged`) and merge SHA when available.
|
|
59
|
+
3. Keep the fallback idempotent: read existing comments, find the `[lisa-pr-link]` comment for the same PR URL, and update/skip it instead of appending duplicates. If the current access layer cannot update comments in place, skip when an identical managed comment already exists and otherwise add exactly one replacement comment with the stable marker.
|
|
60
|
+
|
|
61
|
+
The PR body/branch issue key is the PR -> ticket side. This step is the required ticket -> PR side.
|
|
62
|
+
|
|
51
63
|
### Step 4: Suggest Status Transition
|
|
52
64
|
|
|
53
65
|
Based on the milestone, suggest (but don't automatically perform) a status transition:
|
|
@@ -31,6 +31,7 @@ This skill **suggests** transitions but does not auto-transition the native Line
|
|
|
31
31
|
|
|
32
32
|
- `<IDENTIFIER>` is the Linear Issue identifier (e.g. `ENG-123`). If not provided, the skill searches the active plan file for a linked Linear Issue.
|
|
33
33
|
- `<milestone>` is one of `plan-created`, `implementation-in-progress`, `pr-ready`, `pr-merged`.
|
|
34
|
+
- Optional tokens include `pr_url=<url>` for the live pull request and `merge_sha=<sha>` once merged.
|
|
34
35
|
|
|
35
36
|
## Phase 1 — Resolve Issue
|
|
36
37
|
|
|
@@ -66,6 +67,16 @@ Next: implementation begins. Suggested status: **Todo** (label: `status:ready`).
|
|
|
66
67
|
|
|
67
68
|
Call `mcp__linear-server__save_comment({issueId: <id>, body: <comment>})`.
|
|
68
69
|
|
|
70
|
+
## Phase 3b — Ensure PR Backlink
|
|
71
|
+
|
|
72
|
+
When `$ARGUMENTS` includes `pr_url=<url>` for `pr-ready` or `pr-merged`, ensure the Linear Issue has a durable ticket -> PR link:
|
|
73
|
+
|
|
74
|
+
1. Prefer Linear's native GitHub attachment / pull request link when the integration has attached the PR through the branch name, PR title, or PR body issue identifier. Verify by re-reading the Issue and its attachments / relations where the Linear access layer exposes them.
|
|
75
|
+
2. If native linkage is unavailable, unconfigured, cross-system, or cannot be verified, create or update a single managed Linear comment containing the PR URL. The comment must start with `[lisa-pr-link]` and include the milestone (`pr-ready` or `pr-merged`) and merge SHA when available.
|
|
76
|
+
3. Keep the fallback idempotent: read existing comments where the access layer exposes them, find the `[lisa-pr-link]` comment for the same PR URL, and update/skip it instead of appending duplicates. If comment update is unavailable, skip when an identical managed comment already exists and otherwise add exactly one replacement comment with the stable marker.
|
|
77
|
+
|
|
78
|
+
The PR branch/title/body identifier is the PR -> Linear side. This phase is the required Linear -> PR side.
|
|
79
|
+
|
|
69
80
|
## Phase 4 — Update Status Label (when caller requests)
|
|
70
81
|
|
|
71
82
|
If the caller passes `--update-label`, update the `status:*` label set via `mcp__linear-server__save_issue`:
|
|
@@ -113,3 +124,4 @@ When the caller passes `--rollup`, this skill **derives a parent/container's `st
|
|
|
113
124
|
- Never post empty or minimal comments — if a milestone has no meaningful content, skip the post.
|
|
114
125
|
- Do not delete prior milestone comments. They are the audit trail.
|
|
115
126
|
- If `save_comment` fails, retry once. If it fails again, surface the error.
|
|
127
|
+
- Pull request backlinks are mandatory when `pr_url=<url>` is present: native first, managed-comment fallback, never silently dropped.
|
|
@@ -20,7 +20,7 @@ See the `config-resolution` rule for configuration and dispatch table.
|
|
|
20
20
|
- Anything else → stop and report `"Unknown tracker '<value>' in .lisa.config.json. Expected 'jira', 'github', or 'linear'."`
|
|
21
21
|
3. Pass through the output.
|
|
22
22
|
|
|
23
|
-
`$ARGUMENTS` is forwarded verbatim, including the optional `--rollup` flag (see "Parent status rollup" below)
|
|
23
|
+
`$ARGUMENTS` is forwarded verbatim, including the optional `--rollup` flag (see "Parent status rollup" below), `--update-label`, `pr_url=<url>`, and `merge_sha=<sha>`. The shim never interprets these — the vendor skill does.
|
|
24
24
|
|
|
25
25
|
If `$ARGUMENTS` is empty, all vendor skills auto-detect a ticket reference from the active plan file (most recently modified `.md` in `plans/`).
|
|
26
26
|
|
|
@@ -45,8 +45,20 @@ The state machine (first match wins, evaluated over the **required** leaves only
|
|
|
45
45
|
|
|
46
46
|
**Safe-by-default when not yet supported.** A vendor sync path that has not implemented native rollup MUST be a documented no-op that surfaces the derived state as a suggestion/comment rather than guessing a transition — never an unsafe default. Without `--rollup`, the sync skills behave exactly as before (milestone comment on the work item; no parent derivation).
|
|
47
47
|
|
|
48
|
+
## Pull request backlinking
|
|
49
|
+
|
|
50
|
+
When `$ARGUMENTS` includes `pr_url=<url>` with milestone `pr-ready` or `pr-merged`, the dispatch target must ensure ticket -> PR linkage, not just post a generic progress note:
|
|
51
|
+
|
|
52
|
+
1. Prefer the provider's native development-link primitive when Lisa can write and verify it for that provider.
|
|
53
|
+
2. Verify the native link using the provider read surface when available.
|
|
54
|
+
3. If the native link is unavailable, unconfigured, cross-system, or cannot be verified, create or update one managed backlink comment on the work item containing the PR URL and current milestone.
|
|
55
|
+
4. Keep the comment idempotent by using a stable marker such as `[lisa-pr-link]`; reruns update or skip the existing managed comment rather than appending duplicates.
|
|
56
|
+
|
|
57
|
+
This is the reverse half of `lisa:git-submit-pr`'s PR body linkage. A PR that mentions a ticket is not considered fully synced until the ticket also has either a verified native PR link or the managed fallback comment.
|
|
58
|
+
|
|
48
59
|
## Rules
|
|
49
60
|
|
|
50
61
|
- Idempotent updates — running sync at the same milestone twice should not produce duplicate comments. Vendor skills enforce this.
|
|
51
62
|
- Never auto-transition the underlying state. Linear's label-based transition (`status:*`) is the canonical signal and is updated only when the caller passes `--update-label`. Native states stay as suggestions.
|
|
52
63
|
- Parent rollup derives state from children per the `leaf-only-lifecycle` rule; it never sets a parent to `ready` and never resolves a dev/staging `done` in this single-environment repo.
|
|
64
|
+
- Pull request backlinks are mandatory when `pr_url=<url>` is present: native first, managed-comment fallback, never silently dropped.
|