본문으로 건너뛰기
cccskills
무료GitHub에 공개

jira-cli

Use @pchuri/jira-cli to view, search, create, update, and delete Jira issues, comments, sprints, and projects from the terminal. Prefer this skill over `mcp__claude_ai_Atlassian__*` MCP tools when you need: JQL search, sprint/board management, markdown export, file-based descriptions, issue deletion, comment management, or shell pipelines. Trigger phrases include "jira", "jira-cli", "jira issue", "create jira issue", "search jira", "jira sprint", "jira board", "jira project", "jira comment", "jira JQL", "list jira issues", "view jira issue", "jira backlog".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구ConfluenceJira

실행 점수 미검증

설치 방법 보기

포함된 파일(2)

  • SKILL.md18.9 KB
  • feedback/amendments.md719 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

jira-cli Skill

A CLI tool for Atlassian Jira. Lets you view, search, create, update, and delete issues, manage comments, sprints, and projects from the terminal or from an agent.

Installation

npm install -g @pchuri/jira-cli
jira --version   # verify install

Configuration

Preferred for agents — environment variables (no interactive prompt):

VariableDescriptionExample
JIRA_HOSTYour Jira hostnamecompany.atlassian.net
JIRA_API_TOKENAPI token or personal access tokenATATT3x...
JIRA_USERNAMEEmail address (Basic auth only)user@company.com
JIRA_API_VERSIONAPI version: auto (default), 2, or 3auto

Legacy env vars (JIRA_DOMAIN, JIRA_USERNAME, JIRA_API_TOKEN) are also supported.

Bearer token authentication (recommended):

jira config --server https://company.atlassian.net --token your-api-token

Basic authentication (legacy):

jira config --server https://company.atlassian.net --username user@company.com --token your-api-token

View / modify config:

jira config --show                    # display current settings
jira config set <key> <value>         # set individual config value

Config is stored in platform-specific directories (e.g. ~/.config/jira-cli/ on Linux/macOS, %APPDATA%\jira-cli\ on Windows).

Cloud vs Server/DC:

  • Atlassian Cloud (*.atlassian.net): use Bearer token auth with email + API token
  • Self-hosted / Data Center: use Bearer token auth with a personal access token
  • API version auto-detection tries v3 first, falls back to v2

Non-interactive setup for agents:

export JIRA_HOST="company.atlassian.net"
export JIRA_API_TOKEN="your-api-token"
# Optional for Basic auth:
export JIRA_USERNAME="user@company.com"

Constraints

  • Always use jira CLI — it must be globally installed via npm (@pchuri/jira-cli).
  • Configuration must already be set up (env vars or jira config). If not, guide the user through setup.
  • For simple Jira issue view/create/edit operations where mcp__claude_ai_Atlassian__* MCP tools suffice, prefer MCP (less overhead, no shell spawning). Switch to CLI for features MCP lacks.

Preflight Check

Before running any jira command, verify the installation:

jira --version

If this fails:

  • "command not found" — jira-cli is not installed. Suggest: npm install -g @pchuri/jira-cli
  • "No configuration found" / connection errors — Config not set up. Suggest: jira config --server <url> --token <token> or set env vars (JIRA_HOST, JIRA_API_TOKEN)

When to Use CLI vs. MCP

Capabilitymcp__claude_ai_Atlassian__* MCPjira CLI
View issueYes — getJiraIssueYes — jira issue view
Search (JQL)Yes — searchJiraIssuesUsingJqlYes — jira issue list --jql
Create issueYes — createJiraIssueYes — jira issue create
Edit issueYes — editJiraIssueYes — jira issue edit
Add commentYes — addCommentToJiraIssueYes — jira issue comment add
Transition issueYes — transitionJiraIssueNo
Get transitionsYes — getTransitionsForJiraIssueNo
Add worklogYes — addWorklogToJiraIssueNo
Issue linksYes — createIssueLinkNo
Delete issueNoYes — jira issue delete
List commentsNoYes — jira issue comment list
Edit commentNoYes — jira issue comment edit
Delete commentNoYes — jira issue comment delete
Sprint managementNoYes — jira sprint list/active
Board listingNoYes — jira sprint boards
Project componentsNoYes — jira project components
Project versionsNoYes — jira project versions
Markdown exportNoYes — --format markdown
File-based descriptionsNoYes — --description-file
Internal commentsNoYes — --internal flag
Shell pipelinesNoYes — pipe to jq, grep, etc.
API version controlNoYes — JIRA_API_VERSION env var
Attachments (upload/delete)NoNo — use the REST fallback (see Common Agent Workflows)

Rule of thumb: Use MCP for simple view/create/edit and transitions. Use CLI for delete, comments management, sprints, boards, project details, markdown export, and shell pipelines.

Quick Reference

ActionCommand
View issuejira issue view PROJ-123
List issuesjira issue list --project PROJ --limit 20
Search with JQLjira issue list --jql "assignee = currentUser() AND status != Done"
Create issuejira issue create --project PROJ --type Bug --summary "Fix login"
Edit issuejira issue edit PROJ-123 --summary "Updated title"
Delete issuejira issue delete PROJ-123 --force
Add commentjira issue comment add PROJ-123 "Looks good"
List commentsjira issue comment list PROJ-123
Edit commentjira issue comment edit <commentId> "Updated text"
Delete commentjira issue comment delete <commentId> --force
List projectsjira project list
View projectjira project view PROJ
Project componentsjira project components PROJ
Project versionsjira project versions PROJ
List boardsjira sprint boards
List sprintsjira sprint list --board <boardId>
Active sprintjira sprint active --board <boardId>
Show configjira config --show
Attach / delete filesREST fallback — see "Attachments via REST" workflow

Commands Reference

config

Configure authentication and connection settings.

Bearer token (recommended):

jira config --server https://company.atlassian.net --token your-api-token

Basic auth:

jira config --server https://company.atlassian.net --username user@company.com --token your-api-token

View config:

jira config --show

Set individual value:

jira config set <key> <value>

issue view <key>

View issue details. Alias: issue show.

jira issue view <KEY> [--format terminal|markdown] [--output <path>]
OptionDefaultDescription
--formatterminalOutput format: terminal or markdown
--output—Export to file
jira issue view PROJ-123
jira issue view PROJ-123 --format markdown
jira issue view PROJ-123 --format markdown --output ./issue.md

issue list

List issues with filters. Alias: issue ls, issue --list.

jira issue list [--project <key>] [--assignee <user>] [--status <status>] [--jql <query>] [--limit <number>]
OptionDefaultDescription
--project—Filter by project key
--assignee—Filter by assignee
--status—Filter by status
--jql—JQL query for advanced filtering
--limit—Maximum number of results
jira issue list --project PROJ
jira issue list --project PROJ --status "In Progress" --limit 10
jira issue list --jql "assignee = currentUser() AND sprint in openSprints()"
jira issue list --assignee user@company.com --status Done

issue create

Create a new issue.

jira issue create --project <KEY> --type <TYPE> --summary <TEXT> [--description <text>] [--description-file <path>] [--assignee <user>] [--priority <level>]
OptionRequiredDescription
--projectYesProject key
--typeYesIssue type (Bug, Task, Story, Epic, etc.)
--summaryYesIssue summary/title
--descriptionNoIssue description (inline text)
--description-fileNoLoad description from file
--assigneeNoAssign to user
--priorityNoPriority level (Highest, High, Medium, Low, Lowest)
jira issue create --project PROJ --type Bug --summary "Login button broken"
jira issue create --project PROJ --type Story --summary "Add search" --description "As a user, I want to search..."
jira issue create --project PROJ --type Task --summary "Refactor auth" --description-file ./spec.md --assignee user@company.com --priority High

Outputs the new issue key on success.


issue edit <key>

Edit/update an existing issue. Alias: issue update.

At least one of --summary, --description, --description-file, --assignee, or --priority is required.

jira issue edit <KEY> [--summary <text>] [--description <text>] [--description-file <path>] [--assignee <user>] [--priority <level>]
OptionDescription
--summaryNew summary/title
--descriptionNew description (inline text)
--description-fileLoad description from file
--assigneeReassign to user
--priorityChange priority
jira issue edit PROJ-123 --summary "Updated title"
jira issue edit PROJ-123 --description-file ./updated-spec.md
jira issue edit PROJ-123 --assignee user@company.com --priority High

issue delete <key>

Delete an issue.

jira issue delete <KEY> --force
OptionDescription
--forceRequired — skip confirmation prompt
jira issue delete PROJ-123 --force

issue comment add <key> <text>

Add a comment to an issue. Alias: issue c add.

jira issue comment add <KEY> "<text>" [--file <path>] [--internal]
OptionDescription
--fileLoad comment content from file
--internalMark as internal/restricted comment
jira issue comment add PROJ-123 "This looks good, merging now"
jira issue comment add PROJ-123 "" --file ./review-notes.md
jira issue comment add PROJ-123 "Internal note" --internal

issue comment list <key>

List comments for an issue. Alias: issue c list.

jira issue comment list <KEY> [--format table|json]
OptionDefaultDescription
--formattableOutput format: table or json
jira issue comment list PROJ-123
jira issue comment list PROJ-123 --format json

