feat: add jira-jql skill — expert JQL reference #18

Merged
jasper merged 1 commit from feat/jira-jql-skill into main 2026-05-22 09:15:05 -04:00
Contributor

Summary

Adds the jira-jql skill — a comprehensive Jira Query Language reference for AI agents. Covers the full JQL surface: syntax, all function categories (date/time, user, sprint/version, issue, custom field, JSM), history operators (WAS/CHANGED), relative dates, performance best practices, role-based queries, REST API usage, and troubleshooting.

Files

File Purpose
jira-jql/SKILL.md Main skill — full JQL reference (10 sections)
jira-jql/references/jql-functions-catalog.md Complete official function catalog
jira-jql/references/role-queries.md 40+ ready queries by role (dev, scrum master, PO, power user, admin)
jira-jql/references/best-practices.md Performance, gotchas, troubleshooting

QA

  • No personal info, Magnus-specific paths, or private infrastructure
  • All examples use standard placeholders (jsmith, PROJ-123)
  • Follows Agent Skills spec (valid frontmatter, directory structure)
  • MIT license
  • README updated with entry
## Summary Adds the **jira-jql** skill — a comprehensive Jira Query Language reference for AI agents. Covers the full JQL surface: syntax, all function categories (date/time, user, sprint/version, issue, custom field, JSM), history operators (WAS/CHANGED), relative dates, performance best practices, role-based queries, REST API usage, and troubleshooting. ## Files | File | Purpose | |------|---------| | `jira-jql/SKILL.md` | Main skill — full JQL reference (10 sections) | | `jira-jql/references/jql-functions-catalog.md` | Complete official function catalog | | `jira-jql/references/role-queries.md` | 40+ ready queries by role (dev, scrum master, PO, power user, admin) | | `jira-jql/references/best-practices.md` | Performance, gotchas, troubleshooting | ## QA - [x] No personal info, Magnus-specific paths, or private infrastructure - [x] All examples use standard placeholders (jsmith, PROJ-123) - [x] Follows Agent Skills spec (valid frontmatter, directory structure) - [x] MIT license - [x] README updated with entry
Comprehensive Jira Query Language skill covering:
- All operators, keywords, and core syntax
- Complete function catalog (date/time, user, sprint/version,
  issue, custom field, JSM SLA/approval/organization)
- History operators (WAS/CHANGED) with predicate clauses
- Relative date expressions and dynamic patterns
- Performance best practices and common mistakes
- Role-based ready queries (dev, scrum master, PO, admin)
- REST API usage, edge cases, and troubleshooting
- Three companion reference files
magnus force-pushed feat/jira-jql-skill from 4f41ba0947 to 82569dc75a 2026-05-22 09:15:02 -04:00 Compare
jasper merged commit 4d929dd85f into main 2026-05-22 09:15:05 -04:00
jasper left a comment

First-Pass Code Review — jira-jql skill

Reviewer: Jasper (automated review bot)

Overview

Excellent PR. The jira-jql skill is comprehensive, well-structured, and follows the Agent Skills format correctly. All 10 sections are substantive, the three companion references add real depth, and the README entry is properly formatted. No security concerns, infrastructure leaks, or factual errors detected.

Quality

  • Accuracy: All JQL operators, functions, history operators, and query patterns verified against Atlassian documentation. WAS/CHANGED predicate syntax is correct. Relative date expressions and precedence rules are accurate.
  • Structure: SKILL.md as the primary reference with three companion files (functions catalog, role queries, best practices) follows the established skill pattern.
  • Privacy: Clean — no personal info, local paths, or infrastructure details. All examples use standard JQL placeholders (jsmith, PROJ-123, ABC-44).
  • Completeness: Covers the full JQL surface including JSM functions, custom field functions, marketplace extensions, and REST API usage.

Minor Observations

  1. approvals = pending() in Product Owners section (SKILL.md, ~line 313): The exact field name for JSM approvals varies by Jira configuration. The display name is typically "Approvals" (with quotes). Consider either quoting it or adding a note about field name configurability.

  2. issueLinkType = "is blocked by" with comment "My blocked tickets" (role-queries.md, Developer section): This is technically correct — it finds issues participating in a "blocked by" link — but the field returns issues regardless of link direction. The intent is clear from context, but a more precise comment could note that this returns issues with at least one "is blocked by" link.

  3. README ordering: jira-jql is placed between data-architect and agent-skills. The existing order is not strictly alphabetical, so this is consistent — just noting for awareness.

Verdict

No blockers. This is a clean, well-researched contribution. Ship it after addressing the minor approvals field name note if desired.


Jasper (automated review bot)

## First-Pass Code Review — jira-jql skill **Reviewer:** Jasper (automated review bot) ### Overview Excellent PR. The jira-jql skill is comprehensive, well-structured, and follows the Agent Skills format correctly. All 10 sections are substantive, the three companion references add real depth, and the README entry is properly formatted. No security concerns, infrastructure leaks, or factual errors detected. ### Quality - **Accuracy:** All JQL operators, functions, history operators, and query patterns verified against Atlassian documentation. WAS/CHANGED predicate syntax is correct. Relative date expressions and precedence rules are accurate. - **Structure:** SKILL.md as the primary reference with three companion files (functions catalog, role queries, best practices) follows the established skill pattern. - **Privacy:** Clean — no personal info, local paths, or infrastructure details. All examples use standard JQL placeholders (jsmith, PROJ-123, ABC-44). - **Completeness:** Covers the full JQL surface including JSM functions, custom field functions, marketplace extensions, and REST API usage. ### Minor Observations 1. **`approvals = pending()` in Product Owners section (SKILL.md, ~line 313):** The exact field name for JSM approvals varies by Jira configuration. The display name is typically `"Approvals"` (with quotes). Consider either quoting it or adding a note about field name configurability. 2. **`issueLinkType = "is blocked by"` with comment "My blocked tickets" (role-queries.md, Developer section):** This is technically correct — it finds issues participating in a "blocked by" link — but the field returns issues regardless of link direction. The intent is clear from context, but a more precise comment could note that this returns issues with at least one "is blocked by" link. 3. **README ordering:** `jira-jql` is placed between `data-architect` and `agent-skills`. The existing order is not strictly alphabetical, so this is consistent — just noting for awareness. ### Verdict **No blockers.** This is a clean, well-researched contribution. Ship it after addressing the minor approvals field name note if desired. --- *Jasper (automated review bot)*
Author
Contributor

Automated Code Review — Jasper (automated review)

Status: PR already merged. Review findings logged for reference.

Issues Found

🔴 Incorrect JQL field: issueLinkType

The field issueLinkType is not a standard JQL field. Standard JQL cannot query link types as a field directly. This appears in two places:

  1. role-queries.mdissueLinkType = "is blocked by" in Developer and Scrum Master sections — would produce "Field does not exist"
  2. SKILL.md Section 8 — references it in the limitation description

Standard JQL requires the linkedIssues() function (needs a specific issue key) or ScriptRunner for link-type-based queries.

Fix: Either remove the issueLinkType queries, mark them clearly as ScriptRunner-only, or replace with standard JQL equivalents.

Minor Notes

  • fixVersion = "Current Sprint" in scope-sort pattern conflates fixVersion (release/version field) with sprint (sprint field). Works in some setups but worth clarifying.
  • Strong coverage: history operators, performance tips, role patterns, gotchas are all well-documented.
  • No security concerns or private info leaks.

Verdict

One real issue (issueLinkType) worth fixing in a follow-up PR. Everything else is solid.

## Automated Code Review — Jasper (automated review) **Status:** PR already merged. Review findings logged for reference. ### Issues Found **🔴 Incorrect JQL field: `issueLinkType`** The field `issueLinkType` is **not a standard JQL field**. Standard JQL cannot query link types as a field directly. This appears in two places: 1. `role-queries.md` — `issueLinkType = "is blocked by"` in Developer and Scrum Master sections — would produce "Field does not exist" 2. `SKILL.md` Section 8 — references it in the limitation description Standard JQL requires the `linkedIssues()` function (needs a specific issue key) or ScriptRunner for link-type-based queries. **Fix:** Either remove the `issueLinkType` queries, mark them clearly as ScriptRunner-only, or replace with standard JQL equivalents. ### Minor Notes - `fixVersion = "Current Sprint"` in scope-sort pattern conflates `fixVersion` (release/version field) with `sprint` (sprint field). Works in some setups but worth clarifying. - Strong coverage: history operators, performance tips, role patterns, gotchas are all well-documented. - No security concerns or private info leaks. ### Verdict One real issue (`issueLinkType`) worth fixing in a follow-up PR. Everything else is solid.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
magnus/agent-skills!18
No description provided.