Agent skill

Jira

by meain in meain/dotfiles

Manage Jira issues using the jira CLI — lookup, create, edit, transition, assign, comment, link, and search.

MITAuto-check passed

Install Jira

skills CLI
$ npx skills add meain/dotfiles --skill jira -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install meain/dotfiles jira --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/meain/dotfiles.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agents/.agents/skills/jira .claude/skills/jira && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
jira
GitHub stars
285
Token cost
~2.7k tokens
SKILL.md length
872 words
Files
1
Skills in repo
35
Repo updated
First seen
Licence
MIT

At a glance

Manage Jira issues using the jira CLI — lookup, create, edit, transition, assign, comment, link, and search.

  • Works in 2 steps: Identify the Request → Present Results
  • SKILL.md covers When to Use, Instructions and Guidelines
  • Calls curl and jq; reaches veeam-vdc.atlassian.net; needs JIRA_API_TOKEN and PROJECT_KEY

What it does

Jira is an agent skill from meain/dotfiles. Manage Jira issues using the jira CLI — lookup, create, edit, transition, assign, comment, link, and search. Triggers: /jira, "look up jira issue", "check jira ticket", "create jira issue", "update jira", "move ticket to", "assign issue", "add comment to", "what's the status of PROJ-123", any mention of a Jira issue key like PROJ-123

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Jira. The repository describes itself as: If there is a shell, there is a way! The licence is MIT.

Example prompts

  • “look up jira issue”
  • “check jira ticket”
  • “create jira issue”
  • “/jira”

Requirements

  • A credential in PROJECT_KEY
  • A credential in JIRA_API_TOKEN

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Identify the Request
  2. Present Results

What it can do on your machine

Read from SKILL.md and the folder at commit 3e336e2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • jq

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • veeam-vdc.atlassian.net

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • JIRA_API_TOKEN
    • PROJECT_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Jira loads about 2.7k tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 872 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~85
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from meain/dotfiles at commit 3e336e2, republished under its MIT licence (© meain). 872 words, ~2,656 tokens.

