plugins/lisa-copilot/skills/linear-journey/SKILL.md
Parse a Linear Issue's Validation Journey section, execute the verification steps using appropriate tools (curl, test commands, database queries, Playwright), capture evidence at each [EVIDENCE: name] marker, and post to Linear + GitHub PR using the linear-evidence skill. Linear counterpart of lisa:jira-journey.
npx skillsauth add codyswanngt/lisa linear-journeyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Parse a Linear Issue's Validation Journey, execute the verification steps using the appropriate tools for the change type, capture evidence at each [EVIDENCE: name] marker, and post to Linear + GitHub PR.
This skill is the destination of the lisa:tracker-journey shim when tracker = "linear".
Reads linear.workspace, linear.teamKey from .lisa.config.json (with .local override).
$ARGUMENTS: <IDENTIFIER> [PR_NUMBER]
IDENTIFIER (required): Linear Issue identifier (e.g. ENG-123)PR_NUMBER (optional): GitHub PR number to update descriptiongh CLI authenticatedFetch the Issue via mcp__linear-server__get_issue and extract the ## Validation Journey section from the markdown description. Parse:
### Prerequisites — list of required services / env / setup### Steps — numbered steps, each potentially containing [EVIDENCE: name] markers### Assertions — what must be true after verificationIf the section is missing or has no steps, report "No Validation Journey on <IDENTIFIER>. Run /linear-add-journey first." and stop.
Before executing steps, verify each prerequisite:
Stop and report if any prerequisite is not satisfied.
Execute each step sequentially. Determine the verification approach based on the step text and change type:
evidence/NN-name.txt (or .json for structured data)At each [EVIDENCE: name] marker, capture stdout / stderr to a numbered file:
{NN}-{evidence-name}.{ext}
NN: zero-padded sequential number (01, 02, 03...)evidence-name: the value from [EVIDENCE: name]ext: .txt for plain output, .json for structured dataExample:
evidence/
01-health-check.json
02-schema-after-migration.txt
03-rate-limit-response.txt
comment.txt
code-blocks.md
After capturing all evidence, build:
evidence/comment.txt — human-readable summary of the verification (Linear comment body, markdown-supported)evidence/code-blocks.md — fenced code blocks containing the captured evidence outputs (appended below comment.txt inside a <details> block)Invoke lisa:linear-evidence with <IDENTIFIER> ./evidence to:
pr-assets release (if files present in evidence/files/).comment.txt + collapsible code-blocks.md).status:in-progress, add status:code-review.Confirm:
status:* label transitioned to code-review.Use patterns from the project's verification.md:
| Change Type | Verification Method | Evidence Format |
|---|---|---|
| API endpoint | curl -s localhost:PORT/endpoint | JSON response |
| Database migration | psql -c "\d table" or migration output | Schema text |
| Background job | Trigger + check state | Log output |
| Library / utility | bun run test -- path/to/test | Test output |
| Security fix | Reproduce + verify fix | Request / response |
| Auth/authz | Multi-role verification | Status codes per role |
| UI / frontend | Playwright browser_* MCP tools | Screenshot + DOM |
Ensure the command succeeded and produced output. Use 2>&1 to capture both stdout and stderr.
The Issue may not have a Validation Journey section. Run /linear-add-journey <IDENTIFIER> to add one.
Ensure status:in-progress and status:code-review exist on the team. lisa:linear-evidence creates them on demand if missing.
development
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
development
Guidelines for upgrading Expo SDK versions and fixing dependency issues
development
Use when implementing or debugging ANY network request, API call, or data fetching. Covers fetch API, React Query, SWR, error handling, caching, offline support, and Expo Router data loaders (`useLoaderData`).
tools
`@expo/ui/swift-ui` package lets you use SwiftUI Views and modifiers in your app.