jira-reader
Skill4 starsChanged 4 months agoApache-2.0View on GitHub
Read and analyze JIRA issues from Red Hat Issue Tracker. Use this skill to fetch issue details, search issues, extract comments and discussions, categorize issues (bugs, CVEs, features, stories), analyze custom fields (release notes, fix versions), retrieve Git links, traverse ticket graphs (parent, children, siblings, links), and generate summaries. This skill is read-only and cannot modify JIRA issues. Requires jira and ratelimit Python packages.
- Reads credentials
- Installs packages
In this repository53 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- action-commentsSkill
- article-extractorSkill
- docs-convert-gdoc-mdSkill
- docs-orchestratorSkill
- docs-review-content-qualitySkill
- docs-review-modular-docsSkill
- docs-review-securitySkill
- docs-review-styleSkill
- docs-review-technicalSkill
- docs-ticket-readinessSkill
- docs-workflow-code-analysisSkill
- docs-workflow-create-jiraSkill
- docs-workflow-create-merge-requestSkill
- docs-workflow-jira-readySkill
- docs-workflow-pipeline-diagnosticsSkill
- docs-workflow-planningSkill
- docs-workflow-pr-analysisSkill
- docs-workflow-quality-gateSkill
- docs-workflow-requirementsSkill
- docs-workflow-scope-req-auditSkill
- docs-workflow-security-reviewSkill
- docs-workflow-startSkill
- docs-workflow-style-reviewSkill
- docs-workflow-tech-reviewSkill
- docs-workflow-writingSkill
- git-pr-readerSkill
- ibm-sg-audience-and-mediumSkill
- ibm-sg-language-and-grammarSkill
- ibm-sg-legal-informationSkill
- ibm-sg-numbers-and-measurementSkill
- ibm-sg-punctuationSkill
- ibm-sg-referencesSkill
- ibm-sg-structure-and-formatSkill
- ibm-sg-technical-elementsSkill
- jira-writerSkill
- learn-codeSkill
- lint-with-valeSkill
- mdita-writeSkill
- query-codeSkill
- redhat-docs-tocSkill
- rh-ssg-accessibilitySkill
- rh-ssg-formattingSkill
- rh-ssg-grammar-and-languageSkill
- rh-ssg-gui-and-linksSkill
- rh-ssg-legal-and-supportSkill
- rh-ssg-release-notesSkill
- rh-ssg-structureSkill
- rh-ssg-technical-examplesSkill
- rn-known-issuesSkill
- understand-pull-requestSkill
- validate-plugin-prereqsSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 5 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
Generate Summaries: Create categorized reports and analysis of multiple issues
- Distinctive: line 90
Use for: Quick analysis, categorization, release planning, CVE reports
- Distinctive: line 97
Use for: Deep analysis, comment threads, Git link extraction
- Distinctive: line 107
Use for: Understanding ticket context, documentation workflows, relationship mapping
- Distinctive: line 182
Read-only operations only (enforced by allowed-tools)
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
JIRA Reader Skill
This skill provides read-only access to JIRA issues on Red Hat Issue Tracker (https://redhat.atlassian.net). It uses the Atlassian REST API v3, which returns rich text fields (description, comments) in Atlassian Document Format (ADF). The skill automatically converts ADF to plain text.
Prerequisites
The script requires Python packages jira and ratelimit:
python3 -m pip install jira ratelimitCapabilities
- Fetch Issue Details: Get full issue information including description, status, priority, assignee, components
- Process Comments: Extract and analyze comment threads with anonymized participants
- Extract Custom Fields: Access release note types, fix versions, and other custom fields
- Find Git Links: Retrieve related GitHub/GitLab pull requests and commits
- Categorize Issues: Classify issues as bugs, CVEs, features, stories, epics, tasks
- Generate Summaries: Create categorized reports and analysis of multiple issues
- Ticket Graph Traversal: Map relationships — parent, children, siblings, issue links, web links
Usage
The skill uses a Python script that connects to JIRA using an authentication token.
Environment Variables Required
Set in ~/.env (global) or .env in the project root (local override). See docs-skills README for setup:
JIRA_API_TOKEN=your-jira-api-token
JIRA_EMAIL=you@redhat.com # required for Atlassian Cloud
JIRA_URL=https://redhat.atlassian.net # optional, defaults to redhat.atlassian.netThe script loads .env files automatically — do not prepend source ~/.env to bash commands.
Examples
Fetch a single issue:
uv run --script ${CLAUDE_SKILL_DIR}/scripts/jira_reader.py --issue INFERENG-5233Fetch issue with comments:
uv run --script ${CLAUDE_SKILL_DIR}/scripts/jira_reader.py --issue INFERENG-5233 --include-commentsFetch multiple issues:
uv run --script ${CLAUDE_SKILL_DIR}/scripts/jira_reader.py --issue INFERENG-5233 --issue INFERENG-5049Search issues by JQL (FAST - returns summaries):
uv run --script ${CLAUDE_SKILL_DIR}/scripts/jira_reader.py --jql "project=INFERENG AND status='In Progress'"Search with full details (SLOW - fetches all fields):
uv run --script ${CLAUDE_SKILL_DIR}/scripts/jira_reader.py --jql "project=INFERENG AND status='In Progress'" --fetch-detailsTraverse the ticket graph:
uv run --script ${CLAUDE_SKILL_DIR}/scripts/jira_reader.py --graph INFERENG-5233Graph with custom limits:
uv run --script ${CLAUDE_SKILL_DIR}/scripts/jira_reader.py --graph INFERENG-5233 --max-children 10 --max-siblings 10 --max-links 20Performance Modes
Default: Fast Summary Mode
JQL searches return summaries by default (1 API call, ~3 seconds for any number of results):
- issue_key, issue_type, issue_category, priority, status
- assignee, summary, fix_versions, url
Use for: Quick analysis, categorization, release planning, CVE reports
Opt-in: Detailed Mode (--fetch-details)
Fetches full details for each issue (N+1 API calls, ~2.5 seconds per issue):
- Everything in summary mode PLUS
- Full description, comments, git_links, created/updated dates, all custom fields
Use for: Deep analysis, comment threads, Git link extraction
Graph Mode (--graph)
Traverses ticket relationships:
- Ancestor chain — walks the parent chain (up to 2 levels by default) via standard parent field + Parent Link custom field. This means a task under an Epic under a Feature will return both the Epic and the Feature
- Children (via parent and Epic Link JQL queries, 1 level deep)
- Siblings (active statuses under same parent, 1 level deep)
- Issue links (blocks, clones, relates to)
- Remote/web links (classified as PRs, Google Docs, or other)
Use for: Understanding ticket context, documentation workflows, relationship mapping
Output Formats
Summary output (default for JQL):
{
"issue_key": "INFERENG-5233",
"issue_type": "Task",
"issue_category": "Task",
"priority": "Undefined",
"status": "New",
"assignee": null,
"summary": "Issue summary text",
"fix_versions": [],
"url": "https://redhat.atlassian.net/browse/INFERENG-5233"
}Detailed output (with --fetch-details or --issue):
{
"issue_key": "INFERENG-5233",
"issue_type": "Task",
"issue_category": "Task",
"priority": "Undefined",
"status": "New",
"assignee": null,
"summary": "Issue summary text",
"description": "Full issue description...",
"created": "2026-03-16T08:34:09.302+0000",
"updated": "2026-03-16T09:03:46.166+0000",
"comments": [
{
"participant": "Participant A",
"timestamp": "2026-03-16 08:34",
"body": "Comment text..."
}
],
"custom_fields": {
"release_note_type": "Bug Fix",
"fix_versions": ["3.4"]
},
"git_links": [
"https://github.com/org/repo/pull/123"
],
"url": "https://redhat.atlassian.net/browse/INFERENG-5233"
}Graph output (with --graph):
{
"ticket": "INFERENG-5233",
"jira_url": "https://redhat.atlassian.net",
"parent": {"key": "INFERENG-5049", "summary": "...", "status": "New", "issuetype": "Epic"},
"ancestors": [
{"key": "INFERENG-5049", "summary": "...", "status": "New", "issuetype": "Epic", "priority": "Medium", "assignee": null, "description": "...", "source": "parent_field"},
{"key": "INFERENG-5000", "summary": "...", "status": "In Progress", "issuetype": "Feature", "priority": "High", "assignee": "John Doe", "description": "...", "source": "parent_link_custom_field"}
],
"children": {"total": 0, "showing": 0, "skipped": 0, "issues": []},
"siblings": {"total": 0, "showing": 0, "skipped": 0, "issues": []},
"issue_links": {"total": 1, "showing": 1, "skipped": 0, "links": [...]},
"web_links": {"total": 1, "links": [...]},
"auto_discovered_urls": {"pull_requests": [...], "google_docs": []},
"errors": []
}Rate Limiting
The skill respects JIRA API rate limits (2 calls per 5 seconds) to avoid overwhelming the server. Summary mode requires only 1 call regardless of result count, making it ~80x faster for bulk operations.
Security
- Read-only operations only (enforced by allowed-tools)
- Token stored in environment variable (not in code)
- Comment anonymization to protect user identities in analysis
Common Use Cases
- Analyze release issues: Fetch all issues for a fix version and categorize them
- CVE reporting: Extract security vulnerabilities and their status
- Bug triage: Get issue details with comments for understanding context
- Release notes: Extract information needed for documentation
- Link analysis: Find related Git changes for code review
- Ticket graph: Map relationships for documentation workflow context
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

