From cortex
Generates short Jira comments from git commits summarizing shipped features or bug fixes with root cause analysis. Fetches issue details via Atlassian MCP and saves as local markdown report.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cortex:jira-report-commentThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate a short Jira comment (60-100 words) describing what shipped on a ticket, and save it as a local markdown file.
Generate a short Jira comment (60-100 words) describing what shipped on a ticket, and save it as a local markdown file.
Announce at start: "Using the jira-report-comment skill to generate an implementation report."
The reader is a PM, QA engineer, or architect who already has the Jira ticket open. They do not need a recap of the ticket. They need:
Default output:
Verify and Deploy appear only when a Decision Rule in Step 4 is triggered.
Determine the Jira issue key using this priority:
If the user provided an issue key (e.g., "CX-4328"), use it directly.
Otherwise, extract from the current branch name:
git branch --show-current
Find the first match of [A-Z]+-[0-9]+ (e.g., feature/ABC-1234-description yields ABC-1234).
If no key can be determined, ask the user.
Confirm the resolved key before proceeding: "I detected CX-4328 from your branch. Use this issue key?"
After confirming the issue key, reserve the output file. This locks the filename for the session - all writes go to this file.
mkdir -p docs/jira-reports
touch "docs/jira-reports/$(date +%Y-%m-%d-%H%M%S)-<ISSUE_KEY>.md"
Store the full path in conversation context (e.g., docs/jira-reports/2026-03-27-153012-ABC-123.md). If the skill is invoked again in the same session for the same issue, reuse this path - do not create a new file.
Retrieve the issue. Try the Atlassian MCP tool first:
mcp__atlassian__getJiraIssue
issueIdOrKey: "<ISSUE_KEY>"
If the MCP tool is unavailable or fails, ask the user: "Atlassian MCP is not available. Please paste the issue text (title, description, acceptance criteria) or provide an XML export."
Read and note:
This is what the reader already knows. Do not paraphrase, quote, or restate any phrase from these in the comment. Use this content as the reference for what to leave out, not as material for the report.
Find all commits referencing the issue key:
git log --grep="<ISSUE_KEY>" --format="%H %s" --reverse
If no commits found, widen the search:
git log --all --grep="<ISSUE_KEY>" --format="%H %s" --reverse
If still no commits, fall back to diffing the current branch against its base:
git merge-base HEAD main
git diff $(git merge-base HEAD main)..HEAD --stat
git diff $(git merge-base HEAD main)..HEAD
Try main, then master, then develop as the base branch. If no meaningful diff is found, inform the user and stop.
For the aggregate diff across all found commits (first commit's parent to last commit):
git diff <FIRST_COMMIT>^..<LAST_COMMIT> --stat
git diff <FIRST_COMMIT>^..<LAST_COMMIT>
If the first commit is the initial repository commit (no parent), use git diff $(git hash-object -t tree /dev/null)..<LAST_COMMIT> instead.
This shows the net result across all commits, not incremental progress.
If the diff is very large (50+ files), focus on the stat summary and read only the most significant files. Configuration files, test files, and migration files often reveal intent better than implementation details.
For tickets that fix an existing problem, also read commit messages for cause clues. The diff itself shows before-vs-after - that is where root cause lives.
Load the output skeleton:
references/report-template.md - read this now for the structureDefault output:
Add a Root Cause section if the ticket fixes an existing problem - the description mentions broken behavior, an incorrect result, a defect, or a regression. Issue type Bug is a strong but not required signal; some Story or Task tickets also fix problems.
The section explains:
Limit to 1 or 2 bullets, max 25 words each. Derive both from the diff and commit messages, not from the ticket description.
Add a Verify section if AT LEAST ONE is true:
Add a Deploy section if AT LEAST ONE is true:
If neither set of triggers fires: write only the summary. Stop.
references/formatting-rules.md and follow it.Draft in this order:
If Root Cause, Verify, and Deploy are all empty after step 3, the comment is the summary line and nothing else.
BUG-789 "Cancellation email sent twice when a user cancels their subscription"onCancellation handler registration in SubscriptionEvents. The newer onSubscriptionCancelled handler now sends the email alone. Test added covering single-send behavior.Comment:
BUG-789
Cancellation now sends a single confirmation email.
Root Cause
- Two handlers were subscribed to the cancellation event after a partial refactor - the new
onSubscriptionCancelledand the legacyonCancellationwere both firing.- Removed the legacy registration; the new handler is the single source of truth.
The ticket described the symptom; Root Cause explains the underlying duplication. No Verify (the test path matches the ticket); no Deploy (routine code change).
XYZ-456 "Send weekly digest email to active members"weekly_digest_enabled (default off), new env var DIGEST_SENDER_EMAIL.Comment:
XYZ-456
Weekly digest emails now ship every Monday at 9am to active members, skipping accounts with no activity in the last 7 days.
Deploy
- Set
DIGEST_SENDER_EMAILin production before enabling the feature- Toggle
weekly_digest_enabledto on after a smoke test- First scheduled run lands the Monday after deploy
The test path matches what the ticket described, so no Verify section. Deploy fires because of the new env var, the new flag, and the new cron entry.
Write the report content to the reserved file path (overwriting the empty placeholder):
Write tool -> file_path: <RESERVED_FILE_PATH>
content: <REPORT_CONTENT>
Confirm to the user: "Report saved to <RESERVED_FILE_PATH>."
If the user requests changes, revise and overwrite the same file.
If the humanize-text skill is available, run the final report through it before presenting to the user.
references/report-template.md - Output skeleton. Load in Step 4.references/formatting-rules.md - Length and style rules. Load alongside the skeleton in Step 4.npx claudepluginhub alexander-danilenko/cortex-ai-skills --plugin cortexFetches a JIRA issue and distills it into a structured task with acceptance criteria, sprint context, and codebase analysis. Surfaces missing criteria, scope, and risks, and can enrich the JIRA issue with analysis or spawn sub-tickets.
Git and developer workflow integration. TRIGGERS: 'generate branch name', 'create branch name', 'branch name for', 'write PR description', 'PR description for', 'link PR', 'link pull request', 'parse commit', 'extract issue from commit', 'smart commit', 'development panel'. Use for Git, GitHub, GitLab, Bitbucket integration with JIRA. NOT FOR: issue field updates (use jira-issue), searching issues (use jira-search), status transitions (use jira-lifecycle).
Generates structured issue reports for GitHub/GitLab repos with code references, media attachments, and session context. Works for bugs, features, and improvements.