affaan-m/ECC

jira-integration

Use this skill when retrieving Jira tickets, analyzing requirements, updating ticket status, adding comments, or transitioning issues. Provides Jira API patterns via MCP or direct REST calls.

85CollectingNetwork access
See how to use itView GitHub source
npx skills add https://github.com/affaan-m/ECC --skill "skills/jira-integration"
Automated source guide

Source checked Jul 28, 2026·Refresh due Oct 26, 2026

Reorganized from the pinned upstream SKILL.md

Turn jira-integration's source instructions into a guide you can follow

According to the pinned SKILL.md from affaan-m/ECC: Retrieve, analyze, and update Jira tickets directly from your AI coding workflow. Supports both MCP-based (recommended) and direct REST API approaches.

npx skills add https://github.com/affaan-m/ECC --skill "skills/jira-integration"
Check the pinned source

Best fit

  • Use this skill when retrieving Jira tickets, analyzing requirements, updating ticket status, adding comments, or transitioning issues.
  • Use this skill when retrieving Jira tickets, analyzing requirements, updating ticket status, adding comments, or transitioning issues. Provides Jira API patterns via MCP or direct REST calls.

Bring this context

  • Python 3.10+
  • uvx (from uv), installed via your package manager or the official uv installation documentation
  • Go to

Expected outputs

  • A result that follows the pinned jira-integration instructions.
  • A concise record of assumptions, inputs used, and unresolved questions.
  • A final check against the source workflow and relevant permission signals.

Key source sections

Read jira-integration through these 5 source sections

Sections are extracted automatically from the pinned SKILL.md and link back to the source.

01

When to Activate

Fetching a Jira ticket to understand requirements

SKILL.md · When to Activate
Fetching a Jira ticket to understand requirementsExtracting testable acceptance criteria from a ticketAdding progress comments to a Jira issue
02

Prerequisites

Install the mcp-atlassian MCP server. This exposes Jira tools directly to your AI agent.

SKILL.md · Prerequisites
Python 3.10+uvx (from uv), installed via your package manager or the official uv installation documentationGo to
03

Option A: MCP Server (Recommended)

Install the mcp-atlassian MCP server. This exposes Jira tools directly to your AI agent.

SKILL.md · Option A: MCP Server (Recommended)
Python 3.10+uvx (from uv), installed via your package manager or the official uv installation documentationGo to
04

Option B: Direct REST API

If MCP is not available, use the Jira REST API v3 directly via curl or a helper script.

SKILL.md · Option B: Direct REST API
If MCP is not available, use the Jira REST API v3 directly via curl or a helper script.Required environment variables:Store these in your shell environment, secrets manager, or an untracked local env file. Do not commit them to the repo.
05

MCP Tools Reference

When the mcp-atlassian MCP server is configured, these tools are available:

SKILL.md · MCP Tools Reference
When the mcp-atlassian MCP server is configured, these tools are available:Tip: Always call jiragettransitions before transitioning — transition IDs vary per project workflow.

SkillSignal prompt templates

Provide the task, context, and acceptance criteria

These prompts were written by SkillSignal from the source structure; they are not upstream text.

Task-start prompt

Confirm source fit, inputs, and outputs before acting.

Use jira-integration to help me with: [specific task]. Context: [files, data, or background]. Constraints: [environment, scope, and prohibited actions]. Before acting, check the pinned SKILL.md and explain which sections apply, what inputs are still missing, and what you will deliver.

Source-guided execution

Make the Agent explicitly follow the key extracted sections.

Apply the pinned jira-integration source to [task]. Pay particular attention to these source sections: “When to Activate”, “Prerequisites”, “Option A: MCP Server (Recommended)”, “Option B: Direct REST API”, “MCP Tools Reference”. Preserve the important decision at each step. Mark facts not covered by the source as “needs confirmation” instead of inventing them. Then verify the result against my acceptance criteria: [criteria].

Result-review prompt

Check omissions, permissions, and source drift before delivery.

Review the current jira-integration result: (1) does it satisfy the original task; (2) were any applicable steps or limits in the pinned SKILL.md missed; (3) did it perform any unauthorized file, command, network, or data action; and (4) which conclusions remain unverified? List issues first, then fix only what the source or user authorization supports.

Output checklist

Verify each item before delivery

The task matches the purpose documented in the SKILL.md.

The source section “When to Activate” has been checked.

The source section “Prerequisites” has been checked.

The source section “Option A: MCP Server (Recommended)” has been checked.

The source section “Option B: Direct REST API” has been checked.

Inputs, constraints, and acceptance criteria are explicit.

Unverified facts, compatibility, and outcome claims are clearly marked.

Any file, command, network, or data action has been reviewed.

Choose a different workflow

When another Skill is the better fit

FAQ

