Claude-skill-registry jira-git-workflow
JIRA ticket creation and branching, extending ticket-branch-workflow and jira-git-integration
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/jira-git-workflow" ~/.claude/skills/majiayu000-claude-skill-registry-jira-git-workflow && rm -rf "$T"
skills/data/jira-git-workflow/SKILL.mdWhat I do
I implement the standard JIRA-to-Git workflow by combining
jira-git-integration, ticket-branch-workflow, and git framework skills:
- Identify JIRA Project: Use
to find project and cloud IDjira-git-integration - Create JIRA Ticket: Use
to create task/issue with summary and descriptionjira-git-integration - Add Comments (Optional): Use
to add clarifying comments if neededjira-git-integration - Create Git Branch: Create branch named after JIRA ticket (format:
)PROJECT-NUM - Commit PLAN.md: Use
to create PLAN.md, commit with semantic formatting, and pushticket-branch-workflow - Update JIRA Ticket: Use
to add progress comment with commit detailsgit-issue-updater
When to use me
Framework: This skill combines two frameworks:
- Handles JIRA-specific operations (project discovery, ticket creation, comments)jira-git-integration
- Handles core workflow (branch creation, PLAN.md, commit, push)ticket-branch-workflow
Use this workflow when:
- Starting a new development task tracked in JIRA
- You need a systematic approach: JIRA ticket → branch → PLAN.md
- Following the standard practice of planning before coding
Prerequisites
- Active Atlassian/JIRA account with appropriate permissions
- Git repository initialized
- Write access to the repository
Steps
Step 1: Identify JIRA Project
- Use
project discovery:jira-git-integration- Use
to list available projectsatlassian_getVisibleJiraProjects - Identify the project key for your work (e.g., IBIS, DA, etc.)
- Get the cloud ID using
atlassian_getAccessibleAtlassianResources
- Use
Step 2: Create JIRA Ticket
- Use
ticket creation:jira-git-integration- Use
with:atlassian_createJiraIssue
: The Atlassian cloud IDcloudId
: The project key (e.g., IBIS)projectKey
: Typically "Task" or "Story"issueTypeName
: Concise title for the worksummary
: Detailed description with:description- Overview
- Scope/files affected
- Requirements
- Rationale
: Your account ID (optional, useassignee_account_id
to get it)atlassian_atlassianUserInfo
- Store the ticket key (e.g., IBIS-101)
- Use
Step 3: Add Comments (Optional)
- If clarification is needed, use
comment features:jira-git-integration- Use
with:atlassian_addCommentToJiraIssue
: The cloud IDcloudId
: The ticket key (e.g., IBIS-101)issueIdOrKey
: The comment in Markdown formatcommentBody
- Use
Step 4: Create Git Branch
- Create branch named after JIRA ticket:
git checkout -b <TICKET-KEY> - Example:
git checkout -b IBIS-101
Step 5: Execute Ticket-Branch-Workflow
- Use
to:ticket-branch-workflow- Create PLAN.md with JIRA ticket reference
- Use git-semantic-commits for commit formatting:
- Commit PLAN.md with semantic format:
git commit -m "feat: add PLAN.md for <TICKET-KEY>" - Or with scope:
git commit -m "docs(PLAN): add planning document for <TICKET-KEY>"
- Commit PLAN.md with semantic format:
- Push branch to remote:
git push -u origin <TICKET-KEY>
Step 6: Update JIRA Ticket with Initial Commit
- Use git-issue-updater to add progress comment to JIRA ticket:
- Extract commit details: hash, message, author, date, time, files changed
- Use
with:atlassian_addCommentToJiraIssue
: The cloud IDcloudId
: The ticket key (e.g., IBIS-101)issueIdOrKey
: Formatted comment with:commentBody- User who made the commit
- Date and time of commit
- Commit hash (with link if available)
- Commit message
- Files changed (from git diff --stat)
- Statistics summary
- Example comment format:
**Initial commit created** - **User**: [author name] - **Date**: [ISO 8601 date] - **Time**: [ISO 8601 time] - **Commit**: [commit hash] - **Message**: [commit message] - **Files changed**: [number] - **Insertions**: [number] - **Deletions**: [number]
Example PLAN.md Structure
The framework generates PLAN.md with JIRA reference:
# Plan: <Ticket Summary> ## Overview Brief description of what this ticket implements. ## Ticket Reference - Ticket: <TICKET-KEY> - URL: <ticket-url> ## Files to Modify 1. `src/path/to/file1.ts` - Description 2. `src/path/to/file2.tsx` - Description ## Approach Detailed steps or methodology for implementation. ## Success Criteria - All files modified correctly - No build errors - Tests pass
Best Practices
- Use
for all JIRA operations (project discovery, ticket creation, comments)jira-git-integration - Use
for branch, PLAN.md, commit, and push operationsticket-branch-workflow - Use
for all commit formatting to ensure consistent semantic versioninggit-semantic-commits - Use
after all commits to add progress comments to JIRA ticketsgit-issue-updater - Keep the plan specific and actionable
- Use the JIRA ticket key as the branch name for traceability
- Include a clear rationale in both the JIRA ticket and PLAN.md
- Commit the PLAN.md as the first commit on the new branch
- Always update JIRA ticket with commit details after each significant commit
- Use semantic commit types: feat, fix, docs, style, refactor, test, chore, perf, ci, build, revert
- Use scopes to identify affected components (e.g., docs(PLAN):, feat(api):, fix(ui):)
Common Issues
Permission denied on JIRA
Issue: Cannot create JIRA ticket
Solution: Ensure your account has create permissions for the project (handled by
jira-git-integration)
Branch already exists
Issue: Branch checkout fails due to existing branch
Solution: The framework handles this with
-B flag to force branch creation
Missing cloud ID
Issue: Cannot create JIRA ticket without cloud ID
Solution:
jira-git-integration provides tools to find your cloud ID: atlassian_getAccessibleAtlassianResources
Assignee error
Issue: Cannot assign ticket to yourself
Solution: Use
atlassian_atlassianUserInfo to get your account ID (part of jira-git-integration)
Troubleshooting Checklist
Before starting:
- Atlassian/JIRA account has project access
- Git repository is initialized:
git status - Current branch is clean (no uncommitted changes)
- Remote repository is set up:
git remote -v
After ticket creation:
- Ticket key is captured (e.g., IBIS-101)
- Ticket URL is accessible
- Ticket is assigned (if needed)
After framework execution:
- Branch is created and checked out successfully
- PLAN.md is created with ticket reference
- PLAN.md is committed with semantic message format
- Branch is pushed to remote successfully
- JIRA ticket is updated with initial commit details
- JIRA ticket comment includes user, date, time, commit hash, message, and file changes
Related Skills
- JIRA Integration:
- Provides JIRA-specific operations (project discovery, ticket creation, comments)jira-git-integration
- Provides automated JIRA ticket status transitions after PR mergejira-status-updater
- Core Workflow Framework:
- Provides core workflow (branch creation, PLAN.md, commit, push)ticket-branch-workflow
- Git Frameworks:
- Provides semantic commit message formatting following Conventional Commits specgit-semantic-commits
- Provides consistent issue/ticket update functionality for GitHub and JIRAgit-issue-updater
- Provides intelligent label detection for GitHub issuesgit-issue-labeler
- Next.js Specific:
- For creating PRs after completing the ticketnextjs-pr-workflow
- GitHub Integration:
- For GitHub-integrated workflows (uses same ticket-branch-workflow framework)git-issue-creator
Complete JIRA-to-Git Workflow with Status Updates
The complete workflow ensures JIRA tickets are properly closed after PR merges:
-
Create JIRA Ticket (via
)jira-git-integration- Use
to create ticketatlassian_createJiraIssue - Status: "To Do" or "Backlog"
- Use
-
Create Git Branch (via
)ticket-branch-workflow- Create branch named after ticket key (e.g.,
)IBIS-101 - Status: "To Do"
- Create branch named after ticket key (e.g.,
-
Commit PLAN.md (via
)ticket-branch-workflow- Commit planning document
- Add progress comment to JIRA (via
)git-issue-updater - Status: "In Progress"
-
Implement Work
- Make commits and add progress comments
- Status: "In Progress"
-
Create Pull Request (via
orpr-creation-workflow
)git-pr-creator- Create PR with JIRA ticket reference
- Add PR comment to JIRA (via
)git-issue-updater - Status: "In Progress" or "In Review"
-
Merge Pull Request
- PR successfully merged
- Update JIRA ticket status to "Done" (via
) ⭐ NEWjira-status-updater - Add final merge comment to JIRA
- Status: "Done" ✅
Result: Complete automation from ticket creation to closure without manual intervention.