Files
2026-09-19 22:25:20 +02:00

33 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Issue tracker: Linear
Issues and specs for this repository live in the {{WORKSPACE_NAME}} Linear workspace, under the `{{TEAM_NAME}}` team (`{{TEAM_KEY}}`){{PROJECT_SENTENCE}}. Use the authenticated official Linear MCP server for all operations. Do not infer the tracker from the Git remote.
## Conventions
- Create and update issues with `save_issue`; use team `{{TEAM_NAME}}`{{PROJECT_ARGUMENT}} and state `{{OPEN_STATE}}` unless another state is explicitly required.
- Read one issue with `get_issue`, including relations when blockers matter. Read its discussion with `list_comments`.
- List issues with `list_issues`, scoped to team `{{TEAM_NAME}}`{{PROJECT_ARGUMENT}}.
- Add resolution or progress comments with `save_comment`.
- Apply labels with `save_issue`; create missing Wayfinder labels with `save_issue_label`, scoped to the `{{TEAM_NAME}}` team.
- Treat state `{{DONE_STATE}}` as closed/resolved and `{{CANCELED_STATE}}` as ruled out of scope. Other states are open.
- In human-facing text, refer to an issue by its linked title, not only its identifier.
## When a skill says “publish to the issue tracker”
Create a Linear issue in team `{{TEAM_NAME}}`{{PROJECT_ARGUMENT}}.
## When a skill says “fetch the relevant ticket”
Resolve its URL, UUID, identifier, or title with `get_issue`; include comments or relations when the workflow needs them.
## Wayfinding operations
- **Map:** a `{{OPEN_STATE}}` issue labelled `wayfinder:map`, containing Destination, Notes, Decisions so far, Not yet specified, and Out of scope.
- **Child ticket:** a `{{OPEN_STATE}}` sub-issue whose `parentId` is the map. Apply exactly one type label: `wayfinder:research`, `wayfinder:prototype`, `wayfinder:grilling`, or `wayfinder:task`.
- **Blocking:** use Linear’s native issue relation by adding blocker identifiers through `blockedBy`. Never encode a blocker only in prose.
- **Frontier:** list the map’s children, exclude completed and canceled states, exclude assigned issues, then inspect relations and exclude issues with an open blocker. Choose the earliest-created remaining child.
- **Claim:** assign the ticket to `me` with `save_issue` before any investigation or discussion. Assignment alone is the claim.
- **Resolve:** add the answer with `save_comment`, set the ticket to `{{DONE_STATE}}`, then add a one-line linked gist to the map’s Decisions-so-far section with an atomic description patch.
- **Rule out of scope:** comment with the scope reason, set the ticket to `{{CANCELED_STATE}}`, and add a linked one-line gist under the map’s Out of scope section. Do not add it to Decisions so far.
- **Labels:** maintain team-scoped labels `wayfinder:map`, `wayfinder:research`, `wayfinder:prototype`, `wayfinder:grilling`, and `wayfinder:task`.