jira-ticket
Use when creating or drafting DLS (Lumen team) Jira tickets: a bug, a task, or an epic broken down from a tab of the Lumen scope spreadsheet. Holds the DLS project conventions (title prefix, issue typ
SKILL.md.claude/skills/jira-ticket/SKILL.md
GitHubJira ticket (DLS)
Project DLS, board 3464:
https://ledgerhq.atlassian.net/jira/software/c/projects/DLS/boards/3464/backlog.
Use the Atlassian MCP.
Title
<prefix> <Component>: <what>, e.g. [M][D] Table: add show-more row.
| Prefix | Scope |
|---|---|
[D] |
Desktop/web: libs/ui-react |
[M] |
Mobile: libs/ui-rnative |
[M][D] |
Both platforms |
| none | Tech task or other (tokens, tooling, CI, docs) |
The prefix order is always [M][D], with no colon. Epics use [LUMEN] <name>.
Type, epic, labels
- Type:
Bugfor something broken,Taskfor everything else,Epicfor a project scope. - Epic (parent): the project epic if there is one. Otherwise the current
PI bucket: Bug →
[LUMEN] Run <PI>, no prefix →[LUMEN] Tech tasks <PI>,[D]/[M]→[LUMEN] functional tasks <PI>. Bucket epics for several PIs stay open at once, so status doesn't tell the current one: take the PI of the bucket epics that the last two weeks' tickets were filed under (project = DLS AND created >= -14d, read their parent), and show it in the draft so the user confirms it. - Labels:
tech_DLS, plusLUMEN_TO_REFINEunless the ticket is ready to be picked up. - Epics also set Dream Team (
customfield_10332) = Lumen Team. - Leave sprint and priority empty unless the user gives them. Assign the
ticket to the user when they'll work on it: the
open-prlookup below only finds tickets assigned to them.
Body
Use the template for the type in references/templates.md. Fill what you know, delete the sections that don't apply, and never invent repro steps or acceptance criteria. Ask instead.
From the scope spreadsheet
One bottom tab = one project scope. Ask for the sheet link and tab if they aren't given; read it with the Google Sheets or Drive MCP. Create one Epic for the tab, then go through its rows (one row = one component).
Column positions vary between tabs, so find them by header name. The dev
columns that matter are Lumen - React ([D]) and Lumen - React Native
([M]); Lumen - Figma is design work and never makes a dev ticket. Each
cell holds a status:
Only cells marked To Create get a ticket (<Component>: create). Every
other status (Available, Update Needed, Out of Scope, To Discuss, Ticket
Created) gets none; list To Discuss rows in the draft as open questions.
When both dev columns are To Create, create one [M][D] task, or split it into
[D] and [M] tasks when the platforms ship separately. Put the Comment
column and any Figma or Jira design-ticket link in the task's Context.
Once the tickets exist, write back to the sheet with the Google Sheets MCP
(update_values): set each cell that produced a ticket to Ticket Created,
and put the ticket key in the tab's Ticket column when it has one. Re-read each
cell first and only change it if it still says To Create. Without write access,
skip this step.
Create
Creating tickets is visible to the whole team: show the drafts (title, type, epic, labels, body) and create only after the user confirms. For a spreadsheet breakdown, confirm the whole list once. Reply with the keys and links.
Current sprint lookup
For "which ticket is this?" (used by the open-pr skill):
project = DLS AND sprint in openSprints() AND assignee = currentUser() ORDER BY updated DESC.