Skip to content
This repository was archived by the owner on Oct 27, 2025. It is now read-only.

Conversation

@mcarlson
Copy link

@mcarlson mcarlson commented Oct 17, 2025

Summary

Skill for creating Jira issues and Bitbucket pull requests using the jira CLI tool (go-jira). Provides complete workflow from setup through issue creation and PR linking.

Key Features

  • Initial jira CLI setup and authentication
  • Creating issues from YAML templates
  • NEW: Search for existing issues before creating duplicates
  • NEW: Reuse issues across repositories
  • Complete workflow: Issue → Branch → Code → PR
  • Auto-linking between Jira and Bitbucket
  • Jira wiki markup reference
  • Common mistakes and troubleshooting

Recent Updates

Version 1.3.0 - Issue Reuse Across Repositories

Added guidance for checking existing issues and reusing them across repos:

Search before creating:

  • Added "Check for Existing Issues First" section
  • Search commands: jira ls --query "text ~ 'keywords'"
  • View commands to verify issue fits

When to reuse vs create:

  • Reuse: Same work across repos, related PRs, follow-up work
  • Create: Different goals, different tracking needs

New linking keywords:

  • Closes ET-1234 - First/only PR
  • Relates to ET-1234 - Additional PRs without closing

Real-world example:

  • Shows ET-8772 reuse pattern across multiple repos
  • Prevents duplication like ET-8772 and ET-8773 for same work

Result: Reduces issue clutter, better organization, single source of truth for related work across repositories.

Version 1.2.0 - Elements of Style Improvements

Applied writing principles from The Elements of Style to make the skill more concise and scannable:

Omit needless words:

  • "Set up jira CLI and create issues" → "Create issues and PRs with jira CLI"
  • "Use the jira CLI tool" → "Use jira CLI"
  • "describing the work to be done" → "describing the work"

Use active voice:

  • Changed section headers to imperative form
  • "Creating Issues with Templates" → "Create Issues with Templates"

Result: ~5% reduction in wordiness while maintaining all essential information. Skill is now more direct and easier to scan.

Testing

  • Tested with real-world security validation work (ET-8765)
  • Documented actual workflow that saved 5-10 minutes vs manual web UI
  • Verified auto-linking between Jira issues and Bitbucket PRs
  • Includes troubleshooting for common authentication and template issues
  • NEW: Tested issue search and reuse workflow across repos

Context

Many teams use Bitbucket + Jira together but lack CLI automation for issue creation and linking. This skill provides:

  • Fast issue creation without leaving terminal
  • NEW: Issue deduplication through search-first workflow
  • Proper branch naming conventions for auto-linking
  • PR title/description formats that trigger Jira integration
  • Complete troubleshooting for common setup issues

Addresses gap in existing skills which focus on GitHub workflows (gh CLI) but don't cover Jira/Bitbucket integrations.

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive new guide for the Jira → Bitbucket workflow covering setup, authentication, and configuration.
    • Includes templates and step‑by‑step instructions for creating issues, naming branches, and drafting standardized pull requests.
    • Describes automatic linking between issues and PRs, verification steps, troubleshooting tips, real‑world examples, and common mistakes with corrective commands.

Max Carlson added 2 commits October 16, 2025 14:02
- Complete workflow from code commit to issue creation to PR
- Includes jira CLI setup instructions
- YAML template examples
- Jira wiki markup reference
- Common mistakes and troubleshooting
- Real-world example from security validation work
Key changes:
- Workflow now follows: Issue → Branch → Code → PR
- Branch names must start with issue key (ET-1234-description)
- PR titles must be prefixed with issue key (ET-1234: Title)
- Added common mistakes for missing prefixes
- Updated real-world example to match correct workflow
- Version bump to 1.1.0

This ensures proper traceability and automatic linking between
Jira issues, git branches, and Bitbucket pull requests.
@coderabbitai
Copy link

coderabbitai bot commented Oct 17, 2025

Walkthrough

