Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ulises-jeremias/agent-toolkit --skill jira-search-jqlgit clone --depth 1 https://github.com/ulises-jeremias/agent-toolkitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ulises-jeremias/agent-toolkit/jira-search-jql)<a href="https://agentmods.dev/skills/ulises-jeremias/agent-toolkit/jira-search-jql"><img src="https://agentmods.dev/badge/skills/ulises-jeremias/agent-toolkit/jira-search-jql/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ulises-jeremias/agent-toolkit/jira-search-jql"><img src="https://agentmods.dev/badge/skills/ulises-jeremias/agent-toolkit/jira-search-jql.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00042 | $0.03640 |
| Opus 5 | $0.00021 | $0.01820 |
| Sonnet 5 | $0.00008 | $0.00728 |
| Haiku 4.5 | $0.00004 | $0.00364 |
Grade A, and why
jira-search-jql scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
97% identical to jira-search-jql — 26 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 350 lines — stays where its author put it; the contents beside it link to each section on GitHub.
jira-search
Query and discovery operations for JIRA issues using JQL (JIRA Query Language).
Risk Levels
| Operation | Risk | Notes |
|---|---|---|
| Query/search | - |
Read-only |
| Validate JQL | - |
Read-only |
| Export results | - |
Read-only (local file) |
| List filters | - |
Read-only |
| Create filter | - |
Easily reversible (can delete) |
| Update filter | ! |
Can be reverted |
| Share filter | ! |
Can be unshared |
| Delete filter | !! |
Filter lost, but can recreate |
| Bulk update | !! |
Use --dry-run first; changes reversible but tedious |
Risk Legend: - Safe, read-only | ! Caution, modifiable | !! Warning, destructive but recoverable | !!! Danger, irreversible
When to use this skill
Perfect for:
- Search by criteria: "Find all bugs assigned to me in the current sprint"
- Reporting: Export sprint results or metrics to CSV/JSON
- Bulk operations: Update labels, priority, or assignee on 50+ issues at once
- Automation: Create saved filters for monitoring or dashboards
Not ideal for:
- Single issue operations - Use jira-issue skill
- Workflow transitions on many issues - Use jira-lifecycle skill
- Complex issue relationships - Use jira-relationships skill
- Sprint/board management - Use jira-agile skill
Quick Start
# Find your open issues
jira-as search query "assignee = currentUser() AND status != Done"
# Find bugs in a project
jira-as search query "project = PROJ AND type = Bug AND status = Open"
# Export results to CSV
jira-as search export "project = PROJ" --output report.csv
# Save a filter for reuse
jira-as search filter create -n "My Bugs" -j "type = Bug AND assignee = currentUser()" -f
For detailed setup, see docs/QUICK_START.md.
Available Commands
IMPORTANT: Always use the jira-as CLI. Never run Python scripts directly.
| Command | Purpose | Example |
|---|---|---|
jira-as search query |
Execute JQL queries | jira-as search query "project = PROJ" |
jira-as search export |
Export to CSV/JSON | jira-as search export "JQL" -o report.csv |
jira-as search validate |
Check JQL syntax | jira-as search validate "your query" |
jira-as search build |
Build JQL from clauses | jira-as search build --clause "project = PROJ" --clause "status = Open" |
jira-as search bulk-update |
Bulk update issues from search | jira-as search bulk-update "JQL" --add-labels bug --dry-run |
jira-as search suggest |
Get field value suggestions | jira-as search suggest --field status --no-cache |
jira-as search fields |
List available JQL fields | jira-as search fields --custom-only |
jira-as search functions |
List available JQL functions | jira-as search functions --with-examples |
jira-as search filter list |
List saved filters | jira-as search filter list --favourites |
jira-as search filter create |
Save a reusable filter | jira-as search filter create --name "Name" --jql "JQL" |
jira-as search filter update |
Update an existing filter | jira-as search filter update 10042 --name "New Name" |
jira-as search filter run |
Run a saved filter | jira-as search filter run --id 10042 |
jira-as search filter favourite |
Toggle favourite status | jira-as search filter favourite 10042 --add |
jira-as search filter share |
Share filter with users/groups | jira-as search filter share 10042 --project PROJ |
jira-as search filter delete |
Delete a saved filter | jira-as search filter delete 10042 --yes |
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 350 lines · 42 tokens per session scan A d0be72ad90b5
jira-search-jql is a skill published in the GitHub repository ulises-jeremias/agent-toolkit (16 stars, last pushed yesterday), licensed MIT. It adds 42 tokens to every session and 3,640 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 97% identical to jira-search-jql, differing in 26 lines, and is treated as a copy.
Other skills, from other repositories
iblai-api-agent-support
Manage an ibl.ai agent's human-support tickets via the platform API — list and filter the tickets users raised with an agent (by agent, requester, status, session), read a ticket's conversation thread, reply as the support team, change ticket status, and close or delete tickets. Use when triaging or responding to…
github-navigator
GitHub operations via gh CLI. CRITICAL: Use instead of WebFetch for any github.com URL or GitHub repo path like owner/repo. Use when the user asks to inspect repositories, files, issues, pull requests, releases, Actions runs, or repository structure. Use when the user says 'show README', 'list issues', 'check PR'…
breaking-down-work
Decomposes a goal, feature, epic, or deliverable into a structured task tree (tasks, subtasks, checklists) with dependencies in Astravue. Use when the user wants to break down, decompose, or plan out work, turn an epic or feature into tasks, "split this into tasks", scope a deliverable, or build a work breakdown…
capturing-meeting-actions
Extracts action items from meeting notes, transcripts, or a brain dump and creates them as owned, dated tasks in Astravue. Use when the user pastes meeting notes or a transcript, asks to turn notes or standup discussion into tasks, capture action items, or "make tasks out of this".
mapping-dependencies
Maps task dependencies in an Astravue project, finds the critical path and blocked work, and detects circular dependencies before any rescheduling. Use when the user asks about dependencies, blockers, what's blocking what, the critical path, or wants to understand or fix the sequencing of a project.
triaging-overdue-work
Reviews overdue and at-risk tasks in Astravue, assesses why each is slipping, and proposes reschedule, reassign, deprioritize, or close actions before applying them. Use when the user asks what's overdue, behind schedule, slipping, or at risk, wants to catch up on a project, or clean up late work.