Skip to content
Back to skills

Fetch Jira Issue

ASecurity

Use when user mentions a Jira issue key (e.g., PLAT-123) or needs context from Jira. Retrieves and formats issue details for PRISM agent workflows.

  • 666 stars
  • 0 votes
  • 0 copies
  • 7 views
  • Added February 8, 2026
toolsgoapidocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill fetch-jira-issue --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fetch Jira Issue?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Fetch Jira Issue
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-fetch-jira-issue/badge)](https://www.skillsdirectory.com/skills/majiayu000-fetch-jira-issue)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: fetch-jira-issue
description: Use when user mentions a Jira issue key (e.g., PLAT-123) or needs context from Jira. Retrieves and formats issue details for PRISM agent workflows.
---
# Task: Fetch Jira Issue

## Purpose
Retrieve and format Jira issue details (Epic, Story, Bug, Task) to provide context for PRISM agent workflows.

## Quick Start

1. Detect or receive Jira issue key (e.g., PLAT-123)
2. Load Jira config from `core-config.yaml`
3. Call Jira REST API via curl
4. Format response for PRISM workflow context
5. Return structured issue details

## When to Use
- User mentions a Jira issue key (e.g., PLAT-123)
- Agent needs context for decomposition, validation, or implementation
- Explicit `*jira {issueKey}` command

## Prerequisites
- Jira integration enabled in core-config.yaml
- Valid Jira credentials configured
- Issue key provided or detected

## Process

### Step 1: Detect or Request Issue Key
**If issue key mentioned in user message:**
- Extract issue key using pattern from config (default: `[A-Z]+-\d+`)
- Inform user: "I found reference to {issueKey}. Let me fetch the details..."

**If no issue key detected:**
- Ask user: "Great! Let's take a look at that. Do you have a JIRA ticket number so I can get more context?"
- Wait for user response
- If provided, proceed with fetch
- If not provided or user declines, continue without Jira context

### Step 2: Read Jira Configuration
**Load config values from `../core-config.yaml`:**
```yaml
jira:
  baseUrl: {url}
  email: {email}
  token: {token}
  defaultProject: {project}
```

**Validate configuration:**
- Ensure jira.enabled is true
- Verify all required fields present
- If missing, inform user and proceed without Jira context

### Step 3: Construct API Request
**Build Jira REST API URL:**
```
{baseUrl}/rest/api/3/issue/{issueKey}
```

**Prepare authentication:**
- Use Basic Auth with email:token
- Format: Authorization header with base64(email:token)

**For WebFetch, construct authenticated URL:**
```
https://{email}:{token}@{hostname}/rest/api/3/issue/{issueKey}
```

### Step 4: Fetch Issue Details
**Use WebFetch tool with extraction prompt:**
```
Extract and format the following information from this Jira issue:

## Issue Identification
- Issue Key and Type (Epic/Story/Bug/Task/etc)
- Status and Priority
- Project and Components

## Content
- Summary (title)
- Description (full text, preserve formatting)
- Acceptance Criteria (if present in description or as custom field)

## People & Dates
- Assignee
- Reporter
- Created and Updated dates
- Due Date (if set)

## Estimation & Progress
- Story Points (if applicable)
- Original Estimate
- Time Spent
- Sprint (if applicable)

## Relationships
- Epic Link (what epic this belongs to)
- Parent Issue (if subtask)
- Child Issues (count and list)
- Linked Issues (Blocks, Blocked by, Relates to, etc.)

## Additional Context
- Labels
- Fix Versions
- Last 3 comments (with author and date)
- Attachments (count and types)

Format as a clear, structured markdown summary optimized for development context.
If any field is missing or empty, note it as "Not specified" rather than omitting.
```

### Step 5: Handle Response

**Success (200 OK):**
- Format and display issue summary to user
- Store issue data in conversation context for agent reference
- Include clickable link: `[{issueKey}]({baseUrl}/browse/{issueKey})`
- Proceed with agent workflow using fetched context

**Issue Not Found (404):**
- Display: "Could not find Jira issue {issueKey}. Please verify the issue key."
- Ask user if they want to:
  - Try a different issue key
  - Search for issues
  - Proceed without Jira context

**Permission Denied (403):**
- Display: "Access denied to {issueKey}. This may require different Jira permissions."
- Suggest:
  - Verify issue key is correct
  - Check Jira permissions for the account
  - Contact Jira administrator
- Offer to proceed without Jira context

**Authentication Failed (401):**
- Display: "Jira authentication failed. Please check credentials in core-config.yaml."
- Do not proceed with Jira operations
- Continue agent workflow without Jira context

**Network/API Error:**
- Display: "Unable to connect to Jira at this time. Proceeding without issue context."
- Log error details for troubleshooting
- Continue agent workflow without Jira context

### Step 6: Present Formatted Summary

**Display format:**
```markdown
## 📋 {IssueKey}: {Summary}

**Type:** {Type} | **Status:** {Status} | **Priority:** {Priority}
**Assignee:** {Assignee} | **Reporter:** {Reporter}

### Description
{Description}

### Acceptance Criteria
{Acceptance Criteria or "Not specified"}

### Epic Context
{Epic Link and summary, if applicable}

### Related Issues
- Blocks: {list}
- Blocked by: {list}
- Relates to: {list}
- Child Issues: {count} issues

### Estimation
- Story Points: {points}
- Time Spent: {time}

### Additional Details
- Labels: {labels}
- Components: {components}
- Last Updated: {date}

[View in Jira]({link})
```

### Step 7: Context Integration

**For different issue types:**

**Epic:**
- Fetch child issues count
- Extract epic goals and scope
- Identify existing stories to avoid duplication

**Story:**
- Extract acceptance criteria carefully
- Note dependencies and blockers
- Check for technical notes in comments

**Bug:**
- Extract reproduction steps from description
- Review existing comments for additional context
- Note severity and customer impact

**Task:**
- Extract deliverables and requirements
- Check for related technical documentation
- Note any dependencies

### Step 8: Offer Follow-up Actions

**Based on issue type and agent, offer:**
- "Would you like me to fetch the epic details?" (if story has epic link)
- "Shall I retrieve all child stories?" (if epic has children)
- "Would you like to see the linked issues?" (if has dependencies)
- "Ready to proceed with {agent task}?" (to continue workflow)

## Error Recovery

**Invalid Issue Key Format:**
- Display: "'{input}' doesn't match Jira issue key format (e.g., PLAT-123)"
- Ask for correct issue key or offer to proceed without

**Multiple Issue Keys Detected:**
- List all detected keys
- Ask user which one to fetch first
- Offer to fetch all

**Jira Configuration Missing:**
- Display: "Jira integration not configured. Proceeding without issue context."
- Continue agent workflow
- Do not block on missing Jira config

## Agent-Specific Integration

**Story Master (sm):**
- When decomposing epic: fetch epic + all existing child stories
- When creating story: check for duplicate summaries in epic
- When estimating: review similar completed stories (if available)

**Product Owner (po):**
- When validating story: fetch full acceptance criteria
- When refining: check for missing fields or incomplete descriptions
- When prioritizing: review linked dependencies

**Support (support):**
- When investigating bug: fetch full reproduction steps and comments
- When creating tasks: link to original bug report
- When escalating: include all bug context

**QA (qa):**
- When creating tests: fetch acceptance criteria and edge cases
- When validating: check test requirements from story
- When reporting: link test results to original story

**Dev (dev):**
- When implementing: fetch technical notes from comments
- When fixing bug: review reproduction steps
- When completing: verify acceptance criteria met

**Architect (architect):**
- When reviewing epic: fetch scope and technical requirements
- When designing: review architectural decisions in comments
- When approving: check component relationships

**Peer (peer):**
- When reviewing: fetch story context and acceptance criteria
- When approving: verify implementation matches requirements
- When suggesting changes: reference architectural constraints

## Best Practices

1. **Always ask first** if context is ambiguous
2. **Cache fetched data** for the conversation session
3. **Format consistently** for readability
4. **Handle errors gracefully** - never block workflow on Jira failures
5. **Respect privacy** - only fetch explicitly referenced issues
6. **Link issues** - always include clickable Jira links
7. **Extract acceptance criteria carefully** - critical for implementation
8. **Note blocking issues** - important for planning
9. **Preserve formatting** - maintain description structure
10. **Offer follow-ups** - suggest related fetches when relevant

## Output

**On Success:**
- Formatted issue summary displayed to user
- Issue context available for agent workflow
- Clickable Jira link included
- Follow-up actions offered

**On Failure:**
- Clear error message
- Recovery options offered
- Workflow continues without Jira context
- No blocking behavior

## Completion Criteria

- Issue details retrieved or error handled gracefully
- Formatted summary displayed to user (if successful)
- Issue context integrated into agent workflow
- User can proceed with requested task
- No workflow blocking on Jira failures

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.