Adds a new SKILL.md documenting a step-by-step Jira issue and Bitbucket PR workflow using the jira CLI, covering setup, authentication, templates, branch naming, PR creation/linking, verification, troubleshooting, and an end-to-end example.

Changes

Cohort / File(s) Change Summary
Documentation
skills/collaboration/creating-jira-issues-and-prs/SKILL.md
Added new SKILL.md that documents a complete Jira issue → Bitbucket PR workflow via the jira CLI: one-time setup and auth, configuration, templates (including Jira wiki markup), branch naming conventions, PR formatting/creation, auto-linking guidance, verification steps, troubleshooting, and an end-to-end example.

Sequence Diagram(s)

sequenceDiagram
  participant Dev as Developer
  participant CLI as jira CLI
  participant Jira as Jira
  participant Git as Git / Bitbucket

  rect rgba(200,230,255,0.4)
    Dev->>CLI: configure & authenticate
    Dev->>CLI: create issue (select template)
    CLI->>Jira: POST /issue (fields + wiki markup)
    Jira-->>CLI: returns issue key (e.g., PROJ-123)
    CLI-->>Dev: display issue key
  end

  rect rgba(220,255,220,0.4)
    Dev->>Git: create branch with issue key
    Dev->>Git: commit & push
    Dev->>CLI: create PR linking issue
    CLI->>Git: create PR (include issue key in title/body)
    Git->>Jira: auto-link via webhook / smart commits
    Jira-->>Dev: update issue with PR link/status
  end
Loading

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

I nibble keys and hop with cheer,
I stitch the ticket to the branch so near.
From template start to PR's bright beam,
I link the threads, a dev's small dream.
Hop—merge—celebrate! 🐰

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title "Add Jira Issues and Bitbucket PRs skill" directly and accurately reflects the primary change in the pull request: the addition of a comprehensive SKILL.md documentation file for creating Jira issues and Bitbucket pull requests using the jira CLI. The title is concise (7 words), free from noise or vague terminology, and specific enough that a teammate reviewing the repository history would immediately understand what was added. The title clearly summarizes the main objective without being misleading or off-topic.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cdcd624 and fc41862.

📒 Files selected for processing (1)
  • skills/collaboration/creating-jira-issues-and-prs/SKILL.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
skills/collaboration/creating-jira-issues-and-prs/SKILL.md

[grammar] ~19-~19: There might be a mistake here.
Context: ...complete and committed to git - Need to create Jira issue to track the work - Need to ...

(QB_NEW_EN)


[grammar] ~20-~20: There might be a mistake here.
Context: ... Jira issue to track the work - Need to open Bitbucket PR for code review - First ti...

(QB_NEW_EN)


