Agent skill

Jira

by kv0906 in kv0906/pm-kit

Jira integration via acli CLI. An agent skill from kv0906/pm-kit.

MITAuto-check: notesProduct & Project Management

Install Jira

skills CLI
$ npx skills add kv0906/pm-kit --skill jira -a claude-code

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

GitHub CLI
$ gh skill install kv0906/pm-kit 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/kv0906/pm-kit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/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
138
Token cost
~4.2k tokens
SKILL.md length
1,372 words
Files
3 (incl. scripts, references)
Skills in repo
26
Repo updated
First seen
Licence
MIT

At a glance

Jira integration via acli CLI. An agent skill from kv0906/pm-kit.

  • Works in 4 steps: If user provides a Jira project key… → If user provides a vault project ID… → If no project specified, check for a… → …
  • User says /jira
  • SKILL.md covers Prerequisites, Context, Input and Sub-commands, plus 12 more sections
  • Runs Shell scripts from its folder; calls brew; reaches bobswift.atlassian.net and id.atlassian.com

What it does

Jira is an agent skill from kv0906/pm-kit. Jira integration via acli CLI. Use when user says '/jira', 'check Jira board', 'create Jira ticket', 'move ticket to done', 'search Jira', 'sync blockers from Jira', 'what's in the sprint', 'Jira status', 'assign ticket', 'view backlog', or wants to interact with Jira issues, sprints, or boards from the terminal.

Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts and reference files (for example `references/jql-cheatsheet.md` and `scripts/check-jira.sh`).

It sits in Product & Project Management. It works with Jira. The repository describes itself as: AI-augmented PM workspace for Coding Agents — daily standups, decisions, blockers, docs, and sprint reviews as markdown skills. The licence is MIT.

When your agent uses it

  • User says /jira
  • Check Jira board
  • Create Jira ticket
  • Move ticket to done

Example prompts

  • “check Jira board”
  • “create Jira ticket”
  • “move ticket to done”
  • “/jira”

Requirements

  • A Bash shell
  • A credential in YOUR_API_TOKEN
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash, Glob, Grep, TaskCreate, TaskUpdate, TaskList, TaskGet

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. If user provides a Jira project key directly (e.g., TEAM), use it
  2. If user provides a vault project ID (e.g., project-a), look up integrations.jira.project_mapping in _core/config.yaml
  3. If no project specified, check for a single active project or use integrations.jira.default_board
  4. If ambiguous, ask the user

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash
    • Glob
    • Grep
    • TaskCreate
    • TaskUpdate
    • TaskList
    • TaskGet

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • brew

    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:

    • bobswift.atlassian.net
    • id.atlassian.com

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

  • Credentials

    Names no API keys, tokens, secrets or passwords.

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

Context cost

Jira loads about 4.2k tokens when it runs, and up to ~4.9k if it reads all its reference files. Until then it costs about 80 tokens; SKILL.md has 1,372 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~80
When it runs · the whole SKILL.md, loaded when a task matches
~4.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.9k

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TaskCreate, TaskUpdate, TaskList, TaskGet

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); the scripts in this folder are not scanned.

SKILL.md

The full file from kv0906/pm-kit at commit 2cb5d9f, republished under its MIT licence (© kv0906). 1,372 words, ~4,151 tokens.

Download SKILL.mdSave it as .claude/skills/jira/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
jira
description
Jira integration via acli CLI. Use when user says '/jira', 'check Jira board', 'create Jira ticket', 'move ticket to done', 'search Jira', 'sync blockers from Jira', 'what's in the sprint', 'Jira status', 'assign ticket', 'view backlog', or wants to interact with Jira issues, sprints, or boards from the terminal.
allowed-tools
Read, Write, Edit, Bash, Glob, Grep, TaskCreate, TaskUpdate, TaskList, TaskGet
user-invocable
true

/jira — Jira Integration

Bridge your PM-Kit vault with Jira issue tracking via the acli (Atlassian CLI) command-line tool. View boards, create/edit/transition issues, search via JQL, and sync Jira state with vault notes.

Prerequisites

Context