What does jira-integration do?

Retrieve, analyze, and update Jira tickets directly from your AI coding workflow. Supports both MCP-based (recommended) and direct REST API approaches.

How do I start using jira-integration?

The catalog detected this source-specific install command: npx skills add https://github.com/affaan-m/ECC --skill "skills/jira-integration". Inspect the command and pinned source before running it.

Which Agent platforms does it declare?

No dedicated Agent platform is declared in the pinned source record.

Repository stars
234,327
Repository forks
35,711
Quality
85/100
Source repository last pushed

Quality breakdown

Based on traceable docs and repository signals; stars are not treated as quality.

85/100
Documentation28/30
Specificity14/25
Maintenance20/20
Trust signals23/25

Compare before choosing

Related Agent Skills and source variants

These links are selected from shared tasks, functions, stacks, platforms, and same-name variants. Compare the source owner, documentation, permissions, and maintenance signals.

View original Skill.mdThis page is parsed directly from the repository SKILL.md without editorial rewriting. Collected: Jul 28, 2026 · about 4 min

Jira Integration Skill

Retrieve, analyze, and update Jira tickets directly from your AI coding workflow. Supports both MCP-based (recommended) and direct REST API approaches.

When to Activate

  • Fetching a Jira ticket to understand requirements
  • Extracting testable acceptance criteria from a ticket
  • Adding progress comments to a Jira issue
  • Transitioning a ticket status (To Do → In Progress → Done)
  • Linking merge requests or branches to a Jira issue
  • Searching for issues by JQL query

Prerequisites

Option A: MCP Server (Recommended)

Install the mcp-atlassian MCP server. This exposes Jira tools directly to your AI agent.

Requirements:

  • Python 3.10+
  • uvx (from uv), installed via your package manager or the official uv installation documentation

Add to your MCP config (e.g., ~/.claude.jsonmcpServers):

{
  "jira": {
    "command": "uvx",
    "args": ["mcp-atlassian==0.21.0"],
    "env": {
      "JIRA_URL": "https://YOUR_ORG.atlassian.net",
      "JIRA_EMAIL": "your.email@example.com",
      "JIRA_API_TOKEN": "your-api-token"
    },
    "description": "Jira issue tracking — search, create, update, comment, transition"
  }
}

Security: Never hardcode secrets. Prefer setting JIRA_URL, JIRA_EMAIL, and JIRA_API_TOKEN in your system environment (or a secrets manager). Only use the MCP env block for local, uncommitted config files.

To get a Jira API token:

  1. Go to https://id.atlassian.com/manage-profile/security/api-tokens
  2. Click Create API token
  3. Copy the token — store it in your environment, never in source code

Option B: Direct REST API

If MCP is not available, use the Jira REST API v3 directly via curl or a helper script.

Required environment variables:

VariableDescription
JIRA_URLYour Jira instance URL (e.g., https://yourorg.atlassian.net)
JIRA_EMAILYour Atlassian account email
JIRA_API_TOKENAPI token from id.atlassian.com

Store these in your shell environment, secrets manager, or an untracked local env file. Do not commit them to the repo.

For direct curl examples, keep credentials out of command-line arguments by passing the Jira user config on stdin:

jira_curl() {
  printf 'user = "%s:%s"\n' "$JIRA_EMAIL" "$JIRA_API_TOKEN" |
    curl -s -K - "$@"
}

MCP Tools Reference

When the mcp-atlassian MCP server is configured, these tools are available:

ToolPurposeExample
jira_searchJQL queriesproject = PROJ AND status = "In Progress"
jira_get_issueFetch full issue details by keyPROJ-1234
jira_create_issueCreate issues (Task, Bug, Story, Epic)New bug report
jira_update_issueUpdate fields (summary, description, assignee)Change assignee
jira_transition_issueChange statusMove to "In Review"
jira_add_commentAdd commentsProgress update
jira_get_sprint_issuesList issues in a sprintActive sprint review
jira_create_issue_linkLink issues (Blocks, Relates to)Dependency tracking
jira_get_issue_development_infoSee linked PRs, branches, commitsDev context

Tip: Always call jira_get_transitions before transitioning — transition IDs vary per project workflow.

Direct REST API Reference

Fetch a Ticket

jira_curl \
  -H "Content-Type: application/json" \
  "$JIRA_URL/rest/api/3/issue/PROJ-1234" | jq '{
    key: .key,
    summary: .fields.summary,
    status: .fields.status.name,
    priority: .fields.priority.name,
    type: .fields.issuetype.name,
    assignee: .fields.assignee.displayName,
    labels: .fields.labels,
    description: .fields.description
  }'

Fetch Comments

