jira
Jira operations — sprint board, my issues, create/update/close/link issues. Triggers on sprint, issues, create, update, close, link, or any ACM-xxx mention.
What this skill does
# Jira
Bundled scripts for common Jira workflows. Each operation is a single script call.
Scripts are at `${CLAUDE_SKILL_DIR}/scripts/`.
## sprint — List my current sprint issues
```bash
scripts/sprint.sh [board_id]
```
Outputs a markdown table directly, grouped by status (New -> In Progress -> Closed) with columns: Type, Pri, Key (markdown links), Title, SP, Activity, Components, Versions, Labels. Print the output as-is. Collapse bulk CVE vulnerabilities into a summary row.
## issues — List all my assigned issues
```bash
scripts/issues.sh [extra_jql_filter]
```
Lists all issues assigned to current user, excluding Closed and Backlog by default. Supports optional extra JQL filter (e.g. `"project = ACM"`, `"component = 'Global Hub'"`).
Outputs a markdown table directly, grouped by status (New -> In Progress -> Resolved) with columns: Type, Pri, Key (markdown links), Title, SP, Activity, Components, Versions. Keys prefixed with pin emoji indicate issues in the current active sprint. Print the output as-is. Collapse bulk CVE vulnerabilities into a summary row.
## create — Create a new issue
```bash
scripts/create.sh "<summary>" [type=Task] [priority=Major] [sp=3] [parent=ACM-xxx] [component=Global Hub] [sprint=current] [activity=Product / Portfolio Work]
```
Defaults: project=ACM, component=Global Hub, assignee=current user, type=Task.
**When creating an issue, always ask the user to select an Activity Type using AskUserQuestion** (optional — user can skip). Valid values: `Product / Portfolio Work`, `Quality / Stability / Reliability`, `Security & Compliance`, `Incidents & Support`, `Future Sustainability`, `Associate Wellness & Development`.
## update — Update issue fields
```bash
scripts/update.sh <KEY> <field=value> [field=value ...]
```
| Field | Example |
|-------|---------|
| status | `status=Closed` |
| sp | `sp=3` |
| priority | `priority=Major` |
| activity | `activity=Product / Portfolio Work` |
| component | `component=Global Hub` |
| parent | `parent=ACM-30822` |
| sprint | `sprint=current` |
| assignee | `assignee=-1` (-1 = current user) |
| link | `link=https://github.com/.../pull/42` |
All fields run in parallel. Custom field IDs resolved dynamically.
Activity Type values: `Associate Wellness & Development`, `Future Sustainability`, `Incidents & Support`, `Quality / Stability / Reliability`, `Security & Compliance`, `Product / Portfolio Work`
## link — Link issue to URL or set parent
```bash
scripts/link.sh <KEY> <URL_OR_ISSUE_KEY> [custom_title]
```
Auto-detects URL type for title: GitHub PR -> `PR #N - repo`, GitLab MR -> `MR !N - repo`, Google Drive -> `Google Drive`, Blog -> `Blog: slug`. If target is an issue key, sets it as parent instead.
## jira-ops CLI — Direct Jira API operations
The `jira-ops` CLI is bundled at `scripts/jira-ops`. Use it for any operation not covered by the high-level scripts above.
```bash
# Issue operations
scripts/jira-ops issue get <key> [fields]
scripts/jira-ops issue search <jql> [fields] [max]
scripts/jira-ops issue create <json-payload>
scripts/jira-ops issue update <key> <json-payload>
scripts/jira-ops issue delete <key>
scripts/jira-ops issue get-field <key> <field-name>
scripts/jira-ops issue set-field <key> <field-name> <val>
scripts/jira-ops issue transition <key> <status>
scripts/jira-ops issue transitions <key>
scripts/jira-ops issue link <type> <from> <to>
scripts/jira-ops issue comment <key> <text>
scripts/jira-ops issue comment-delete <key> <comment-id>
scripts/jira-ops issue remote-link <key> <url> <title>
# Sprint / Board
scripts/jira-ops board list <project> [max]
scripts/jira-ops sprint list <board-id>
scripts/jira-ops sprint issues <sprint-id> [fields] [max]
scripts/jira-ops sprint move <sprint-id> <keys...>
# Custom field mapping
scripts/jira-ops field discover
scripts/jira-ops field search <pattern>
scripts/jira-ops field get <name>
# Global flag: --json outputs raw JSON
scripts/jira-ops --json issue get ACM-123
```
## jira-ops.sh Library — For custom scripts
Source `scripts/jira-ops.sh` to use library functions directly. See `references/api-reference.md` for the full function reference (CRUD, search, transitions, ADF builders, sprint operations, URL title detection).
```bash
source "${CLAUDE_SKILL_DIR}/scripts/jira-ops.sh"
jira_search 'project = ACM AND status = Open'
ISSUE_KEY=$(jira_create_issue "$payload") || exit 1
jira_transition "$ISSUE_KEY" "In Progress"
```
## Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| `JIRA_USER` | Yes | Atlassian account email |
| `JIRA_API_TOKEN` | Yes | API token (not password) |
| `JIRA_BASE_URL` | Yes | e.g. `https://your-domain.atlassian.net` |
| `JIRA_AUTH_TYPE` | No | `basic-header` (default), `basic`, `bearer` |
## Key Reminders
- Auth: Basic Auth with API tokens. Default `basic-header` works through corporate proxies
- Description/comments require ADF JSON — use `adf_*` builder functions in library mode
- Epic parent: use `parent` field, not legacy custom fields
- Sprint: cannot be set via REST API PUT — use `jira-ops sprint move` or `jira_move_to_sprint`
- Search: uses `/rest/api/3/search/jql` (GET), not the deprecated POST endpoint
- Custom fields: run `jira-ops field discover` once, then use `jira-ops field get "Story Points"` to look up IDs
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.