Today's date: !date +%Y-%m-%d Config: @_core/config.yaml Processing rules: @_core/PROCESSING.md Active projects: !ls 01-index/*.md 2>/dev/null | sed 's|01-index/||;s|\.md||'

Input

User input: $ARGUMENTS

Sub-commands

Parse the first word of $ARGUMENTS to determine the sub-command:

Input starts withSub-commandPurposeRead/Write
setupSetupGuide installation + auth configurationConfig write
boardBoardShow board columns with issue countsRead-only
createCreateCreate a Jira issueJira write + optional vault note
statusStatusShow details for a specific issueRead-only
moveMoveTransition an issue to a new statusJira write + vault note update
editEditUpdate issue fieldsJira write
assignAssignAssign an issue to someoneJira write
backlogBacklogShow backlog itemsRead-only
searchSearchFind issues via JQL or natural languageRead-only
sprintSprintShow active sprint detailsRead-only
syncSyncPull Jira state into vault notesVault write (additive only)
(empty)HelpShow help + quick status summaryRead-only

Step 0: Connection Check

Before any sub-command (except setup), verify acli is installed and authenticated:

bash
# 1. Check acli is installed
command -v acli &>/dev/null

# 2. Check auth works with a simple query
acli jira --action getServerInfo 2>/dev/null

If either fails:

Jira CLI (acli) is not connected yet.

Run `/jira setup` to install and configure — it takes about 2 minutes.

Then stop. Don't attempt other operations without a working connection.

Project Resolution

Many sub-commands accept an optional [PROJECT] argument. Resolve it:

  1. If user provides a Jira project key directly (e.g., TEAM), use it
  2. If user provides a vault project ID (e.g., project-a), look up integrations.jira.project_mapping in _core/config.yaml
  3. If no project specified, check for a single active project or use integrations.jira.default_board
  4. If ambiguous, ask the user

setup — Install & Configure

Guide the user through installing acli and connecting to their Jira instance.

Steps to present:
## Jira CLI Setup

### Step 1: Install acli
  brew install acli

Or download from: https://bobswift.atlassian.net/wiki/spaces/ACLI

### Step 2: Authenticate
  acli jira --server https://YOUR-ORG.atlassian.net --user your@email.com --token YOUR_API_TOKEN --action getServerInfo

Generate an API token at: https://id.atlassian.com/manage-profile/security/api-tokens

### Step 3: Save credentials
Create ~/.acli/credentials with:

  jira.server = https://YOUR-ORG.atlassian.net
  jira.user = your@email.com
  jira.token = YOUR_API_TOKEN

### Step 4: Verify
  /jira

You should see your Jira instance info and recent activity.

After presenting, ask the user for their Jira site URL and email to help configure.

Then update _core/config.yaml integrations block:

yaml
integrations:
  jira:
    enabled: true
    site: "your-org.atlassian.net"
    email: "your@email.com"
    project_mapping:
      project-a: TEAM        # vault project ID: JIRA PROJECT KEY
    default_board: ""
    status_mapping:
      "To Do": wip
      "In Progress": wip
      "Done": shipped
      "Blocked": blocked

Confirm each value with the user before writing.


board — View Board

Show the current board state with issues grouped by column.

Processing
  1. Resolve project (see Project Resolution above)
  2. Fetch board data:
bash
acli jira --action getIssueList --project "PROJECT" --outputType json
  1. Group issues by status and present:
## Jira Board — {PROJECT}

### To Do ({count})
- [{KEY}] {summary} — {assignee} ({priority})

### In Progress ({count})
- [{KEY}] {summary} — {assignee} ({priority})

### Done ({count} recent)
- [{KEY}] {summary} — completed {date}
  1. Highlight any issues matching vault blockers (cross-reference by jira_key in frontmatter)

create — Create Issue

Create a Jira issue, optionally from vault note context.

