Claude-skill-registry jira-pm
Jira project management and issue tracking 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-pm" ~/.claude/skills/majiayu000-claude-skill-registry-jira-pm && rm -rf "$T"
skills/data/jira-pm/SKILL.mdRequired:
- Base URL of your Jira instance (e.g., https://yourcompany.atlassian.net)JIRA_URL
- API token for authentication (generate at Jira Account Settings → Security → API Tokens)JIRA_API_TOKEN
- Email address associated with the API tokenJIRA_USER_EMAIL
Optional:
- Default project key for operations (e.g., PROJ)JIRA_DEFAULT_PROJECT
- API version (default: 3) </requirements>JIRA_API_VERSION
<tool_categories>
Issues
| Tool | Description | Confirmation Required |
|---|---|---|
| search | Search issues using JQL | No |
| get-issue | Get detailed issue information | No |
| create-issue | Create a new issue | Yes |
| update-issue | Update existing issue fields | Yes |
| transition | Change issue status/workflow state | Yes |
Projects
| Tool | Description |
|---|---|
| list-projects | List all accessible projects |
| project-info | Get detailed project information |
Sprints
| Tool | Description |
|---|---|
| active-sprint | Get currently active sprint for a board |
| sprint-issues | List all issues in a specific sprint |
Comments
| Tool | Description |
|---|---|
| get-comments | Retrieve all comments on an issue |
| add-comment | Add a comment to an issue |
</tool_categories>
<usage_patterns>
Common Workflows
Issue Creation:
- List projects to find correct project key
- Get project info to understand issue types
- Create issue with appropriate fields
- Add comment if needed
Sprint Management:
- Get active sprint for board
- List sprint issues
- Update issue status using transitions
- Add comments for status updates
Issue Search:
- Use JQL for targeted searches (e.g.,
)project = PROJ AND status = "In Progress" - Retrieve issue details for specific issues
- Update issues based on search results </usage_patterns>
<jql_examples>
JQL Query Examples
Common Queries:
# Issues assigned to current user assignee = currentUser() # Open issues in specific project project = PROJ AND status != Done # Issues created this week created >= startOfWeek() # High priority bugs type = Bug AND priority = High # Issues in current sprint sprint in openSprints() # Recently updated issues updated >= -7d # Overdue issues duedate < now() AND status != Done
</jql_examples>
<agent_integration>
Primary Agent: pm (Product Manager)
- Use Case: Project backlog management, sprint planning, requirement tracking
- Common Operations: Create issues, update priorities, manage sprints
Secondary Agent: developer
- Use Case: Issue tracking during development, status updates
- Common Operations: Search assigned issues, transition issues, add comments
Supporting Agent: qa
- Use Case: Bug tracking, test case management
- Common Operations: Create bug reports, update test results, search defects </agent_integration>
<error_handling>
Common Error Scenarios
Authentication Errors:
- Missing or invalid API token
- Expired credentials
- Insufficient permissions
Rate Limiting:
- Too many API requests in short period
- Implement exponential backoff
Invalid Inputs:
- Non-existent project keys
- Invalid issue types
- Invalid transition IDs
Network Errors:
- Connection timeouts
- Unreachable Jira instance </error_handling>
<best_practices>
- Use JQL Efficiently: Craft precise JQL queries to reduce result sets and API calls
- Cache Metadata: Store project keys, issue types, and transitions locally
- Verify Before Create: Always verify project and issue type before creating issues
- Use Transitions: Respect workflow states when changing issue status
- Batch Operations: Group related API calls when possible
- Handle Errors Gracefully: Provide clear error messages and recovery suggestions
- Respect Rate Limits: Implement backoff strategies for high-volume operations </best_practices> </instructions>
Create Issue:
# Create a new story create-issue --project PROJ --type Story --summary "Implement user authentication" --description "Add OAuth2 authentication flow"
Update Issue:
# Update issue priority update-issue --key PROJ-123 --priority High
Transition Issue:
# Move issue to "In Progress" transition --key PROJ-123 --status "In Progress"
Get Sprint Issues:
# List issues in active sprint active-sprint --board-id 42 sprint-issues --sprint-id 123
Add Comment:
# Add progress update add-comment --key PROJ-123 --comment "Completed authentication implementation, ready for review"
</code_example> </examples>
<progressive_disclosure>
Context Optimization
This skill uses progressive disclosure to minimize context usage:
- Lazy Loading: Only load issue details when explicitly requested
- Field Selection: Request only necessary fields from Jira API
- Caching: Store frequently accessed metadata (projects, issue types)
- Streaming: Not supported - all responses are complete payloads
- Pagination: Automatically handle large result sets
Context Savings: 90%+ compared to loading full Jira MCP server </progressive_disclosure>
<api_reference>
Jira REST API Endpoints Used
- JQL search/rest/api/3/search
- Get/update issue/rest/api/3/issue/{issueKey}
- Create issue/rest/api/3/issue
- Transition issue/rest/api/3/issue/{issueKey}/transitions
- List projects/rest/api/3/project
- Get project details/rest/api/3/project/{projectKey}
- Get sprints/rest/agile/1.0/board/{boardId}/sprint
- Get sprint issues/rest/agile/1.0/sprint/{sprintId}/issue
- Get/add comments/rest/api/3/issue/{issueKey}/comment
See Jira REST API Documentation for full reference. </api_reference>
Memory Protocol (MANDATORY)
Before starting: Read
.claude/context/memory/learnings.md
After completing:
- New pattern ->
.claude/context/memory/learnings.md - Issue found ->
.claude/context/memory/issues.md - Decision made ->
.claude/context/memory/decisions.md
ASSUME INTERRUPTION: If it's not in memory, it didn't happen.