[grammar] ~23-~23: There might be a mistake here.
Context: ... setup instructions) Do NOT use when: - Using GitHub (this is for Bitbucket/Jira...

(QB_NEW_EN)


[grammar] ~24-~24: There might be a mistake here.
Context: ...b (this is for Bitbucket/Jira workflows) - Issue already exists (just link to exist...

(QB_NEW_EN)


[grammar] ~29-~29: There might be a mistake here.
Context: ... ## Quick Reference | Task | Command | |------|---------| | Install jira CLI | ...

(QB_NEW_EN)


[grammar] ~30-~30: There might be a mistake here.
Context: ...e | Task | Command | |------|---------| | Install jira CLI | `brew install go-ji...

(QB_NEW_EN)


[grammar] ~31-~31: There might be a mistake here.
Context: ...tall jira CLI | brew install go-jira | | Check auth | jira session | | Create...

(QB_NEW_EN)


[grammar] ~32-~32: There might be a mistake here.
Context: ...-jira| | Check auth |jira session| | Create issue |jira create --noedit -...

(QB_NEW_EN)


[grammar] ~33-~33: There might be a mistake here.
Context: ...jira create --noedit -t template-name| | List issues |jira ls --query "projec...

(QB_NEW_EN)


[grammar] ~34-~34: There might be a mistake here.
Context: ...ues | jira ls --query "project = XX" | | View issue | jira view ISSUE-123 | ...

(QB_NEW_EN)


[grammar] ~142-~142: There might be a mistake here.
Context: ...low: Issue → Branch → Code → PR ### 1. Create Jira Issue First Prepare issue templat...

(QB_NEW_EN)


[grammar] ~144-~144: There might be a mistake here.
Context: ...template describing the work to be done: - Summary of planned changes - Security im...

(QB_NEW_EN)


[grammar] ~145-~145: There might be a mistake here.
Context: ...to be done: - Summary of planned changes - Security impact / priority - Expected fi...

(QB_NEW_EN)


[grammar] ~146-~146: There might be a mistake here.
Context: ...ned changes - Security impact / priority - Expected files to modify - Testing appro...

(QB_NEW_EN)


[grammar] ~147-~147: There might be a mistake here.
Context: ...ct / priority - Expected files to modify - Testing approach ```bash export JIRA_AP...

(QB_NEW_EN)


[grammar] ~168-~168: There might be a mistake here.
Context: ...ription ``` Branch naming pattern: ISSUE-KEY-brief-description - Example: `ET-8765-input-validation-secur...

(QB_NEW_EN)


[grammar] ~169-~169: There might be a mistake here.
Context: ...ISSUE-KEY-brief-description- Example:ET-8765-input-validation-security-fixes` - Lowercase with hyphens - Keep descriptio...

(QB_NEW_EN)


[grammar] ~170-~170: There might be a mistake here.
Context: ...security-fixes` - Lowercase with hyphens - Keep description concise but meaningful ...

(QB_NEW_EN)


[grammar] ~184-~184: There might be a mistake here.
Context: ...eate Bitbucket PR PR Title Format: ET-1234: Description of changes - Always prefix with issue key and colon...

(QB_NEW_EN)


[grammar] ~207-~207: There might be a mistake here.
Context: ...Commit:* commit-hash ``` Create PR: 1. Via URL: `https://bitbucket.org/org/repo...

(QB_NEW_EN)


[grammar] ~208-~208: There might be a mistake here.
Context: ...it-hash ``` Create PR: 1. Via URL: https://bitbucket.org/org/repo/pull-requests/new?source=ET-1234-branch-name&dest=develop&t=1 2. Or via Bitbucket web UI **Auto-linking:...

(QB_NEW_EN)


[grammar] ~211-~211: There might be a mistake here.
Context: ...1234, or Resolves ET-1234` at the top of PR description ### 5. Verify Auto-Link...

(QB_NEW_EN)


[grammar] ~215-~215: There might be a mistake here.
Context: ... ### 5. Verify Auto-Linking Check that: - PR shows in Jira issue's "Development" s...

(QB_NEW_EN)


[grammar] ~217-~217: There might be a mistake here.
Context: ...evelopment" section - Issue key appears as link in PR - Status transitions work (i...

(QB_NEW_EN)


[grammar] ~263-~263: There might be a mistake here.
Context: ...tle with ISSUE-KEY: format - ✅ Good: ET-8765: Add comprehensive input validation - ❌ Bad: `Add comprehensive input validati...

(QB_NEW_EN)


[grammar] ~270-~270: There might be a mistake here.
Context: ... breaking traceability Fix: Always create branch starting with issue key: ```bash...

(QB_NEW_EN)


[grammar] ~270-~270: There might be a mistake here.
Context: ... Fix: Always create branch starting with issue key: ```bash git checkout -b ET-1...

(QB_NEW_EN)


[grammar] ~308-~308: There might be a mistake here.
Context: ...work: 1. Created Jira issue first: jira create --noedit -t create-security-issue - Result: ET-8765 created 2. **Created fea...

(QB_NEW_EN)


[grammar] ~309-~309: There might be a mistake here.
Context: ...rity-issue - Result: ET-8765 created 2. **Created feature branch:**git checkout ...

(QB_NEW_EN)


[grammar] ~310-~310: There might be a mistake here.
Context: ... created 2. Created feature branch: git checkout -b ET-8765-input-validation-security-fixes 3. Made changes: Modified 9 files with in...

(QB_NEW_EN)


[grammar] ~311-~311: There might be a mistake here.
Context: ...fied 9 files with input validation fixes 4. Committed and pushed: git commit and...

(QB_NEW_EN)


[grammar] ~312-~312: There might be a mistake here.
Context: ...ommitted and pushed:** git commit and git push -u origin ET-8765-input-validation-security-fixes 5. Created PR with proper format: - Ti...

(QB_NEW_EN)


[grammar] ~313-~313: There might be a mistake here.
Context: ...xes5. **Created PR with proper format:** - Title:ET-8765: Add comprehensive input...

(QB_NEW_EN)


[grammar] ~314-~314: There might be a mistake here.
Context: ...ed PR with proper format:** - Title: ET-8765: Add comprehensive input validation to all public endpoints - Description started with: `**Closes ET-8...

(QB_NEW_EN)


[grammar] ~315-~315: There might be a mistake here.
Context: ...dpoints - Description started with:Closes ET-8765` - Auto-linked to Jira issue 6. Result:...

(QB_NEW_EN)


[grammar] ~316-~316: There might be a mistake here.
Context: ...T-8765**` - Auto-linked to Jira issue 6. Result: Full traceability from issue →...

(QB_NEW_EN)


[grammar] ~319-~319: There might be a mistake here.
Context: ...nutes vs manual issue creation in web UI Bonus: Automatic linking between Jir...

(QB_NEW_EN)


[grammar] ~320-~320: There might be a mistake here.
Context: ...matic linking between Jira and Bitbucket

(QB_NEW_EN)

🪛 markdownlint-cli2 (0.18.1)
skills/collaboration/creating-jira-issues-and-prs/SKILL.md

63-63: Bare URL used

(MD034, no-bare-urls)


124-124: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


262-262: Spaces inside code span elements

(MD038, no-space-in-code)

🔇 Additional comments (1)
skills/collaboration/creating-jira-issues-and-prs/SKILL.md (1)

1-320: Comprehensive and well-structured skill documentation.

The guide provides clear, actionable instructions for Jira/Bitbucket integration. The real-world example and troubleshooting sections are particularly valuable. Once the three minor formatting issues above are addressed, this is ready for merge.

mcarlson and others added 2 commits October 17, 2025 13:51
- Wrap bare URL in markdown link syntax
- Add language specifier to fenced code block
- Remove spaces inside code span element

Addresses review feedback from PR obra#23
mcarlson and others added 5 commits October 17, 2025 13:56
Fix markdown formatting issues from CodeRabbit review
Applied writing improvements from The Elements of Style to make the skill
more concise, direct, and easier to scan.

Changes:
- Omit needless words: Removed redundant qualifiers and phrases
- Use active voice: Changed section headers to imperative form
- Maintain parallel structure: Consistent verb forms throughout
- Keep related words together: Improved phrase clarity

Specific improvements:
- "Set up jira CLI and create issues" → "Create issues and PRs with jira CLI"
- "Use the jira CLI tool" → "Use jira CLI"
- "Creating Issues with Templates" → "Create Issues with Templates"
- "The jira CLI stores" → "Jira CLI stores"
- "describing the work to be done" → "describing the work"
- "just link to existing issue" → "link to existing issue"
- "From our security validation" → "From security validation"
- "Created Jira issue first" → "Created Jira issue"

Result: ~5% reduction in wordiness while maintaining clarity and all
essential information. Skill is now more scannable and actionable.

Version bumped from 1.1.0 to 1.2.0 to reflect writing improvements.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Apply Elements of Style principles to Jira/Bitbucket skill
Prevents duplicate issues for same logical work in different repos.

What changed:
- Added "Check for Existing Issues First" section with search examples
- Documented when to reuse vs create new issues
- Added "Relates to" keyword for subsequent PRs
- Updated Quick Reference with search commands
- Added real-world example showing ET-8772 reuse pattern
- Created common mistake section for duplicate issues

Key benefits:
- Reduces issue clutter
- Tracks related work across repos in single issue
- Maintains traceability without duplication

Example: ET-8772 and ET-8773 both improve CLAUDE.md - should reuse ET-8772

🤖 Generated with Claude Code

Co-Authored-By: Claude <[email protected]>
Add guidance for cleaning up branch history and force pushing:

- Added git reset --hard and force push to quick reference
- New Example 4: Removing Unwanted Commits from Branch
- Documents complete workflow for rewriting branch history
- New Common Mistake: Force Pushing Without Checking Branch
- Critical safety guidance on when force push is safe vs dangerous

Based on real workflow separating documentation commits from test branch.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
skills/collaboration/creating-jira-issues-and-prs/SKILL.md (2)

153-159: Clarify or reconcile jira list/ls query reliability across workflow.

The -q option allows jql on the command line, and both jira list and jira ls are aliases in go-jira. However, line 159 warns that "jira list command with JQL queries may not work reliably in all environments," yet line 337 recommends jira ls --query without the same caveat. This creates ambiguity about when queries are safe to use.

Consider either:

  1. Applying the same reliability warning to the line 337 example
  2. Or clarifying which command variant (list vs ls, or parameter style) is more reliable
  3. Or moving the reliability warning to a global caveat in the troubleshooting section

168-168: Minor style note: Consider alternative phrasing for "Completely different work."

The static analysis tool flagged "Completely" as a potentially weak adverb in this context. While the word is grammatically correct, alternatives like "Distinctly" or "Fundamentally" might strengthen clarity, or the phrasing could be simplified to "Different work" without emphasis.

This is optional; the current text is functional.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3432ca1 and c47d03f.

📒 Files selected for processing (1)
  • skills/collaboration/creating-jira-issues-and-prs/SKILL.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
skills/collaboration/creating-jira-issues-and-prs/SKILL.md

[style] ~168-~168: Consider using a different adverb to strengthen your wording.
Context: ...epos When to Create a New Issue: - Completely different work, even if similar topic -...

(COMPLETELY_ENTIRELY)

🔇 Additional comments (5)
skills/collaboration/creating-jira-issues-and-prs/SKILL.md (5)

162-172: Strong guidance on issue reuse vs creation.

This section clearly delineates when to reuse vs create new issues with concrete criteria (same logical task, different repos, similar goals). The practical examples (ET-8772 across repos) and real-world consequences make the guidance actionable and reduce duplicate issues.


185-205: Branch naming convention is clear and well-enforced.

The pattern ISSUE-KEY-brief-description is consistently documented with examples (ET-8765, ET-8772), and the requirement that branch names "must start with the issue key" is appropriately emphasized as IMPORTANT. This ensures traceability throughout the workflow.


215-255: PR format and auto-linking guidance is thorough.

The distinction between Closes (first PR) and Relates to (subsequent PRs for reused issues) is explicit, with clear keywords documented. This prevents accidental issue closure and maintains proper link semantics across multiple repositories.


264-365: Comprehensive common mistakes section with actionable fixes.

Each mistake includes problem, fix, and examples (right/wrong). Standouts:

  • Line 296–306: Clear explanation of the {{...}} Go template conflict with Jira wiki markup, with concrete fixes
  • Line 314–320: PR title format is reinforced with examples
  • Line 343–364: Force push safety with explicit lists of safe/unsafe branches

This practical troubleshooting reduces user friction.


395-432: Real-world examples ground the documentation.

The four examples (security work, issue reuse, branch separation, commit removal) are realistic scenarios with step-by-step commands and outcomes. Example 2 quantifies value (5–10 minute savings), and Example 3–4 cover edge cases (wrong branch, unwanted commits). This makes the skill practical and adoptable.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant