Jira Natural Language Interface
jjmartres/opencode
Lets an agent view, create, update and transition Jira issues in natural language, automatically choosing between the jira CLI and Atlassian MCP tools.
Jira integration via acli CLI. An agent skill from kv0906/pm-kit.
$ npx skills add kv0906/pm-kit --skill jira -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install kv0906/pm-kit jira --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "jira" agent skill from https://github.com/kv0906/pm-kit/tree/main/.claude/skills/jira into .claude/skills/jira/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jira", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/kv0906/pm-kit/tree/main/.claude/skills/jiraType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add kv0906/pm-kit --skill jira -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install kv0906/pm-kit jira --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kv0906/pm-kit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/jira .agents/skills/jira && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jira" agent skill from https://github.com/kv0906/pm-kit/tree/main/.claude/skills/jira into .agents/skills/jira/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jira", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add kv0906/pm-kit --skill jira -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install kv0906/pm-kit jira --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kv0906/pm-kit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/jira .cursor/skills/jira && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "jira" agent skill from https://github.com/kv0906/pm-kit/tree/main/.claude/skills/jira into .cursor/skills/jira/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jira", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/kv0906/pm-kit.git --path .claude/skills/jira--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add kv0906/pm-kit --skill jira -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install kv0906/pm-kit jira --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kv0906/pm-kit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/jira .gemini/skills/jira && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "jira" agent skill from https://github.com/kv0906/pm-kit/tree/main/.claude/skills/jira into .gemini/skills/jira/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jira", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install kv0906/pm-kit jiraInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add kv0906/pm-kit --skill jira -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/kv0906/pm-kit.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/jira .github/skills/jira && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "jira" agent skill from https://github.com/kv0906/pm-kit/tree/main/.claude/skills/jira into .github/skills/jira/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jira", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add kv0906/pm-kit --skill jira -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install kv0906/pm-kit jira --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kv0906/pm-kit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/jira .opencode/skills/jira && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "jira" agent skill from https://github.com/kv0906/pm-kit/tree/main/.claude/skills/jira into .opencode/skills/jira/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jira", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
jiraJira 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. 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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2cb5d9f. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditBashGlobGrepTaskCreateTaskUpdateTaskListTaskGetFrom allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
brewFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
bobswift.atlassian.netid.atlassian.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TaskCreate, TaskUpdate, TaskList, TaskGetAutomated 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.
The full file from kv0906/pm-kit at commit 2cb5d9f, republished under its MIT licence (© kv0906). 1,372 words, ~4,151 tokens.
.claude/skills/jira/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.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.
brew install acli or download from https://bobswift.atlassian.net/wiki/spaces/ACLIacli jira auth loginToday'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||'
User input: $ARGUMENTS
Parse the first word of $ARGUMENTS to determine the sub-command:
| Input starts with | Sub-command | Purpose | Read/Write |
|---|---|---|---|
setup | Setup | Guide installation + auth configuration | Config write |
board | Board | Show board columns with issue counts | Read-only |
create | Create | Create a Jira issue | Jira write + optional vault note |
status | Status | Show details for a specific issue | Read-only |
move | Move | Transition an issue to a new status | Jira write + vault note update |
edit | Edit | Update issue fields | Jira write |
assign | Assign | Assign an issue to someone | Jira write |
backlog | Backlog | Show backlog items | Read-only |
search | Search | Find issues via JQL or natural language | Read-only |
sprint | Sprint | Show active sprint details | Read-only |
sync | Sync | Pull Jira state into vault notes | Vault write (additive only) |
| (empty) | Help | Show help + quick status summary | Read-only |
Before any sub-command (except setup), verify acli is installed and authenticated:
# 1. Check acli is installed
command -v acli &>/dev/null
# 2. Check auth works with a simple query
acli jira --action getServerInfo 2>/dev/nullIf 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.
Many sub-commands accept an optional [PROJECT] argument. Resolve it:
TEAM), use itproject-a), look up integrations.jira.project_mapping in _core/config.yamlintegrations.jira.default_boardGuide the user through installing acli and connecting to their Jira instance.
## 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:
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": blockedConfirm each value with the user before writing.
Show the current board state with issues grouped by column.
acli jira --action getIssueList --project "PROJECT" --outputType json## Jira Board — {PROJECT}
### To Do ({count})
- [{KEY}] {summary} — {assignee} ({priority})
### In Progress ({count})
- [{KEY}] {summary} — {assignee} ({priority})
### Done ({count} recent)
- [{KEY}] {summary} — completed {date}jira_key in frontmatter)Create a Jira issue, optionally from vault note context.
Determine source — Check if user provided:
--type, --summary, --description flags → Use directlyExtract issue fields:
--type or inferred from note type (blocker→Bug)--summary, note H1, or frontmatter title--description (convert wikilinks to plain text)--assignee or ask (optional)Confirm with user before creating:
Creating Jira issue:
Project: {PROJECT}
Type: {type}
Summary: {summary}
Priority: {priority}
Assignee: {assignee}
Proceed? (y/n)acli jira --action createIssue --project "PROJECT" --type "Task" --summary "summary" --description "description" --priority "Medium"Link back — If created from a vault note, update the note:
jira_key: KEY-123 to frontmatter## Links > ### Related:- [KEY-123](https://site.atlassian.net/browse/KEY-123) — Jira issueReport the created issue key and URL.
Show detailed information for a specific issue.
$ARGUMENTS (e.g., TEAM-42)acli jira --action getIssue --issue "KEY-123" --outputType json## 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)jira_key: KEY-123 in frontmatter and show cross-references.Move an issue to a new status (e.g., "In Progress" → "Done").
$ARGUMENTS/jira move TEAM-42 "Done" or /jira move TEAM-42 doneacli jira --action getTransitionList --issue "KEY-123"Moving TEAM-42: "API Rate Limit Fix"
From: In Progress
To: Done
Proceed? (y/n)acli jira --action transitionIssue --issue "KEY-123" --transition "Done"jira_key: KEY-123:status_mapping): Update note status: resolved or status: shippedarchive_on_status_change appliesUpdate fields on an existing Jira issue.
$ARGUMENTS--summary "new title", --description "new desc", --priority High, --labels "label1,label2"Updating TEAM-42:
summary: "New Title"
priority: High
Proceed? (y/n)acli jira --action updateIssue --issue "KEY-123" --summary "New Title" --priority "High"Assign an issue to a team member.
$ARGUMENTS/jira assign TEAM-42 "john.doe" or /jira assign TEAM-42 meme, resolve current user from configAssigning TEAM-42 to john.doe
Proceed? (y/n)acli jira --action updateIssue --issue "KEY-123" --assignee "john.doe"Show backlog items not in the active sprint.
acli jira --action getIssueList --project "PROJECT" --filter "sprint not in openSprints()" --outputType json## Backlog — {PROJECT} ({count} items)
### High Priority
- [{KEY}] {summary} — {type} ({assignee})
### Medium Priority
- [{KEY}] {summary} — {type} ({assignee})
### Low / Unset
- [{KEY}] {summary} — {type}Find issues using JQL or natural language queries.
Parse query from $ARGUMENTS (everything after "search")
Determine if it's JQL or natural language:
=, in, AND, ORDER BY, field names like assignee, status) → Use as JQLNatural language → JQL conversion examples:
assignee = currentUser() AND type = Bug AND status != Doneproject = TEAM AND priority in (Highest, High)created >= startOfWeek()status = Blocked OR labels = blockedWhen unsure, refer to references/jql-cheatsheet.md for patterns.
Execute search:
acli jira --action getIssueList --jql "YOUR_JQL" --outputType json## Jira Search: "{query}"
Found {count} issues:
| Key | Summary | Status | Assignee | Priority | Updated |
|-----|---------|--------|----------|----------|---------|
| {key} | {summary} | {status} | {assignee} | {priority} | {date} |/jira status KEY for details or /jira move KEY status to transition?"Show the active sprint with progress metrics.
acli jira --action getIssueList --project "PROJECT" --filter "sprint in openSprints()" --outputType json## 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 Jira issue state with vault notes. Additive only — creates/updates vault notes, never deletes.
integrations.jira.status_mapping and integrations.jira.project_mapping from config--days N):acli jira --action getIssueList --project "PROJECT" --jql "updated >= -7d" --outputType jsonFor each issue, determine vault action based on status_mapping:
Blocked issues → Create/update blocker notes:
jira_key: KEY already exists_templates/blocker.md:jira_key: KEY-123 in frontmattertags: [KEY-123]severity mapped from Jira priority## Links includes [KEY-123](https://site/browse/KEY-123)status: resolvedShipped issues → Update daily note:
### Shipped section- [{KEY}] {summary} ✓Resolved blockers → Archive:
jira_key where Jira status maps to "shipped"status: resolved (auto-archive rules will handle the rest)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)## Jira Sync Complete — {date}
Created: 3 blocker notes
Updated: 2 blockers → resolved
Daily: 7 shipped items added
Skipped: 12 issues (no vault action needed)--days N — Look back N days (default: 7)--dry-run — Show what would change without writing--project {name} — Sync only one projectWhen called with no arguments, show help and a quick status summary.
_core/config.yamlgrep -rl "^jira_key:" --include="*.md" | wc -l## 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 |When a vault note is linked to a Jira issue, add to frontmatter:
jira_key: TEAM-42
tags: [TEAM-42]In note body and ## Links sections, use:
[TEAM-42](https://your-org.atlassian.net/browse/TEAM-42)Map Jira statuses to PM-Kit categories via integrations.jira.status_mapping in config:
| Jira Status | PM-Kit Category |
|---|---|
| To Do | wip |
| In Progress | wip |
| Done | shipped |
| Blocked | blocked |
Users can customize this mapping for their Jira workflow (e.g., add "In Review" → wip).
| Error | Response |
|---|---|
| acli not installed | Show install instructions, suggest /jira setup |
| Not authenticated | Show auth steps, link to API token page |
| Invalid project key | Show available projects from config mapping |
| Issue not found | Suggest search, check key format |
| Transition not available | Show available transitions for the issue |
| No project mapping | Ask user to configure in _core/config.yaml or run /jira setup |
references/jql-cheatsheet.md — Common JQL patterns for PMsscripts/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
SKILL.md and 2 other files (scripts, references) in .claude/skills/jira of kv0906/pm-kit.
Open the folder on GitHubat commit 2cb5d9f
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Jira this skillkv0906/pm-kit | 138 | — | ~4.2k | Automated safety check: Notes | MIT | |
| Jira Natural Language Interfacejjmartres/opencode | 133 | 3 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Tidycroffasia/itsaplan | 913 | — | ~2.8k | Automated safety check: Pass | AGPL-3.0 | |
| Jira CLICode-and-Sorts/awesome-copilot-agents | 580 | 1 repos | ~1.7k | Automated safety check: Pass | MIT | |
| JiraVixenLights/Vixen | 114 | — | ~3.4k | Automated safety check: Pass | Custom licence | |
| Retrokoolamusic/claudefiles | 130 | — | ~2.8k | Automated safety check: Pass | MIT |
jjmartres/opencode
Lets an agent view, create, update and transition Jira issues in natural language, automatically choosing between the jira CLI and Atlassian MCP tools.
croffasia/itsaplan
Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality.
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.
VixenLights/Vixen
Manages JIRA issues, projects, and workflows using Atlassian MCP.
koolamusic/claudefiles
A skill your agent uses when a user completes a phase, sprint, milestone, or meaningful unit of work and needs a retrospective.
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).
kv0906/pm-kit
Transform text content into professional Mermaid diagrams for presentations and documentation.
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…
kv0906/pm-kit
Professional Excalidraw diagram generation expert that creates complete, valid .excalidraw.json files based on user descriptions.
kv0906/pm-kit
Fast vault Q&A — quick lookups, decision history, blocker status, doc search.
kv0906/pm-kit
Flag a blocker with severity, owner, and due date. An agent skill from kv0906/pm-kit.
kv0906/pm-kit
Log standup update with keyword detection. An agent skill from kv0906/pm-kit.
Works with
Categories
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.
Jira fits situations like: user says /jira; check Jira board; create Jira ticket; move ticket to done.
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.
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.
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.
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.
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.
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.
Jira is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
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.
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.
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.