用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/CodySwannGT/expostarter --skill lisa-tracker-build-intake命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | lisa-tracker-build-intake |
| description | Vendor-neutral wrapper for the… |
| allowed-tools | ["Skill","Bash","Read"] |
Thin dispatcher. Resolves the configured destination tracker and delegates to the matching vendor build-queue scanner.
See the config-resolution rule for configuration and dispatch table.
The vendor scanners also own the terminal native-closure step from leaf-only-lifecycle: after a leaf reaches the true terminal done value, they close / resolve / complete the native tracker item where supported, while leaving intermediate env states open.
They also forward the narrow duplicate terminal exception from ticket-triage: when a claimed item returns DUPLICATE_ALREADY_FIXED with a canonical item reference and empirical base-branch evidence, the vendor scanner posts the triage finding, ensures a native duplicates <canonical> link where supported, and closes the item as a duplicate without opening a PR. This is distinct from BLOCKED; open blockers, ambiguous tickets, and duplicate-of-open findings stay held for human action.
lisa-tracker-write)."No tracker configured in .lisa.config.json. Run /lisa:setup:jira, /lisa:setup:github, or /lisa:setup:linear first."jira → invoke lisa-jira-build-intake with $ARGUMENTS verbatim. Arg shape: a JIRA project key (e.g., SE) or a JQL filter.github → invoke lisa-github-build-intake with $ARGUMENTS verbatim. Arg shape: a GitHub org/repo token or a full GitHub repo URL.linear → invoke lisa-linear-build-intake with $ARGUMENTS verbatim. Arg shape: a Linear team key (e.g., ENG) or the literal token linear (which falls back to linear.teamKey)."Unknown tracker '<value>' in .lisa.config.json. Expected 'jira', 'github', or 'linear'."This shim is dispatch only — it does not reclassify or re-gate items — but the contract it forwards is part of the build-intake API, so it is documented here once and the three vendor scanners implement it identically. Per the vendor-neutral leaf-only-lifecycle rule, build intake claims only independently implementable leaf work units:
status:ready with status:in-progress and posting an idempotent lifecycle-repair comment; other vendor scanners skip or safe-block according to their native lifecycle semantics.This is the claim-time arm of the rule. Its siblings are the write-time labeling (lisa-tracker-write → the vendor *-write-* skills apply build-ready to leaves only) and the validate-time S15 gate (lisa-tracker-validate → the vendor *-validate-* skills FAIL a build-ready container). All three arms cite leaf-only-lifecycle so no vendor drifts. Each vendor scanner implements the gate against its own hierarchy:
| Tracker | Vendor scanner | Hierarchy used to detect open child work |
|---|---|---|
github | lisa-github-build-intake (Phase 3a) | native sub-issues (GraphQL) + body parentage |
jira | lisa-jira-build-intake (Phase 3a) | native Epic → Story → Sub-task parentage |
linear | lisa-linear-build-intake (Phase 3a) | native sub-issues via parentId + Project grouping |
The shim never needs to inspect the item itself — it forwards $ARGUMENTS verbatim and the resolved vendor scanner runs its Phase 3a gate before any claim.
Equally part of the build-intake API, and forwarded identically: when the tracker oversees multiple repos, each vendor scanner claims only tickets for the repo it is running in. Per the repo-scope-split rule's "Claim-time repo scoping" section, before the leaf-only gate each scanner (Phase 3a.0) resolves the current repo (config-resolution "Repo scoping": repo → github.repo → git remote basename), then for each ready candidate: skips a ticket labeled repo:<other>, determines + stamps repo:<name> on an unlabeled one, splits a multi-repo leaf into single-repo build-ready siblings, and claims only a single-repo leaf for the current repo. This shim does not re-implement the gate — it relies on the vendor scanner's Phase 3a.0 — but the contract is uniform across jira, github, and linear so behavior never drifts by tracker. It is the claim-time complement to the write-time S10 scope gate (lisa-tracker-validate) and task-decomposition step 1.5; all cite repo-scope-split.
This shim also forwards the leaf-only-lifecycle terminal native-closure contract. It does not decide whether a done value is terminal; the vendor scanner resolves that from its own config and deployment topology after the per-item agent succeeds.
| Tracker | Vendor scanner behavior at true terminal done |
|---|---|
github | apply the terminal done label, then gh issue close --reason completed |
jira | transition to the configured terminal status and verify native resolved / closed state |
linear | apply the terminal done label, then move the Issue to the configured completed workflow state |
Intermediate env states are not native closure. A vendor scanner that resolves On Dev, On Stg, status:on-dev, status:on-stg, or a configured equivalent leaves the item open / unresolved.
DUPLICATE_ALREADY_FIXED is the only triage verdict that may close a claimed build item without a PR from the current cycle. The vendor scanner must require:
Vendor closeout behavior:
| Tracker | Duplicate closeout |
|---|---|
github | apply terminal $DONE, ensure/link duplicates <canonical> where available, then gh issue close --reason "not planned" |
jira | transition to terminal $DONE with resolution Duplicate and ensure the native duplicates link |
linear | apply terminal $DONE, ensure/link duplicate relationship where available, then move to the configured canceled-as-duplicate or terminal duplicate state |
If the canonical fix is merged but not yet on the production branch, the close comment must preserve the production-promotion caveat: the production error can recur until the canonical item promotes, and recurrence is tracked by the canonical item rather than by reopening this duplicate.
Ready item and exits. Scheduler repetition works the rest of the queue.leaf-only-lifecycle rule, each vendor scanner dispatches leaf work units only and moves or safe-blocks a container (open child work, or a childless Epic) carrying a stale build-ready role according to its lifecycle semantics. This shim does not re-implement the gate — it relies on the vendor scanner's Phase 3a — but the contract is uniform across jira, github, and linear so behavior never drifts by tracker.done value. This shim never performs native closure itself, but callers can rely on the dispatched vendor scanner to apply the contract.DUPLICATE_ALREADY_FIXED with canonical reference and empirical base-branch evidence. Do not conflate this with BLOCKED.