issue comment edit <commentId> <text>

Edit an existing comment.

jira issue comment edit <ID> "<text>" [--file <path>]
OptionDescription
--fileLoad updated content from file
jira issue comment edit 12345 "Updated comment text"

issue comment delete <commentId>

Delete a comment.

jira issue comment delete <ID> --force
OptionDescription
--forceRequired — skip confirmation prompt
jira issue comment delete 12345 --force

project list

List all accessible Jira projects.

jira project list [--type <type>] [--category <category>]
OptionDescription
--typeFilter by project type
--categoryFilter by project category
jira project list
jira project list --type software

project view <key>

View project details.

jira project view <KEY>
jira project view PROJ

project components <key>

List components of a project.

jira project components <KEY>
jira project components PROJ

project versions <key>

List versions/releases of a project.

jira project versions <KEY>
jira project versions PROJ

sprint boards

List all Scrum/Kanban boards.

jira sprint boards

sprint list

List sprints for a board.

jira sprint list [--board <id>] [--state <state>] [--active]
OptionDescription
--boardBoard ID (required when multiple boards exist)
--stateFilter by sprint state (active, closed, future)
--activeShow only active sprints
jira sprint list --board 42
jira sprint list --board 42 --state active
jira sprint list --active

sprint active

Show the active sprint and its issues.

jira sprint active [--board <id>]
OptionDescription
--boardBoard ID (required when multiple boards exist)
jira sprint active
jira sprint active --board 42

Common Agent Workflows

Search and filter issues

# Find all bugs assigned to me in the current sprint
jira issue list --jql "assignee = currentUser() AND sprint in openSprints() AND type = Bug"

# Find unresolved issues in a project
jira issue list --project PROJ --status "To Do" --limit 50

# Find issues updated recently
jira issue list --jql "project = PROJ AND updated >= -7d ORDER BY updated DESC"

Create issue with file-based description

# Write description to a temp file, then create
cat > /tmp/issue-desc.md << 'EOF'
## Problem
The login page crashes on mobile Safari.

## Steps to Reproduce
1. Open the app on iOS Safari
2. Tap the login button
3. App crashes

## Expected Behavior
Login form should appear.
EOF

jira issue create --project PROJ --type Bug --summary "Mobile Safari crash on login" --description-file /tmp/issue-desc.md --priority High

Sprint review workflow

# 1. Find the active sprint
jira sprint active --board 42

# 2. List all issues in the sprint
jira issue list --jql "sprint in openSprints() AND project = PROJ"

# 3. Export each issue as markdown for review
jira issue view PROJ-123 --format markdown --output ./sprint-review/PROJ-123.md

Bulk comment on issues

# Add the same comment to multiple issues
for key in PROJ-101 PROJ-102 PROJ-103; do
  jira issue comment add "$key" "Reviewed and approved for release"
done

Process issues as JSON

jira issue comment list PROJ-123 --format json | jq '.[].body'

Attachments via REST (neither CLI nor MCP supports them)

Neither jira-cli nor the mcp__claude_ai_Atlassian__* tools can upload or delete issue attachments. Use the Jira Cloud REST API directly. Auth is a classic API token with Basic auth (email:token) against the site domain — a confluence-cli profile for the same site (~/.config/confluence-cli/config.json) holds a token that works for Jira too.

AUTH="user@example.com:$JIRA_API_TOKEN"

# Upload (multiple -F file=@... parts are allowed in ONE request)
curl -s -u "$AUTH" -X POST -H "X-Atlassian-Token: no-check" \
  -F "file=@a.png" -F "file=@b.png" \
  "https://<site>.atlassian.net/rest/api/3/issue/<KEY>/attachments"

# List attachment ids
curl -s -u "$AUTH" "https://<site>.atlassian.net/rest/api/3/issue/<KEY>?fields=attachment"

# Delete one attachment (204 on success)
curl -s -u "$AUTH" -X DELETE "https://<site>.atlassian.net/rest/api/3/attachment/<attachmentId>"
  • X-Atlassian-Token: no-check is required on upload (XSRF guard) — without it the API returns 403.
  • The upload response is a JSON array (id, filename, size); capture ids if you may delete later.
  • Verify auth first with GET /rest/api/3/myself (expect HTTP 200).

