From runesmith-jira
Report a bug - document it, publish to Confluence, create a Jira ticket. Use when the user says "there's a bug", "something broke", "this isn't working", "found an issue", "report a bug", or describes unexpected behavior. Also triggers on "file a bug", "bug report", or "this is broken".
How this skill is triggered — by the user, by Claude, or both
Slash command
/runesmith-jira:bug-reportThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Document a bug in Confluence and create a tracking ticket in Jira.
Document a bug in Confluence and create a tracking ticket in Jira.
One workflow: capture issue → draft Confluence page → publish → create linked Jira Bug.
lib/atlassian-rest.md - endpointslib/confluence-format.md - markdown→storage conversionlib/credentials.md - authlib/consent.md - trigger phraseslib/tokens.md - {SPACE_ID}, {PROJECT_KEY}lib/comms-check.md - runs firstticket - Jira create flowlib/user-prompts.md - structured-input requirement for any user promptThis skill follows the marketplace-wide user-prompt standard in lib/user-prompts.md. Every user prompt MUST use the host client's structured input UI (single-pick, multi-pick, or text-input form). Never freeform plain-text yes/no questions. The only exception is the consent-trigger gate documented in lib/consent.md, which waits for user-initiated phrases like "make the ticket".
See lib/comms-check.md. Pause for to: user items.
credentials.md).{SPACE_ID} resolved: ATLASSIAN_CONFLUENCE_SPACE_ID from .credentials, then CLAUDE.md, else ask.{PROJECT_KEY} resolved: same order.Use for:
Do not use for:
priority unless ATLASSIAN_BUG_SEVERITY_FIELD setSave markdown draft to /drafts/bugs/<slug>.md with sections: Environment, Steps to Reproduce, Expected, Actual, Root Cause, Status, Linked Ticket (placeholder).
Show draft in chat for review.
Ask: "Publish this bug report to {SPACE_KEY} and create the Jira ticket?"
Wait for trigger phrase per consent.md.
Convert markdown → storage XHTML per confluence-format.md. Then:
POST {ATLASSIAN_API_URL}/wiki/api/v2/pages
Body shape per confluence-format.md. Capture response id and _links.webui for the page URL.
Per ticket skill flow. Description ADF must include a paragraph linking to the Confluence page:
{
"type": "paragraph",
"content": [
{ "type": "text", "text": "Bug report: " },
{ "type": "text", "text": "{page_url}", "marks": [{ "type": "link", "attrs": { "href": "{page_url}" } }] }
]
}
POST {ATLASSIAN_API_URL}/rest/api/3/issue
fields.issuetype.name = "Bug". priority.name mapped from severity.
GET the page to read current version, then PUT with version+1 and the Jira key inserted in the "Linked Ticket" section. See confluence-format.md.
✓ Bug reported
Confluence: {page_url}
Jira: {ATLASSIAN_API_URL}/browse/{KEY}
Confluence 400: Storage XHTML malformed. Validate against confluence-format.md mappings, retry.
Confluence 403: No create permission in space. Abort, do not attempt Jira.
Jira 400 - severity: Severity is custom field. Set ATLASSIAN_BUG_SEVERITY_FIELD or fall back to priority.
Backlink 409: Re-GET page version, retry PUT once.
No consent: Hold drafts, surface "Say 'make the ticket' or 'publish the page' to proceed."
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub runemarklabs/runesmith --plugin runesmith-jira