Adding Inbox Sources
PostHog/posthog
Add a new warehouse-backed source to the PostHog Desktop Self-driving Inbox (the feature that ships GitHub, Linear, Zendesk, pganalyze, Jira).
Interact with Atlassian Jira from the terminal: search issues with JQL, view details, create issues, add comments, count matches with fast approximate-count, list projects, discover valid…
$ npx skills add magnus919/agent-skills --skill jira -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install magnus919/agent-skills 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/magnus919/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/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/magnus919/agent-skills/tree/main/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/magnus919/agent-skills/tree/main/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 magnus919/agent-skills --skill jira -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install magnus919/agent-skills jira --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/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/magnus919/agent-skills/tree/main/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 magnus919/agent-skills --skill jira -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install magnus919/agent-skills jira --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/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/magnus919/agent-skills/tree/main/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/magnus919/agent-skills.git --path 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 magnus919/agent-skills --skill jira -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install magnus919/agent-skills jira --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/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/magnus919/agent-skills/tree/main/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 magnus919/agent-skills 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 magnus919/agent-skills --skill jira -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/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/magnus919/agent-skills/tree/main/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 magnus919/agent-skills --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 magnus919/agent-skills jira --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/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/magnus919/agent-skills/tree/main/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.
jiraInteract with Atlassian Jira from the terminal: search issues with JQL, view details, create issues, add comments, count matches with fast approximate-count, list projects, discover valid…
Jira is an agent skill from magnus919/agent-skills. Interact with Atlassian Jira from the terminal: search issues with JQL, view details, create issues, add comments, count matches with fast approximate-count, list projects, discover valid transitions, and change status. Includes a full JQL language reference (functions, operators, history predicates, date expressions, saved filters, performance tuning) plus REST auth/pagination guidance. Use when the user mentions Jira, a ticket key (e.g. PROJ-123), asks about issues, bugs, tasks, projects, or sprint work, or…
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts and reference files (for example `README.md`, `evals/evals.json` and `references/jql-best-practices.md`). Compatibility notes: Requires JIRAEMAIL and JIRAAPITOKEN env vars (free API token from id.atlassian.com/manage/api-tokens), Python 3.8+, and the requests library. JIRASERVER…
It sits in Productivity & Automation, covering Task management. It works with Jira, GitHub and GitLab. The repository describes itself as: Curated collection of AI agent skills for Hermes and other agent frameworks. The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 22b4723. 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.
Ships 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
jqpython3From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
id.atlassian.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
JIRA_API_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires JIRA_EMAIL and JIRA_API_TOKEN env vars (free API token from id.atlassian.com/manage/api-tokens), Python 3.8+, and the `requests` library. JIRA_SERVER defaults to your-domain.atlassian.net format.
From compatibility in the SKILL.md frontmatter.
Jira loads about 3.3k tokens when it runs, and up to ~17k if it reads all its reference files. Until then it costs about 168 tokens; SKILL.md has 1,063 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); the scripts in this folder are not scanned.
The full file from magnus919/agent-skills at commit 22b4723, republished under its MIT licence (© magnus919). 1,063 words, ~3,281 tokens.
.claude/skills/jira/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Interact with Atlassian Jira Cloud via the REST API v3. Search issues, view details, create issues, add comments, count matches, list projects, and transition status.
export JIRA_EMAIL="your-email@example.com" # Atlassian account email
export JIRA_API_TOKEN="YOUR_API_TOKEN" # from id.atlassian.com
export JIRA_SERVER="https://your-domain.atlassian.net"Auth is HTTP Basic over base64(email:token) — your email address, never a password (passwords are deprecated for API use). Cloud has no Personal Access Tokens; Bearer PATs are Data Center only. Tokens now expire after at most one year. --help and --dry-run work without credentials.
jira me # verify auth; your accountId, timezone
jira projects --json # all accessible projectsjira list # recent issues
jira list --project PROJ # by project
jira list --jql 'assignee=currentuser() AND status=Open' # custom JQL
jira list --project PROJ --max 120 --json # >50 auto-pages via startAt offsetsjira view PROJ-123 # summary, status, assignee, description
jira view PROJ-123 --json # machine-readableDescriptions arrive as Atlassian Document Format (ADF); the CLI extracts plain text for display.
jira count --jql 'issuetype = Bug AND resolution = Unresolved' # {"count": N}Uses POST /search/approximate-count — no fetching rows. JQL itself has no COUNT/aggregation.
jira --yes create --project PROJ --summary "Fix login bug" # Task (default)
jira --yes create --project PROJ --summary "Crash on startup" --type Bug
jira --yes create --project PROJ --summary "Add dark mode" --type Story --priority High
jira create --project PROJ --summary "Test" --dry-run # preview payloadDescriptions are sent as ADF documents. Rich formatting beyond plain paragraphs needs raw ADF JSON — see references/rest-issues-and-transitions.md.
jira --yes comment PROJ-123 -m "Fixed in latest build"
jira comment PROJ-123 -m "Looking into it" --dry-runjira transitions PROJ-123 # LIST valid transition IDs first
jira --yes transition PROJ-123 --to "In Progress" # then apply by name or ID
jira --yes transition PROJ-123 --to Done --resolution Done
jira transition PROJ-123 --to "In Review" --dry-runAlways run transitions first when unsure: IDs differ per workflow and current status, and names repeat across workflows. --resolution satisfies Done-style screens that require one; omitting it yields 400 with an error naming the missing field.
All flags work in any position. Read commands need credentials; --help and --dry-run do not. Mutating commands require an explicit --yes/--force gate:
jira --json list --project PROJ # machine output anywhere
jira --dry-run create --project PROJ --summary "Test" # offline preview
jira --yes create --project PROJ --summary "Test" # explicit write authorization
jira --quiet list # suppress non-essential output--json emits one JSON object per command on stdout — pipe to jq for structure.
Find stalled sprint work, review each ticket, close what's finished:
jira list --jql 'sprint IN openSprints() AND updated < -14d AND resolution = Unresolved' --json \
| jq -r '.issues[].key' \
| while read -r key; do jira view "$key"; jira transitions "$key"; done
# after human review, per key:
jira --yes transition "$key" --to Done --resolution DoneThe list --json shape is {"total": N, "issues": [{"key", "summary", "status", "assignee", "issuetype", "priority"}]}.
Transition IDs are workflow-specific — resolve before writing:
for key in $(jira list --jql 'status = "In Progress" AND updated < -30d' --json | jq -r '.issues[].key'); do
tid=$(jira transitions "$key" --json | jq -r '.transitions[] | select(.status_category=="completed") | .id' | head -1)
[ -n "$tid" ] && jira --yes transition "$key" --to "$tid" --resolution Done
donejira list --jql 'assignee = currentUser() AND updated >= startOfWeek()' --max 50 --json \
| jq -r '.issues[] | "\(.key)\t\(.status)\t\(.summary)"'More ready-to-run queries live in references/jql-cookbook.md, organized by role.
jira list --project PROJ --json | jq '.issues[] | {key, status, assignee}'
jira count --jql 'project = PROJ' --json | jq .count
jira transitions PROJ-123 --json | jq -r '.transitions[] | "\(.id)=\(.name) -> \(.to_status)"'/rest/api/3/search with offset pagination (startAt, maxResults, total). Atlassian's enhanced /rest/api/3/search/jql replaces it with an opaque nextPageToken (+ isLast), no startAt, no total, ids-only default fields, and it rejects unbounded JQL (order by key desc alone → 400). The classic endpoint is deprecated ("currently being removed", announced Oct 2024, removal promised after May 1 2025), so expect forced migration; mixing the two pagination models is the classic source of infinite-page-one loops.maxResults=50; total can shrink between pages, so always tolerate empty pages instead of trusting a stale total."31", "711") belong to one workflow/status; asking for an invalid one returns an empty list, not an error. Done-style screens frequently require resolution; missing required fields come back as 400 with "errors": {"resolution": "..."} naming them.X-Seraph-LoginReason: AUTHENTICATION_DENIED. Fix in the browser, not by retrying.Retry-After and RateLimit-Reason headers; the CLI surfaces both but does not auto-retry. Writes also cap at ~20/2s per issue.!= excludes empty values — assignee != currentUser() silently drops unassigned issues. Write (assignee != currentUser() OR assignee IS EMPTY).A OR B AND C parses as A OR (B AND C). Always parenthesize OR groups; without parentheses evaluation is left-to-right.summary ~ "*bug" forces a full scan; put wildcards after the first characters.WAS/CHANGED work only on Assignee, Fix Version, Priority, Reporter, Resolution, Status, and silently return nothing on fields without history tracking.-1m is minutes, -1M is months; day-grain expressions evaluate in each user's timezone.jira count (approximate-count endpoint) or dashboard gadgets.Do not use this skill for GitHub or GitLab issue tracking (use those platforms' own tooling such as gh), for Jira site administration like permission schemes or workflow editing (admin UI territory), for Confluence content, or for building server-side integrations against the Jira API (use official Atlassian SDK docs instead).
| File | Topic | Read when |
|---|---|---|
| references/rest-auth-and-search.md | Basic-auth/token mechanics vs OAuth/PATs, rate-limit headers, error envelopes, legacy-vs-enhanced search pagination duality | Setting up credentials, handling 429/401s, paginating large searches, or migrating off /search |
| references/rest-issues-and-transitions.md | GET/POST/PUT issue shapes, transitions GET→POST flow with screen-field requirements, ADF document model | Creating/editing issues programmatically, resolving transition failures, formatting rich text |
| references/jql-functions-catalog.md | Every JQL function with supported fields/operators — date/time, user, sprint/version, custom field, JSM approvals & SLAs | Checking which operators/functions a query can use |
| references/jql-best-practices.md | Operator precedence, performance rules, the empty-value trap, troubleshooting flows, marketplace extensions | A query is slow, wrong, or mixes AND/OR |
| references/jql-cookbook.md | 50 ready-to-run queries organized by role (developers, scrum masters, POs/managers, power users, admins) | Building filters, automation rules, sprint reviews |
| references/jql-history-and-dates.md | WAS/CHANGED predicate walkthrough, relative-date expression tables, saved-filter composition and naming conventions | History queries, date math, or designing reusable saved filters |
| Script | Purpose | Invocation |
|---|---|---|
scripts/jira | The CLI this skill drives: me, list, view, projects, create, comment, count, transitions, transition — all with --json/--dry-run, lazy auth, offset-pagination fetches above 50 results, parsed API error messages, and 429 Retry-After surfacing. Run it for every Jira data question above. | scripts/jira list --project PROJ --json |
scripts/test_jira.py | Offline pytest/unittest suite covering help text, argument errors, dry-run plans, pagination loops, error envelopes, and transition resolution logic — zero network. Run after modifying scripts/jira. | .venv/bin/python3 -m pytest -p no:cacheprovider --strict-markers scripts/test_jira.py |
requests (stdlib otherwise); invoke as python3 scripts/jira ... if not executable directlyJIRA_EMAIL + JIRA_API_TOKEN exported for any non-dry-run command (token from https://id.atlassian.com/manage/api-tokens); JIRA_SERVER defaults to https://your-domain.atlassian.netjq recommended for --json post-processing/search/jql token paging© magnus919, 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 10 other files (scripts, references) in jira of magnus919/agent-skills.
Open the folder on GitHubat commit 22b4723
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 skillmagnus919/agent-skills | 115 | — | ~3.3k | Automated safety check: Pass | MIT | |
| Adding Inbox SourcesPostHog/posthog | 40k | — | ~5.3k | Automated safety check: Pass | Custom licence | |
| OpenObserve PR Briefopenobserve/openobserve | 22k | — | ~1.8k | Automated safety check: Pass | AGPL-3.0 | |
| Connect Apps with ComposioComposioHQ/awesome-claude-skills | 77k | 3 repos | ~557 | Automated safety check: Pass | None | |
| Kanban TuiZaloog/kanban-tui | 285 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Agent Kanban Task Workersaltbo/agent-kanban | 488 | — | ~855 | Automated safety check: Pass | Custom licence |
PostHog/posthog
Add a new warehouse-backed source to the PostHog Desktop Self-driving Inbox (the feature that ships GitHub, Linear, Zendesk, pganalyze, Jira).
openobserve/openobserve
Produces a read-only morning brief of your open pull requests across the openobserve GitHub org, with a next step for each and a reminder for idle ones.
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.
Zaloog/kanban-tui
Comprehensive kanban board and task management via ktui CLI.
saltbo/agent-kanban
Lets an agent read, claim, update and submit an assigned Agent Kanban task through the Realmroot Toolbox CLI, with progress notes and a review handoff.
antopolskiy/kanban-md
Release kanban-md through its tag-triggered GoReleaser workflow, monitor CI, recover safely from failures, and publish user-facing GitHub release notes.
magnus919/agent-skills
Organize durable agent research outputs as summaries, analysis, and evidence dossiers.
magnus919/agent-skills
Build portable, first-person colored ASCII city engines and small GIS-derived city packs.
magnus919/agent-skills
Manage color workflows with ICC profiles, working spaces, gamut mapping, and color science.
magnus919/agent-skills
A skill your agent uses for PhD-level expertise in data science, statistics, and machine learning: rigorous statistical analysis, experimental design, causal inference, advanced modeling, research…
magnus919/agent-skills
Use Docker Compose to define, run, debug, and harden multi-container applications.
magnus919/agent-skills
Design, review, simulate, and verify FPGA logic using explicit RTL contracts, clock and reset models, CDC analysis, timing constraints, and reproducible implementation evidence.
Categories
Interact with Atlassian Jira from the terminal: search issues with JQL, view details, create issues, add comments, count matches with fast approximate-count, list projects, discover valid…. Jira is an agent skill from magnus919/agent-skills. Interact with Atlassian Jira from the terminal: search issues with JQL, view details, create issues, add comments, count matches with fast approximate-count, list projects, discover valid transitions, and change status.
Jira fits situations like: the user mentions Jira; A ticket key (e.g; gitLab issue tracking; jira site administration.
Run `npx skills add magnus919/agent-skills --skill jira -a claude-code`. Or copy the skill folder (jira in magnus919/agent-skills) into .claude/skills/jira in your project. Claude Code loads it when a task matches its description.
Run `npx skills add magnus919/agent-skills --skill jira -a codex`. Or copy the skill folder (jira in magnus919/agent-skills) 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 magnus919/agent-skills --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 Python for the scripts in its folder, the command-line tools its instructions call (jq and python3) and credentials named JIRA_API_TOKEN. Our summary lists: Python 3; A credential in JIRA_API_TOKEN; A credential in YOUR_API_TOKEN. Compatibility (from SKILL.md): Requires JIRA_EMAIL and JIRA_API_TOKEN env vars (free API token from id.atlassian.com/manage/api-tokens), Python 3.8+, and the `requests` library. JIRA_SERVER defaults to your-domain.atlassian.net format..
SKILL.md names 1 domain. As links in the text: id.atlassian.com. 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. 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 (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k 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 13k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Jira: Adding Inbox Sources (PostHog/posthog, 40k stars), OpenObserve PR Brief (openobserve/openobserve, 22k stars), Connect Apps with Composio (ComposioHQ/awesome-claude-skills, 77k stars) and Kanban Tui (Zaloog/kanban-tui, 285 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
magnus919 (a GitHub user) maintains it in magnus919/agent-skills, which has 115 GitHub stars. The repository holds 131 skills in this directory. The repository was last updated on October 10, 2026.
Source: magnus919/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.