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…
Manage Jira issues using the jira CLI — lookup, create, edit, transition, assign, comment, link, and search.
$ npx skills add meain/dotfiles --skill jira -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install meain/dotfiles 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/meain/dotfiles.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agents/.agents/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/meain/dotfiles/tree/master/agents/.agents/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/meain/dotfiles/tree/master/agents/.agents/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 meain/dotfiles --skill jira -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install meain/dotfiles jira --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/meain/dotfiles.git skills-src && mkdir -p .agents/skills && cp -r skills-src/agents/.agents/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/meain/dotfiles/tree/master/agents/.agents/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 meain/dotfiles --skill jira -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install meain/dotfiles jira --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/meain/dotfiles.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/agents/.agents/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/meain/dotfiles/tree/master/agents/.agents/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/meain/dotfiles.git --path agents/.agents/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 meain/dotfiles --skill jira -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install meain/dotfiles jira --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/meain/dotfiles.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/agents/.agents/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/meain/dotfiles/tree/master/agents/.agents/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 meain/dotfiles 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 meain/dotfiles --skill jira -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/meain/dotfiles.git skills-src && mkdir -p .github/skills && cp -r skills-src/agents/.agents/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/meain/dotfiles/tree/master/agents/.agents/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 meain/dotfiles --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 meain/dotfiles jira --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/meain/dotfiles.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/agents/.agents/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/meain/dotfiles/tree/master/agents/.agents/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.
jiraManage 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. 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.
2 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3e336e2. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
curljqFrom 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:
veeam-vdc.atlassian.netFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
JIRA_API_TOKENPROJECT_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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 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.
The full file from meain/dotfiles at commit 3e336e2, republished under its MIT licence (© meain). 872 words, ~2,656 tokens.
.claude/skills/jira/SKILL.md (or your agent's skills folder).Use the jira CLI to look up, create, edit, transition, assign, comment on, and link Jira issues.
DP-123)Determine which operation the user needs:
| Intent | Operation |
|---|---|
| View issue details | view |
| Search/list issues | list |
| Create a new issue | create |
| Edit fields on an issue | edit |
| Change issue status | move |
| Assign/unassign an issue | assign |
| Add a comment | comment |
| Link two issues | link |
| Open in browser | open |
jira issue view ISSUE-KEY --plainTo include recent comments:
jira issue view ISSUE-KEY --plain --comments 5To get full raw JSON data for deeper inspection:
jira issue view ISSUE-KEY --raw# 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 20Always use --no-input to avoid interactive prompts.
# 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.mdPass 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:
-tStory when creating issues unless told to use a different typeIssue 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:
# 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.
Always use --no-input to avoid interactive prompts.
# 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-inputOn 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:
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 = successWhen setting story points on multiple issues, loop over them in a single shell command.
# 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"# 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 xAlways use --no-input to avoid interactive prompts.
# 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# 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# 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-KEYjira open ISSUE-KEYFor read operations, summarize clearly:
For write operations, confirm what was done:
When the user needs issue context for coding work, focus on:
jira CLI commands with dangerouslyDisableSandbox: true — the sandbox blocks TLS verification for Jira's certificate chain, causing x509 errors--plain flag when listing/viewing issues so output is parseable (avoid the interactive TUI)--no-input flag on create/edit/comment to avoid interactive prompts--no-truncate with list commands to show full field contents when details matterjira initDP (Data Pipelines) — only specify -p when targeting a different project© meain, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in agents/.agents/skills/jira of meain/dotfiles.
Open the folder on GitHubat commit 3e336e2
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 skillmeain/dotfiles | 285 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Management Talkthananon/9arm-skills | 3.2k | — | ~3.2k | Automated safety check: Pass | None | |
| YugabyteDB Issue Creatoryugabyte/yugabyte-db | 11k | — | ~2k | Automated safety check: Pass | Custom licence | |
| Dynamo Jira TicketDynamoDS/Dynamo | 2k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Code Reviewcroffasia/itsaplan | 913 | — | ~2k | Automated safety check: Pass | AGPL-3.0 | |
| Connect Apps with ComposioComposioHQ/awesome-claude-skills | 77k | 3 repos | ~557 | Automated safety check: Pass | None |
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…
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.
DynamoDS/Dynamo
Create structured Jira tickets for Dynamo from bug reports, failing tests, or feature requests.
croffasia/itsaplan
A skill your agent uses when reviewing code — a diff, a merge request, a file, a directory, or a feature.
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.
SAP/spartacus
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.
meain/dotfiles
Search past Claude Code and Codex sessions. An agent skill from meain/dotfiles.
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.
meain/dotfiles
Daily backlog management — full planning review OR add a single entry from a URL.
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…
meain/dotfiles
Generate a concise weekly status update in team format. An agent skill from meain/dotfiles.
meain/dotfiles
Search the web using lynx and DuckDuckGo. An agent skill from meain/dotfiles.
Works with
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.