Create Jira Ticket
| This documentation was generated with the assistance of AI. Please report any inaccuracies. |
Draft and file a new Jira ticket that is ready to be picked up by the /iru-issue, /iru-plan, /iru-code flow. This
skill only files a ticket; it does not branch, plan, or write code.
Purpose
iru-create-jira-ticket is the Jira counterpart to iru-create-github-issue — same shape, but sourced through connected
Jira MCP tools instead of the gh CLI, and with Jira’s project/issue-type model instead of GitHub labels. It runs
iru-explore for general codebase orientation, asks the user directly for the task’s purpose and any additional
context (linked URLs, attached files/documents, related tickets, and an optional epic — which, if given, is
itself explored for extra context and assigned to the new ticket as its parent/epic link on creation), and
delegates to the iru-jira-custom-context skill for whatever organization-specific context that extension point
has been set up to gather. Provided files/documents aren’t just read for context and summarized: since Jira’s own
REST API has a native attachment endpoint (issue/{key}/attachments) that accepts any file type — unlike
GitHub’s issue API — every file is uploaded straight to the newly created ticket once a connected Jira MCP tool
exposes that capability. If no attachment-capable tool is available, it falls back to `iru-create-github-issue’s
own workaround: small text-based files are embedded inline in the description, and everything else is just
described without being attached. It also asks for the task’s due date (optional) and importance (trivial/minor/
important/blocking — defaulting to minor, or to blocking when the purpose reads as a bug/incident affecting
production). It resolves the target Jira project and issue type against this Jira instance’s actual configuration
rather than inventing one, drafts a summary and a structured description (Summary, Context, Acceptance criteria,
Task details — due date, importance, and an agent-assessed estimated difficulty from very easy to impossible —
References), and always shows the draft for explicit confirmation before filing it. Unlike GitHub, there is no
ubiquitous Jira CLI fallback — this skill stops early if no Jira MCP tool is connected at all.
Inputs
| Argument | Required | Description | Default |
|---|---|---|---|
|
No |
A starting point for the ticket’s purpose. When given, the skill only asks the user for what it leaves unclear (the "why," or what "done" looks like) rather than re-asking from scratch. |
None — if omitted, the skill asks the user directly, in plain conversational text, what the ticket’s purpose is. |
Outputs
-
No repository source/code changes — this skill’s durable side effects are the filed Jira ticket itself and, for every file the connected Jira MCP tooling could actually upload, a real attachment on that ticket.
-
A drafted ticket summary, description (Summary, Context, Acceptance criteria, Task details, References), project, issue type, and — if one was given — the epic it will be assigned to, shown to the user before any action is taken, including the list of files about to be attached. Task details combines the due date/ importance answers with an estimated-difficulty assessment (very easy/easy/medium/hard/very hard/extreme/ impossible, plus a one-line rationale). References carries a placeholder per real attachment (the actual upload happens after creation), or the inline/described fallback content for files handled that way.
-
If the user confirms creation: a new Jira ticket filed via the connected Jira MCP tool(s), with the resolved project, issue type, any matched labels/components, and the epic link/parent field set if an epic was confirmed — followed by one attachment upload per flagged file, each attempted independently so one failure doesn’t block the rest.
-
If the user declines, or edits the draft first: no ticket is filed until they explicitly confirm; the draft itself remains the deliverable.
-
If no Jira MCP tool is connected at all, or ticket creation fails on a required field: the skill stops and surfaces the exact situation rather than guessing or retrying blindly.
-
A final report with the ticket key and URL, a pointer to
/iru-issue <key>or/iru-plan <key>as the next step, and any per-file attachment failures called out explicitly.
Execution flow
Dependencies
Invokes
-
Explore — Step 2 runs
iru-explorewith no argument (general codebase orientation, since there is no ticket yet) so the drafted ticket’s Context section is grounded in the real architecture rather than a vague description. -
Jira Custom Context — Step 4, during additional-context gathering, passing the task’s stated purpose so this extension-point skill can gather whatever organization-specific context it’s been set up to ask for. A "nothing provided" response is never a blocker.
Invoked by
-
Code — Step 7, conditionally: when a project-wide quality check regresses against baseline, the plan being executed originated from a Jira ticket (per its
Source:line), and the user chooses to file the remaining issues as new tickets rather than adding a follow-up task group or accepting them as-is. -
Knowledge to Jira — hands off a synthesized purpose statement, plus the resolved agreement’s meeting transcription/attachments, once a
knowledge/agreement has been resolved and confirmed with the user.
Otherwise iru-create-jira-ticket is a top-level entry point, run directly by a person before a tracked ticket
exists for /iru-issue//iru-plan to pick up.
Source
SKILL.md on GitHub — the file this page was generated from.