plugins/lisa-cursor/skills/linear-add-journey/SKILL.md
Add a Validation Journey section to an existing Linear Issue by analyzing the change type and generating appropriate verification steps with evidence markers. Linear counterpart of lisa:jira-add-journey.
npx skillsauth add codyswanngt/lisa linear-add-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.
Read an existing Linear Issue, analyze the change type, and append a Validation Journey section to the description with appropriate verification steps based on the project's verification patterns.
This skill is the destination of the lisa:tracker-add-journey shim when tracker = "linear".
Reads linear.workspace, linear.teamKey from .lisa.config.json (with .local override).
$ARGUMENTS: <IDENTIFIER> — Linear Issue identifier (e.g. ENG-123).
Fetch via lisa:linear-access operation: get-issue and extract: title, description (markdown), labels, project, parent, attachments.
If the description already contains a ## Validation Journey section, report and stop — never overwrite an existing journey without explicit instruction.
Examine the description, acceptance criteria, and codebase to determine the change type:
Use Explore agents or read the codebase to understand which files are affected and what verification approach is appropriate.
| Change Type | Verification Approach | |---|---| | API/GraphQL | curl commands verifying endpoints, status codes, response schemas | | Database migration | Migration execution + schema verification + rollback check | | Background job/queue | Enqueue + process + state change verification | | Library/utility | Test execution + build verification + export check | | Security fix | Exploit reproduction pre-fix + exploit failure post-fix | | Auth/authz | Multi-role verification with explicit status codes | | UI/frontend | Playwright browser flow + visual evidence |
Linear descriptions are markdown. Use ## and ### headings — not Jira wiki markup.
## Validation Journey
### Prerequisites
- List required services, database, env vars
### Steps
1. Verify current state before changes
2. Apply the change
3. Verify expected new state [EVIDENCE: state-name]
4. Test error/edge cases [EVIDENCE: error-case]
5. Verify rollback if applicable [EVIDENCE: rollback]
### Assertions
- Describe what must be true after verification
Run \curl -s localhost:3000/health | jq .status`` not "Check the endpoint".api-response, schema-check, rate-limit-hit.{status: ok}" not "API works correctly".[EVIDENCE: name] here is the item's evidence manifest: validation gate S14 requires at least one, and the item cannot be closed until each named artifact is captured and attached (see the "Per-Work-Unit Evidence Contract" in the verification rule). Name only evidence you intend to capture — and name all of it.Display the drafted journey and ask for confirmation before appending.
After approval, fetch the current description, append the new Validation Journey section, and update via lisa:linear-access operation: save-issue({id, description: <new-description>}). Preserve all existing description content — never overwrite.
Re-fetch the issue and confirm the section is present.
lisa:linear-create guidelinestools
Configure the official SonarQube plugin + MCP as Lisa's single Sonar substrate across every supported coding agent. Installs/updates the SonarQube CLI, authenticates (browser login on a dev machine, or SONARQUBE_CLI_TOKEN headless), selects the Test Manager target, runs `sonar integrate <agent>` for each supported agent (Claude, Codex, Cursor, Copilot, Antigravity) and wires the MCP for OpenCode, then writes only non-secret policy to .lisa.config.json. Separate from the CI SonarCloud scan gate, which is unchanged.
tools
Configure the official SonarQube plugin + MCP as Lisa's single Sonar substrate across every supported coding agent. Installs/updates the SonarQube CLI, authenticates (browser login on a dev machine, or SONARQUBE_CLI_TOKEN headless), selects the Test Manager target, runs `sonar integrate <agent>` for each supported agent (Claude, Codex, Cursor, Copilot, Antigravity) and wires the MCP for OpenCode, then writes only non-secret policy to .lisa.config.json. Separate from the CI SonarCloud scan gate, which is unchanged.
tools
Configure the official SonarQube plugin + MCP as Lisa's single Sonar substrate across every supported coding agent. Installs/updates the SonarQube CLI, authenticates (browser login on a dev machine, or SONARQUBE_CLI_TOKEN headless), selects the Test Manager target, runs `sonar integrate <agent>` for each supported agent (Claude, Codex, Cursor, Copilot, Antigravity) and wires the MCP for OpenCode, then writes only non-secret policy to .lisa.config.json. Separate from the CI SonarCloud scan gate, which is unchanged.
tools
Configure the official SonarQube plugin + MCP as Lisa's single Sonar substrate across every supported coding agent. Installs/updates the SonarQube CLI, authenticates (browser login on a dev machine, or SONARQUBE_CLI_TOKEN headless), selects the Test Manager target, runs `sonar integrate <agent>` for each supported agent (Claude, Codex, Cursor, Copilot, Antigravity) and wires the MCP for OpenCode, then writes only non-secret policy to .lisa.config.json. Separate from the CI SonarCloud scan gate, which is unchanged.