jira_curl \
  -H "Content-Type: application/json" \
  "$JIRA_URL/rest/api/3/issue/PROJ-1234?fields=comment" | jq '.fields.comment.comments[] | {
    author: .author.displayName,
    created: .created[:10],
    body: .body
  }'

Add a Comment

jira_curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "body": {
      "version": 1,
      "type": "doc",
      "content": [{
        "type": "paragraph",
        "content": [{"type": "text", "text": "Your comment here"}]
      }]
    }
  }' \
  "$JIRA_URL/rest/api/3/issue/PROJ-1234/comment"

Transition a Ticket

# 1. Get available transitions
jira_curl \
  "$JIRA_URL/rest/api/3/issue/PROJ-1234/transitions" | jq '.transitions[] | {id, name: .name}'

# 2. Execute transition (replace TRANSITION_ID)
jira_curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"transition": {"id": "TRANSITION_ID"}}' \
  "$JIRA_URL/rest/api/3/issue/PROJ-1234/transitions"

Search with JQL

jira_curl -G \
  --data-urlencode "jql=project = PROJ AND status = 'In Progress'" \
  "$JIRA_URL/rest/api/3/search"

Analyzing a Ticket

When retrieving a ticket for development or test automation, extract:

1. Testable Requirements

  • Functional requirements — What the feature does
  • Acceptance criteria — Conditions that must be met
  • Testable behaviors — Specific actions and expected outcomes
  • User roles — Who uses this feature and their permissions
  • Data requirements — What data is needed
  • Integration points — APIs, services, or systems involved

2. Test Types Needed

  • Unit tests — Individual functions and utilities
  • Integration tests — API endpoints and service interactions
  • E2E tests — User-facing UI flows
  • API tests — Endpoint contracts and error handling

3. Edge Cases & Error Scenarios

  • Invalid inputs (empty, too long, special characters)
  • Unauthorized access
  • Network failures or timeouts
  • Concurrent users or race conditions
  • Boundary conditions
  • Missing or null data
  • State transitions (back navigation, refresh, etc.)

4. Structured Analysis Output

Ticket: PROJ-1234
Summary: [ticket title]
Status: [current status]
Priority: [High/Medium/Low]
Test Types: Unit, Integration, E2E

Requirements:
1. [requirement 1]
2. [requirement 2]

Acceptance Criteria:
- [ ] [criterion 1]
- [ ] [criterion 2]

Test Scenarios:
- Happy Path: [description]
- Error Case: [description]
- Edge Case: [description]

Test Data Needed:
- [data item 1]
- [data item 2]

Dependencies:
- [dependency 1]
- [dependency 2]

Updating Tickets

When to Update

Workflow StepJira Update
Start workTransition to "In Progress"
Tests writtenComment with test coverage summary
Branch createdComment with branch name
PR/MR createdComment with link, link issue
Tests passingComment with results summary
PR/MR mergedTransition to "Done" or "In Review"

Comment Templates

Starting Work:

Starting implementation for this ticket.
Branch: feat/PROJ-1234-feature-name

Tests Implemented:

Automated tests implemented:

Unit Tests:
- [test file 1] — [what it covers]
- [test file 2] — [what it covers]

Integration Tests:
- [test file] — [endpoints/flows covered]

All tests passing locally. Coverage: XX%

PR Created:

Pull request created:
[PR Title](https://github.com/org/repo/pull/XXX)

Ready for review.

Work Complete:

Implementation complete.

PR merged: [link]
Test results: All passing (X/Y)
Coverage: XX%

Security Guidelines

  • Never hardcode Jira API tokens in source code or skill files
  • Always use environment variables or a secrets manager
  • Add .env to .gitignore in every project
  • Rotate tokens immediately if exposed in git history
  • Use least-privilege API tokens scoped to required projects
  • Validate that credentials are set before making API calls — fail fast with a clear message

Troubleshooting

ErrorCauseFix
401 UnauthorizedInvalid or expired API tokenRegenerate at id.atlassian.com
403 ForbiddenToken lacks project permissionsCheck token scopes and project access
404 Not FoundWrong ticket key or base URLVerify JIRA_URL and ticket key
spawn uvx ENOENTIDE cannot find uvx on PATHUse full path (e.g., ~/.local/bin/uvx) or set PATH in ~/.zprofile
Connection timeoutNetwork/VPN issueCheck VPN connection and firewall rules

Best Practices

  • Update Jira as you go, not all at once at the end
  • Keep comments concise but informative
  • Link rather than copy — point to PRs, test reports, and dashboards
  • Use @mentions if you need input from others
  • Check linked issues to understand full feature scope before starting
  • If acceptance criteria are vague, ask for clarification before writing code
Source repo
affaan-m/ECC
Skill path
skills/jira-integration/SKILL.md
Commit SHA
4e973d3eaf92
Repository license
MIT
Data collected