Processing
  1. Determine source — Check if user provided:

    • A vault file path or wikilink → Read that note for context
    • --type, --summary, --description flags → Use directly
    • Freeform text → Parse into fields
    • Nothing → Ask what to create
  2. Extract issue fields:

    • Project: From vault project mapping or ask
    • Type: Task (default), Bug, Story, Epic — from --type or inferred from note type (blocker→Bug)
    • Summary: From --summary, note H1, or frontmatter title
    • Description: From note body or --description (convert wikilinks to plain text)
    • Priority: Map from blocker severity (high→Highest, medium→High, low→Medium) or ask
    • Assignee: From --assignee or ask (optional)
  3. Confirm with user before creating:

Creating Jira issue:
  Project: {PROJECT}
  Type: {type}
  Summary: {summary}
  Priority: {priority}
  Assignee: {assignee}

Proceed? (y/n)
  1. Create the issue:
bash
acli jira --action createIssue --project "PROJECT" --type "Task" --summary "summary" --description "description" --priority "Medium"
  1. Link back — If created from a vault note, update the note:

    • Add jira_key: KEY-123 to frontmatter
    • Add to ## Links > ### Related:
    markdown
    - [KEY-123](https://site.atlassian.net/browse/KEY-123) — Jira issue
  2. Report the created issue key and URL.


status — Issue Details

Show detailed information for a specific issue.

Processing
  1. Parse issue key from $ARGUMENTS (e.g., TEAM-42)
  2. Fetch issue details:
bash
acli jira --action getIssue --issue "KEY-123" --outputType json
  1. Present formatted output:
## TEAM-42: {summary}

**Status**: {status} | **Priority**: {priority} | **Type**: {type}
**Assignee**: {assignee} | **Reporter**: {reporter}
**Sprint**: {sprint} | **Created**: {date}

### Description
{description}

### Comments ({count})
- {author} ({date}): {comment snippet}...

### Vault Links
- [[blockers/project-a/2026-03-01-api-rate-limit|API Rate Limit]] (jira_key: TEAM-42)
  1. Check vault for any notes with jira_key: KEY-123 in frontmatter and show cross-references.

move — Transition Issue

Move an issue to a new status (e.g., "In Progress" → "Done").

Processing
  1. Parse issue key and target status from $ARGUMENTS
    • e.g., /jira move TEAM-42 "Done" or /jira move TEAM-42 done
  2. Fetch available transitions:
bash
acli jira --action getTransitionList --issue "KEY-123"
  1. Match target status (case-insensitive, fuzzy match)
  2. Confirm before executing:
Moving TEAM-42: "API Rate Limit Fix"
  From: In Progress
  To: Done

Proceed? (y/n)
  1. Execute transition:
bash
acli jira --action transitionIssue --issue "KEY-123" --transition "Done"
  1. Update vault — If a vault note has jira_key: KEY-123:
    • If moved to a "shipped" status (per status_mapping): Update note status: resolved or status: shipped
    • If moved to a "blocked" status: Flag in daily note
    • Check if archive_on_status_change applies

edit — Update Issue Fields

Update fields on an existing Jira issue.

Processing
  1. Parse issue key and fields from $ARGUMENTS
    • --summary "new title", --description "new desc", --priority High, --labels "label1,label2"
  2. Confirm before executing:
Updating TEAM-42:
  summary: "New Title"
  priority: High

Proceed? (y/n)
  1. Execute update:
bash
acli jira --action updateIssue --issue "KEY-123" --summary "New Title" --priority "High"

assign — Assign Issue

Assign an issue to a team member.

Processing
  1. Parse issue key and assignee from $ARGUMENTS
    • /jira assign TEAM-42 "john.doe" or /jira assign TEAM-42 me
  2. If me, resolve current user from config
  3. Confirm before executing:
Assigning TEAM-42 to john.doe

Proceed? (y/n)
  1. Execute:
bash
acli jira --action updateIssue --issue "KEY-123" --assignee "john.doe"

backlog — View Backlog

Show backlog items not in the active sprint.

Processing
  1. Resolve project
  2. Fetch backlog issues:
bash
acli jira --action getIssueList --project "PROJECT" --filter "sprint not in openSprints()" --outputType json
  1. Present sorted by priority:
## Backlog — {PROJECT} ({count} items)

### High Priority
- [{KEY}] {summary} — {type} ({assignee})

### Medium Priority
- [{KEY}] {summary} — {type} ({assignee})

### Low / Unset
- [{KEY}] {summary} — {type}

search — Search Issues

Find issues using JQL or natural language queries.

Show full SKILL.md (597 more words)Show less
Processing
  1. Parse query from $ARGUMENTS (everything after "search")

  2. Determine if it's JQL or natural language:

    • Contains JQL operators (=, in, AND, ORDER BY, field names like assignee, status) → Use as JQL
    • Otherwise → Convert natural language to JQL
  3. Natural language → JQL conversion examples:

    • "my open bugs" → assignee = currentUser() AND type = Bug AND status != Done
    • "high priority in TEAM" → project = TEAM AND priority in (Highest, High)
    • "created this week" → created >= startOfWeek()
    • "blocked items" → status = Blocked OR labels = blocked

    When unsure, refer to references/jql-cheatsheet.md for patterns.

  4. Execute search:

bash
acli jira --action getIssueList --jql "YOUR_JQL" --outputType json
  1. Present results:
## Jira Search: "{query}"

Found {count} issues:

| Key | Summary | Status | Assignee | Priority | Updated |
|-----|---------|--------|----------|----------|---------|
| {key} | {summary} | {status} | {assignee} | {priority} | {date} |
  1. Offer follow-up actions: "Want to /jira status KEY for details or /jira move KEY status to transition?"

sprint — Active Sprint

Show the active sprint with progress metrics.

Processing
  1. Resolve project
  2. Fetch active sprint data:
bash
acli jira --action getIssueList --project "PROJECT" --filter "sprint in openSprints()" --outputType json
  1. Present with metrics:
## Active Sprint — {sprint name}

**Dates**: {start} → {end} ({days remaining} days left)
**Progress**: {done}/{total} issues ({percent}%)

### Done ({count})
- [{KEY}] {summary}

### In Progress ({count})
- [{KEY}] {summary} — {assignee}

### To Do ({count})
- [{KEY}] {summary} — {assignee}

### Blocked ({count})
- [{KEY}] {summary} — ⚠ {blocker reason}

sync — Pull Jira State Into Vault

Sync Jira issue state with vault notes. Additive only — creates/updates vault notes, never deletes.

Processing
  1. Create a session task for progress tracking
  2. Resolve project (or sync all mapped projects)
  3. Read integrations.jira.status_mapping and integrations.jira.project_mapping from config
  4. Fetch recent issues (updated in last 7 days, or --days N):
bash
acli jira --action getIssueList --project "PROJECT" --jql "updated >= -7d" --outputType json
  1. For each issue, determine vault action based on status_mapping:

    Blocked issues → Create/update blocker notes:

    • Check if a blocker note with jira_key: KEY already exists
    • If not, create one using _templates/blocker.md:
      • jira_key: KEY-123 in frontmatter
      • tags: [KEY-123]
      • severity mapped from Jira priority
      • ## Links includes [KEY-123](https://site/browse/KEY-123)
    • If exists and still blocked, skip (no-op)
    • If exists but now resolved in Jira, update status: resolved

    Shipped issues → Update daily note:

    • Check today's daily note exists
    • Append shipped items under the relevant project's ### Shipped section
    • Format: - [{KEY}] {summary} ✓

    Resolved blockers → Archive:

    • Find vault blockers with matching jira_key where Jira status maps to "shipped"
    • Update status: resolved (auto-archive rules will handle the rest)
  2. Bulk safety: If sync would create 5+ new notes, show summary and confirm:

Sync will create:
  - 3 new blocker notes
  - 7 shipped items added to daily note
  - 2 blockers resolved

Proceed? (y/n)
  1. Report what was synced:
## Jira Sync Complete — {date}

Created: 3 blocker notes
Updated: 2 blockers → resolved
Daily: 7 shipped items added
Skipped: 12 issues (no vault action needed)
Flags
  • --days N — Look back N days (default: 7)
  • --dry-run — Show what would change without writing
  • --project {name} — Sync only one project

(empty) — Help & Quick Status

When called with no arguments, show help and a quick status summary.

Processing
  1. Check acli connection status
  2. Read Jira config from _core/config.yaml
  3. Count vault notes linked to Jira issues:
bash
grep -rl "^jira_key:" --include="*.md" | wc -l
  1. Present:
## Jira Integration

**Status**: Connected to {site}
**Mapped projects**: {project-a} → TEAM, ...
**Vault links**: {count} notes linked to Jira issues

### Commands

| Command | Example | Purpose |
|---------|---------|---------|
| board | `/jira board TEAM` | View board columns |
| create | `/jira create TEAM --summary "..."` | Create issue |
| status | `/jira status TEAM-42` | Issue details |
| move | `/jira move TEAM-42 Done` | Transition issue |
| edit | `/jira edit TEAM-42 --summary "..."` | Update fields |
| assign | `/jira assign TEAM-42 john` | Assign issue |
| backlog | `/jira backlog TEAM` | View backlog |
| search | `/jira search "my open bugs"` | Search via JQL |
| sprint | `/jira sprint TEAM` | Active sprint |
| sync | `/jira sync` | Pull state into vault |
| setup | `/jira setup` | Configure connection |

Vault Integration Patterns

Frontmatter Tagging

When a vault note is linked to a Jira issue, add to frontmatter:

yaml
jira_key: TEAM-42
tags: [TEAM-42]
Cross-Reference Format

In note body and ## Links sections, use:

markdown
[TEAM-42](https://your-org.atlassian.net/browse/TEAM-42)
Status Mapping

Map Jira statuses to PM-Kit categories via integrations.jira.status_mapping in config:

Jira StatusPM-Kit Category
To Dowip
In Progresswip
Doneshipped
Blockedblocked

Users can customize this mapping for their Jira workflow (e.g., add "In Review" → wip).

Safety Rules

  1. Read-only commands execute without confirmation: board, status, search, sprint, backlog
  2. Mutating commands require confirmation: create, move, edit, assign
  3. Sync is additive only — creates/updates vault notes, never deletes vault content
  4. Bulk operations (5+ changes) show summary before proceeding
  5. API tokens are handled by acli — never log, display, or store tokens in vault files
  6. Never auto-transition Jira issues based on vault changes — Jira writes only happen via explicit commands

Error Handling

ErrorResponse
acli not installedShow install instructions, suggest /jira setup
Not authenticatedShow auth steps, link to API token page
Invalid project keyShow available projects from config mapping
Issue not foundSuggest search, check key format
Transition not availableShow available transitions for the issue
No project mappingAsk user to configure in _core/config.yaml or run /jira setup

Additional Resources

Reference Files
  • references/jql-cheatsheet.md — Common JQL patterns for PMs
Scripts
  • scripts/check-jira.sh — Verify acli installation and auth status

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

Files

SKILL.md and 2 other files (scripts, references) in .claude/skills/jira of kv0906/pm-kit.

  • SKILL.md
  • references/jql-cheatsheet.md
  • scripts/check-jira.sh

Open the folder on GitHubat commit 2cb5d9f

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 skillkv0906/pm-kit138—~4.2kAutomated safety check: NotesMIT
Jira Natural Language Interfacejjmartres/opencode1333 repos~1.7kAutomated safety check: PassMIT
Tidycroffasia/itsaplan913—~2.8kAutomated safety check: PassAGPL-3.0
Jira CLICode-and-Sorts/awesome-copilot-agents5801 repos~1.7kAutomated safety check: PassMIT
JiraVixenLights/Vixen114—~3.4kAutomated safety check: PassCustom licence
Retrokoolamusic/claudefiles130—~2.8kAutomated safety check: PassMIT

Similar skills

  • Lets an agent view, create, update and transition Jira issues in natural language, automatically choosing between the jira CLI and Atlassian MCP tools.

    133 GitHub starsUsed in 3 repos~1.7k tokens
    Product & Project ManagementAuto-check passed
  • Tidy

    croffasia/itsaplan

    Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality.

    913 GitHub stars~2.8k tokensUpdated yesterday
    Product & Project ManagementAuto-check passed
  • Jira CLI

    Code-and-Sorts/awesome-copilot-agents

    Interact with Jira from the command line to create, list, view, edit, and transition issues, manage sprints and epics, and perform common Jira workflows.

    580 GitHub starsUsed in 1 repo~1.7k tokens
    Product & Project ManagementAuto-check passed
  • Jira

    VixenLights/Vixen

    Manages JIRA issues, projects, and workflows using Atlassian MCP.

    114 GitHub stars~3.4k tokensUpdated yesterday
    Product & Project ManagementAuto-check passed
  • Retro

    koolamusic/claudefiles

    A skill your agent uses when a user completes a phase, sprint, milestone, or meaningful unit of work and needs a retrospective.

    130 GitHub stars~2.8k tokensUpdated yesterday
    Product & Project ManagementAuto-check passed
  • Run Parallel Tasks

    LIDR-academy/AI4Devs-LTI-extended

    Run N feature tasks in parallel, each in its own worktree, following the full specboot pipeline (enrich → new → ff → apply → verify).

    278 GitHub stars~1.5k tokensUpdated 4 mo ago
    Product & Project ManagementAuto-check passed

More from kv0906/pm-kit

All 26 skills in this repo
  • Mermaid Visualizer

    kv0906/pm-kit

    Transform text content into professional Mermaid diagrams for presentations and documentation.

    138 GitHub starsUsed in 2 repos~2.2k tokens
    Auto-check passed
  • Gws

    kv0906/pm-kit

    This skill should be used when the user asks to "set up gws", "install Google Workspace CLI", "connect Gmail to Claude", "manage Google Drive from terminal", "send email from CLI", "check my…

    138 GitHub stars~1.6k tokensUpdated 3 mo ago
    Auto-check passed
  • Professional Excalidraw diagram generation expert that creates complete, valid .excalidraw.json files based on user descriptions.

    138 GitHub stars~3k tokensUpdated 3 mo ago
    Auto-check passed
  • Ask

    kv0906/pm-kit

    Fast vault Q&A — quick lookups, decision history, blocker status, doc search.

    138 GitHub stars~781 tokensUpdated 3 mo ago
    Auto-check passed
  • Block

    kv0906/pm-kit

    Flag a blocker with severity, owner, and due date. An agent skill from kv0906/pm-kit.

    138 GitHub stars~466 tokensUpdated 3 mo ago
    Auto-check: notes
  • Daily

    kv0906/pm-kit

    Log standup update with keyword detection. An agent skill from kv0906/pm-kit.

    138 GitHub stars~749 tokensUpdated 3 mo ago
    Auto-check passed

Works with

Questions about Jira

What does Jira do?

Jira integration via acli CLI. An agent skill from kv0906/pm-kit. Jira is an agent skill from kv0906/pm-kit. Jira integration via acli CLI.

When should I use Jira?

Jira fits situations like: user says /jira; check Jira board; create Jira ticket; move ticket to done.

How do I install Jira in Claude Code?

Run `npx skills add kv0906/pm-kit --skill jira -a claude-code`. Or copy the skill folder (.claude/skills/jira in kv0906/pm-kit) 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 kv0906/pm-kit --skill jira -a codex`. Or copy the skill folder (.claude/skills/jira in kv0906/pm-kit) 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 kv0906/pm-kit --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 a shell for the scripts in its folder and the command-line tools its instructions call (brew). Our summary lists: A Bash shell; A credential in YOUR_API_TOKEN. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, Glob, Grep, TaskCreate, TaskUpdate, TaskList, TaskGet.

Does Jira access the network?

SKILL.md names 2 domains. In commands or code: bobswift.atlassian.net and id.atlassian.com; the agent is likely to contact these 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 notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

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 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 792 tokens, read only when the agent opens those files.

What are the alternatives to Jira?

Skills that share tags, products or a category with Jira: Jira Natural Language Interface (jjmartres/opencode, 133 stars), Tidy (croffasia/itsaplan, 913 stars), Jira CLI (Code-and-Sorts/awesome-copilot-agents, 580 stars) and Jira (VixenLights/Vixen, 114 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jira?

kv0906 (a GitHub user) maintains it in kv0906/pm-kit, which has 138 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on June 29, 2026.

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