Agent Tips

  • Always use --force on destructive commands (delete, comment delete) to avoid interactive prompts blocking the agent.
  • Prefer --format markdown when exporting issues for agent processing.
  • Use --format json on comment lists for machine-parseable output.
  • Use --description-file for longer descriptions — write to a temp file first, then reference it.
  • JQL tips: Use currentUser() for assignee, openSprints() for active sprint, -7d for relative dates. Wrap JQL in double quotes.
  • ANSI color codes: stdout may contain ANSI escape sequences. Pipe through | cat or use NO_COLOR=1 if your downstream tool doesn't handle them.
  • API version: If you get unexpected errors, try setting JIRA_API_VERSION=2 — some self-hosted instances only support v2.
  • Issue types: Common types are Bug, Task, Story, Epic, Sub-task. Use jira project view <KEY> to see available types for a project.

Error Patterns

ErrorCauseFix
No configuration foundNo config and no env vars setSet env vars or run jira config --server ... --token ...
401 UnauthorizedInvalid or expired tokenRegenerate API token and reconfigure
404 Not FoundIssue key doesn't exist or no permissionsVerify the issue key and user permissions
Field 'issuetype' requiredMissing --type on createAdd --type Bug/Task/Story
Field 'summary' requiredMissing --summary on createAdd --summary "..."
Board not foundInvalid board ID for sprint commandsRun jira sprint boards to list available boards
API v3 not supportedSelf-hosted instance on older JiraSet JIRA_API_VERSION=2
command not found: jiraCLI not installedRun npm install -g @pchuri/jira-cli

Behavior Scenarios

Scenario 1: View a Jira issue

Given jira-cli is installed and configured
When the user asks to view a Jira issue (by key like PROJ-123)
Then run `jira issue view PROJ-123 --format markdown`
And present the issue details

Scenario 2: Search Jira issues

Given jira-cli is installed and configured
When the user asks to search Jira for issues
Then build a JQL query or use filter flags
And run `jira issue list --jql "<query>" --limit 20`
And present matching issues with keys, summaries, and statuses

Scenario 3: Create or update an issue

Given jira-cli is installed and configured
When the user asks to create or update a Jira issue
Then use `--description-file` for longer content (write to a temp file first)
And report the issue key on success

Scenario 4: Manage sprint/backlog

Given jira-cli is installed and configured
When the user asks about sprints or backlog
Then run `jira sprint boards` to find the board
And run `jira sprint active --board <id>` or `jira sprint list --board <id>`
And present sprint details and issue lists

Scenario 5: jira-cli not installed

Given jira-cli is not installed or not configured
When the user asks to perform any Jira CLI operation
Then check with `jira --version`
And guide the user to install: `npm install -g @pchuri/jira-cli`
And guide config setup: `jira config --server <url> --token <token>` or set env vars

Scenario 6: Comment management

Given jira-cli is installed and configured
When the user asks to add, list, edit, or delete comments
Then use `jira issue comment add/list/edit/delete` accordingly
And use `--force` on destructive operations to avoid interactive prompts
And use `--file` for longer comment content

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Run a multi-model adversarial mutual review with facilitator synthesis: 2+ panelists (different model families where possible — use codex-server / codex-cli for the external-family seat) independently answer, adversarially critique each other across rounds, and the main session acts as facilitator, synthesizing agreements, live disagreements, and calibrated confidence into one answer. Use ONLY on high-stakes, hard-to-reverse claims, designs or decisions, and only when the user EXPLICITLY asks to debate or adversarially review with multiple models — "discuss with Opus and Codex", "red-team this", "devil's advocate", 敵対的レビュー, 相互レビュー, 多モデル討論, 議論させて. A full run costs ~6 subagent/CLI dispatches: state the panel size and round count and get a go-ahead before launching. Where the Workflow tool is available, run the panel as a Workflow (judge-panel / adversarial-verify) instead of ad-hoc fan-out. Do NOT self-trigger on a bare "are you sure?" — that is a cue to OFFER the panel, not to run it.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

hideki5123/agent-skill-set22026년 10월 21일 업데이트

Orchestrate multiple coding-agent sessions (Claude Code, Codex, Gemini) over the mcp_agent_mail MCP server, observe their progress on a recurring auto-loop, and prevent inconsistencies (file/edit conflicts and contradictory decisions) between concurrent tasks. Auto-manages the agent-mail server, derives the shared room key from the git repo, and runs either as the orchestrator/observer or as a participating worker. Handles the operational details (server startup, room key, reservation conventions) so the user does not have to remember them. Use when coordinating several agent sessions on different tasks at once, watching a swarm of sessions for conflicts, or wiring already-running sessions into a shared coordination room. Trigger phrases: "agent-swarm", "/agent-swarm", "orchestrate agents", "orchestrate multiple claude sessions", "coordinate sessions", "watch for conflicts between agents", "observe the swarm", "prevent inconsistency between sessions", "multi-agent observe", "複数セッションを協調", "エージェント協調", "セッション間の不整合監視", "スウォーム監視", "複数のClaudeを束ねて".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