Download SKILL.mdSave it as .claude/skills/jira/SKILL.md (or your agent's skills folder).
name
jira
description
Manage Jira issues using the jira CLI — lookup, create, edit, transition, assign, comment, link, and search. Triggers: /jira, "look up jira issue", "check jira ticket", "create jira issue", "update jira", "move ticket to", "assign issue", "add comment to", "what's the status of PROJ-123", any mention of a Jira issue key like PROJ-123
argument-hint
[ISSUE-KEY or action description]

Jira Issue Management

Use the jira CLI to look up, create, edit, transition, assign, comment on, and link Jira issues.

When to Use

  • The user mentions a Jira issue key (e.g., DP-123)
  • The user asks to look up, check, or get details on a Jira ticket
  • The user wants to list or search for issues in a project
  • The user wants to create, edit, transition, assign, comment on, or link issues
  • The user needs context from a Jira issue to inform their work

Instructions

Phase 1: Identify the Request

Determine which operation the user needs:

IntentOperation
View issue detailsview
Search/list issueslist
Create a new issuecreate
Edit fields on an issueedit
Change issue statusmove
Assign/unassign an issueassign
Add a commentcomment
Link two issueslink
Open in browseropen
Phase 2A: View / Search (read operations)
Viewing a single issue
bash
jira issue view ISSUE-KEY --plain

To include recent comments:

bash
jira issue view ISSUE-KEY --plain --comments 5

To get full raw JSON data for deeper inspection:

bash
jira issue view ISSUE-KEY --raw
Listing/searching issues
bash
# List issues in the default project
jira issue list --plain --no-truncate

# Filter by status
jira issue list --plain -s "In Progress"

# Filter by assignee (use "me" for current user)
jira issue list --plain -a "user@example.com"

# Filter by type and status
jira issue list --plain -t Bug -s "To Do"

# Filter by priority
jira issue list --plain -y High

# Filter by label
jira issue list --plain -l backend

# Search by text
jira issue list "search query" --plain

# Combine filters
jira issue list --plain -s "In Progress" -a "me" -y High

# Use raw JQL for complex queries
jira issue list --plain -q "assignee = currentUser() AND status = 'In Progress'"

# Specify a different project
jira issue list --plain -p PROJECT_KEY

# Limit results
jira issue list --plain --paginate 20
Phase 2B: Create (write operation)

Always use --no-input to avoid interactive prompts.

bash
# Basic creation (always specify Story type)
jira issue create -tStory -s "Summary here" -b "Description here" --no-input

# Other issue types when explicitly needed
jira issue create -tBug -s "Bug title" -yHigh -lbug -lurgent -a "user@example.com" -b "Bug description" --no-input
jira issue create -tTask -s "Task title" -b "Description here" --no-input

# Create under a parent (epic or parent issue)
jira issue create -tStory -P EPIC-KEY -s "Story title" -b "Description" --no-input

# Create subtask under a parent
jira issue create -tSubtask -P PARENT-KEY -s "Subtask title" -b "Details" --no-input

# In a specific project
jira issue create -p PROJECT -tStory -s "Story title" -b "As a user..." --no-input

# With story points (field name is story-point-estimate; works on create)
jira issue create -tStory -s "Story" --custom story-point-estimate=3 --no-input

# Pipe description from stdin for long bodies
timeout 60 jira issue create -tStory -s "Summary" --no-input < /tmp/body.md

Pass multi-line descriptions via stdin, not -b "$(cat ...)" — the -b form has hung indefinitely without creating the issue. Wrap create in timeout 60 and, if it times out, check whether the issue was created before retrying.

To create directly into a sprint, get the ID from jira sprint list --state active --plain, then jira sprint add <SPRINT_ID> <KEY> after creation.

Important: When creating or editing issue descriptions:

  • Keep descriptions short — never more than 5 lines. Say what's needed and stop; do not pad with background or restated context.
  • Use a diagram when it explains the change better than prose (e.g. an ASCII flow, sequence, or before/after). A small diagram often replaces several lines of text.
  • Use markdown format for descriptions
  • Start with a descriptive paragraph, not section headings like "Context" or "Background"
  • Structure content naturally with markdown formatting (lists, code blocks, etc.)
  • Always explicitly specify -tStory when creating issues unless told to use a different type

Issue types: Task, Bug, Story, Epic, Subtask

Parent/Epic linking: Use -P EPIC-KEY to set the parent (epic) on create. Do NOT use -l (label) for this — -l adds labels, -P sets the parent.

Labels — reuse, don't invent: Never create a new label unless the user explicitly asks for a new one. Before adding a label (on create or edit), check it already exists:

bash
# Search existing labels by substring (paginated, org-wide)
curl -s -u "abin.simon@veeam.com:$JIRA_API_TOKEN" \
  "https://veeam-vdc.atlassian.net/rest/api/3/label?maxResults=50" | jq '.values[]' | grep -i "search-term"

If no close match exists, ask the user whether to use a similar existing label or confirm they want a brand-new one.

Phase 2C: Edit (write operation)

Always use --no-input to avoid interactive prompts.

bash
# Edit summary
jira issue edit ISSUE-KEY -s "New summary" --no-input

# Edit description
jira issue edit ISSUE-KEY -b "New description" --no-input

# Change priority
jira issue edit ISSUE-KEY -y High --no-input

# Add labels (append)
jira issue edit ISSUE-KEY -l newlabel --no-input

# Remove a label (prefix with -)
jira issue edit ISSUE-KEY --label -oldlabel --no-input

# Change assignee
jira issue edit ISSUE-KEY -a "user@example.com" --no-input

# Edit custom fields
jira issue edit ISSUE-KEY --custom story-points=5 --no-input

# Combine multiple edits
jira issue edit ISSUE-KEY -s "Updated title" -yHigh -l backend --no-input
Phase 2J: Story Points

On create, --custom story-point-estimate=N works. On jira issue edit, the --custom story-points=N flag does not work in this Jira instance. Story points must be set via the REST API directly using the customfield_10016 field (Story point estimate) and the JIRA_API_TOKEN environment variable:

bash
curl -s -o /dev/null -w "%{http_code}" \
  -X PUT "https://veeam-vdc.atlassian.net/rest/api/3/issue/ISSUE-KEY" \
  -u "abin.simon@veeam.com:$JIRA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"fields":{"customfield_10016": N}}'
# 204 = success

When setting story points on multiple issues, loop over them in a single shell command.

Phase 2D: Transition / Move
bash
# Move issue to a new status
jira issue move ISSUE-KEY "In Progress"
jira issue move ISSUE-KEY "Done"

# Move with a comment
jira issue move ISSUE-KEY "Done" --comment "Completed in PR #123"

# Move and reassign
jira issue move ISSUE-KEY "In Review" -a "reviewer@example.com"
Phase 2E: Assign
bash
# Assign to a user
jira issue assign ISSUE-KEY "user@example.com"

# Assign to self
jira issue assign ISSUE-KEY $(jira me)

# Unassign
jira issue assign ISSUE-KEY x
Phase 2F: Comment

Always use --no-input to avoid interactive prompts.

bash
# Add a comment
jira issue comment add ISSUE-KEY --no-input "Comment text here"

# Multi-line comment
jira issue comment add ISSUE-KEY --no-input $'First line\n\nSecond paragraph'

# Internal comment (not visible to external users)
jira issue comment add ISSUE-KEY --no-input "Internal note" --internal
bash
# Link two issues
jira issue link ISSUE-1 ISSUE-2 "Blocks"
jira issue link ISSUE-1 ISSUE-2 "Duplicate"

# Unlink
jira issue unlink ISSUE-1 ISSUE-2
Phase 2H: Sprint & Epic
bash
# List sprints
jira sprint list --plain

# Add issues to a sprint
jira sprint add SPRINT_ID ISSUE-KEY

# Add issues to an epic
jira epic add EPIC-KEY ISSUE-KEY

# Remove from epic
jira epic remove ISSUE-KEY
Phase 2I: Open in Browser
bash
jira open ISSUE-KEY
Show full SKILL.md (357 more words)Show less
Phase 3: Present Results

For read operations, summarize clearly:

  • Key and Summary: The issue identifier and title
  • Status: Current workflow state
  • Type: Bug, Story, Task, Epic, etc.
  • Priority: The issue priority level
  • Assignee: Who is responsible
  • Description: What the issue is about (summarize if very long)
  • Comments: Recent discussion if relevant

For write operations, confirm what was done:

  • State the action taken and the issue key
  • Show the new state if relevant (e.g., new status after a move)

When the user needs issue context for coding work, focus on:

  • What needs to be done (acceptance criteria, description)
  • Any technical details mentioned in comments
  • Related issues or blockers

Guidelines

  • Always run jira CLI commands with dangerouslyDisableSandbox: true — the sandbox blocks TLS verification for Jira's certificate chain, causing x509 errors
  • Always use --plain flag when listing/viewing issues so output is parseable (avoid the interactive TUI)
  • Always use --no-input flag on create/edit/comment to avoid interactive prompts
  • Use --no-truncate with list commands to show full field contents when details matter
  • If the jira CLI is not configured or authentication fails, inform the user and suggest running jira init
  • Show before mutating: For write operations (edit, move, assign, comment, link, delete), always show the user exactly what will be changed (field name, old value → new value, or full content for descriptions/comments) and wait for confirmation before executing. Do not skip this even if the instruction seems unambiguous.
  • Create requires explicit confirmation: Before creating any new Jira issue, show the full details (type, summary, description, parent, labels, etc.) and ask the user to explicitly confirm. Do not create the issue until they say yes — even if the request seems clear and complete.
  • If a project key is ambiguous or missing, ask the user which project to query
  • When an issue key is mentioned in a branch name or commit message, offer to look it up
  • Summarize long descriptions and comment threads instead of dumping raw output
  • The default project is DP (Data Pipelines) — only specify -p when targeting a different project
  • Never invent new labels — always check the existing label list first (see Labels note in Phase 2B) and reuse a matching one

© meain, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in agents/.agents/skills/jira of meain/dotfiles.

Open the folder on GitHubat commit 3e336e2

Compare with similar skills

Jira next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Jira compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Jira this skillmeain/dotfiles285—~2.7kAutomated safety check: PassMIT
Management Talkthananon/9arm-skills3.2k—~3.2kAutomated safety check: PassNone
YugabyteDB Issue Creatoryugabyte/yugabyte-db11k—~2kAutomated safety check: PassCustom licence
Dynamo Jira TicketDynamoDS/Dynamo2k—~1.1kAutomated safety check: PassApache-2.0
Code Reviewcroffasia/itsaplan913—~2kAutomated safety check: PassAGPL-3.0
Connect Apps with ComposioComposioHQ/awesome-claude-skills77k3 repos~557Automated safety check: PassNone

Similar skills

  • Management Talk

    thananon/9arm-skills

    Rewrite engineer-to-engineer content for engineering-org leadership (VPs, directors, PMs, release managers, execs in an engineering-savvy company) and shape it for the channel it is going to — JIRA…

    3.2k GitHub stars~3.2k tokensUpdated 3 mo ago
    Productivity & AutomationAuto-check passed
  • YugabyteDB Issue Creator

    yugabyte/yugabyte-db

    Creates a GitHub issue or JIRA ticket for a YugabyteDB change or bug, after scrubbing customer data, secrets and unreleased details from anything public.

    11k GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed
  • Dynamo Jira Ticket

    DynamoDS/Dynamo

    Create structured Jira tickets for Dynamo from bug reports, failing tests, or feature requests.

    2k GitHub stars~1.1k tokensUpdated today
    Testing & QAAuto-check passed
  • Code Review

    croffasia/itsaplan

    A skill your agent uses when reviewing code — a diff, a merge request, a file, a directory, or a feature.

    913 GitHub stars~2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Connect Apps with Composio

    ComposioHQ/awesome-claude-skills

    Connects an agent to 1000+ external apps through the Composio Tool Router plugin, so it can actually send emails, create issues and post messages instead of only drafting them.

    77k GitHub starsUsed in 3 repos~557 tokens
    Productivity & AutomationAuto-check passed
  • PR Body

    SAP/spartacus

    Official

    A skill your agent uses when the user asks to generate, write, or draft a pull request (PR) body or description for the current branch.

    784 GitHub stars~499 tokensUpdated today
    DevelopmentAuto-check passed

More from meain/dotfiles

All 35 skills in this repo
  • Recall

    meain/dotfiles

    Search past Claude Code and Codex sessions. An agent skill from meain/dotfiles.

    285 GitHub starsUsed in 1 repo~684 tokens
    Auto-check passed
  • Grill With Docs

    meain/dotfiles

    Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise.

    285 GitHub starsUsed in 20 repos~875 tokens
    Auto-check passed
  • Backlog

    meain/dotfiles

    Daily backlog management — full planning review OR add a single entry from a URL.

    285 GitHub stars~3k tokensUpdated yesterday
    Auto-check passed
  • Concern Review

    meain/dotfiles

    Generate an interactive local HTML review page for a large PR or diff, grouping the changed files by logical concern (not just by file) so a reviewer can go through one theme at a time instead of a…

    285 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • My Weekly Report

    meain/dotfiles

    Generate a concise weekly status update in team format. An agent skill from meain/dotfiles.

    285 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Web Search

    meain/dotfiles

    Search the web using lynx and DuckDuckGo. An agent skill from meain/dotfiles.

    285 GitHub stars~830 tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Jira

What does Jira do?

Manage Jira issues using the jira CLI — lookup, create, edit, transition, assign, comment, link, and search. Jira is an agent skill from meain/dotfiles. Manage Jira issues using the jira CLI — lookup, create, edit, transition, assign, comment, link, and search.

How do I install Jira in Claude Code?

Run `npx skills add meain/dotfiles --skill jira -a claude-code`. Or copy the skill folder (agents/.agents/skills/jira in meain/dotfiles) into .claude/skills/jira in your project. Claude Code loads it when a task matches its description.

How do I install Jira in Codex?

Run `npx skills add meain/dotfiles --skill jira -a codex`. Or copy the skill folder (agents/.agents/skills/jira in meain/dotfiles) into .agents/skills/jira in your project. Codex loads it when a task matches its description.

Can I use Jira in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add meain/dotfiles --skill jira -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jira, .gemini/skills/jira, .github/skills/jira and .opencode/skills/jira in your project.

What does Jira need to run?

Going by SKILL.md and its folder, Jira needs the command-line tools its instructions call (curl and jq) and credentials named JIRA_API_TOKEN and PROJECT_KEY. Our summary lists: A credential in PROJECT_KEY; A credential in JIRA_API_TOKEN.

Does Jira access the network?

SKILL.md names 1 domain. In commands or code: veeam-vdc.atlassian.net; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Jira safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Jira use?

Jira is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Jira use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Jira?

Skills that share tags, products or a category with Jira: Management Talk (thananon/9arm-skills, 3.2k stars), YugabyteDB Issue Creator (yugabyte/yugabyte-db, 11k stars), Dynamo Jira Ticket (DynamoDS/Dynamo, 2k stars) and Code Review (croffasia/itsaplan, 913 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jira?

meain (a GitHub user) maintains it in meain/dotfiles, which has 285 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 8, 2026.

Source: meain/dotfiles on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.