hideki5123/agent-skill-set22026년 10월 21일 업데이트

Generate AGENTS.md (cross-tool agent context — Codex CLI, Aider, Cursor, etc.) and wire CLAUDE.md as a symlink so Claude Code reads the same file. Delegates content generation to Claude's built-in /init when needed, then renames + symlinks. Idempotent. Triggers — /agents-init, "generate agents.md", "create agents.md", "share claude and codex context", "set up agents file", "init agents", "agents-init", "cross-tool agent context", "wire claude and agents".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

hideki5123/agent-skill-set22026년 10월 21일 업데이트

Drive an already-running, LOGGED-IN Chromium browser on macOS via AppleScript — navigate, click, fill forms, scroll, and extract page content from the user's REAL session, with the browser left open and NO profile copy and NO restart. Use when the task needs the existing logged-in session (cookies, auth, current tabs) reused as-is. Trigger phrases: "chrome-use", "ブラウザから取得", "ログイン済みの Chromeで", "ブラウザを操作して", "このページ読んで", "Xのスレッド読んで", "ログインしたまま取得", "自分のセッションでスクレイプ", "read this page in my browser", "scrape with my session", "drive my chrome", "execute JS in my (logged-in) browser", "automate my logged-in browser". Chromium family (Chrome default; Brave/Edge/Arc/Vivaldi via --app). NOT for isolated/throwaway automation where login reuse is unneeded — use playwright-cli for that. macOS only.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

hideki5123/agent-skill-set22026년 10월 21일 업데이트

codex-cli

무료

Run OpenAI Codex CLI from the terminal for batch / one-shot `codex exec` invocations with output captured to an `-o` file. Use for fire-and-forget runs, scripted CI, code review batches (`codex review`), and resuming a specific session by id (`codex exec resume`). Always use this skill instead of `mcp__codex__codex` and `mcp__codex__codex-reply` MCP tools — CLI is faster and more capable. For streaming UX, multi-turn dialogues that need live state, structured (JSON schema) output, attaching images, or programmatic event handling → **use codex-server instead**. codex-server uses the user's ChatGPT subscription via Codex App Server and decoupled async invocation that bypasses the Bash 2-minute timeout entirely. Trigger patterns (batch-only — chat/streaming triggers belong to codex-server): codex-cli / codex CLI / codex exec / codex review / codex resume / codex fork / batch + {codex, gpt} / one-shot + {codex, gpt} / non-interactive + codex / codex {to a file, -o, output file, captured output} / CI + {codex, gpt} / scripted + {codex, gpt} / fork codex session / resume codex session by id

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

hideki5123/agent-skill-set22026년 10월 21일 업데이트

Run OpenAI Codex via the Codex App Server (JSON-RPC-over-stdio) for streaming multi-turn chat sessions with persistent threads, structured output, image input, and rich event streams. Default entry point for ChatGPT/GPT/Codex-like conversations from the terminal. Uses the user's ChatGPT subscription (Plus / Pro / Team) exclusively via `codex login` — never consumes OPENAI_API_KEY billing, by design. Implementation: TypeScript on deno with npm:@openai/codex-sdk; spawns the existing system codex binary. Decoupled async invocation: every turn returns turn-id in <1 s; the actual SDK work runs in a detached worker that streams to per-turn files under ~/.codex-server/turns/<turn-id>/ — Bash's 2-min timeout never applies. Prefer this over codex-cli for streaming UX, multi-turn dialogues that need live state, structured (JSON schema) output, attaching images, or programmatic event handling. Use codex-cli only for one-shot batch invocations that pre-capture to an -o file. For OpenAI Platform API calls specifically (embeddings, image generation, audio, moderation, batches, files) — not open-ended chat — use openai-cli instead; that path bills OPENAI_API_KEY, this one uses the ChatGPT subscription. Trigger patterns (match any variation): codex / codex-server / codex app server / codex app-server / openai / open ai / OpenAI / chatgpt / chat gpt / ChatGPT / GPT / ask gpt / chat with gpt / gpt session / codex session / streaming chat / multi-turn chat / multi turn chat / second opinion / cross-check / cross check / ai pair programming / another AI / external AI / ask another model / get GPT's take / what does openai think / show me what gpt thinks / structured output from gpt / json schema gpt / resume codex thread / continue codex conversation / continue codex session / /codex-server

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

hideki5123/agent-skill-set22026년 10월 21일 업데이트

hideki5123의 스킬 모두 보기

이 스킬의 문제 신고