managing-jira-issues
Jira issue management using the jira CLI with JSON output. Use for creating, viewing, updating, searching issues, fetching complete hierarchies, and managing sprints.
What this skill does
# Jira Integration Skill **Purpose**: Issue management for Jira Cloud using the `jira` CLI with JSON output optimized for LLM agents. **Tool**: `jira` CLI (installed globally via npm link from `~/utils/atlassian`) --- ## Table of Contents 1. [Prerequisites](#prerequisites) 2. [Decision Tree](#decision-tree) 3. [Quick Command Reference](#quick-command-reference) 4. [Pattern Recognition - Auto-Invocation](#pattern-recognition---auto-invocation) 5. [Workflow Examples](#workflow-examples) 6. [Error Handling](#error-handling) 7. [JSON Output Handling](#json-output-handling) 8. [Comparison: Quick Read vs Fetch](#comparison-quick-read-vs-fetch) 9. [Version History](#version-history) --- ## Prerequisites ### Verify Installation ```bash # Check CLI installed jira --version # Expects: 1.0.0 ``` ### Authentication **Config location**: `~/utils/atlassian/.env` ```env ATLASSIAN_CLOUD_ID=your-cloud-id [email protected]:API_TOKEN ATLASSIAN_SITE_URL=https://your-site.atlassian.net ``` Get API token from: https://id.atlassian.com/manage-profile/security/api-tokens --- ## Decision Tree ### Issue Operations ``` User wants to... ├── View issue details │ └── jira issues read <ISSUE-KEY> ├── List recent issues │ └── jira issues list [--limit N] [--project KEY] ├── Search issues │ └── jira issues search "query" [--project KEY] ├── Create new issue │ └── jira issues create "Title" --project KEY [options] ├── Update existing issue │ └── jira issues update <ISSUE-KEY> [--status|--assignee|--priority] ├── Fetch complete hierarchy │ └── jira issues fetch <ISSUE-KEY> --output ./spec └── Get available transitions └── jira issues transitions <ISSUE-KEY> ``` ### Metadata Operations ``` User wants to... ├── List projects │ └── jira projects list └── List users └── jira users list [--query NAME] ``` ### Comments ``` ├── Add comment │ └── jira comments create <ISSUE-KEY> --body "Comment text" └── List comments └── jira comments list <ISSUE-KEY> ``` --- ## Quick Command Reference ### Issues CRUD | Operation | Command | Example | |-----------|---------|---------| | **Read** | `jira issues read <KEY>` | `jira issues read VA-2228` | | **List** | `jira issues list` | `jira issues list --limit 10 --project VA` | | **Search** | `jira issues search "query"` | `jira issues search "auth bug"` | | **Create** | `jira issues create "Title"` | `jira issues create "Fix login" --project VA --type Bug` | | **Update** | `jira issues update <KEY>` | `jira issues update VA-123 --status "In Review"` | | **Fetch** | `jira issues fetch <KEY>` | `jira issues fetch VA-123 --output ./spec` | ### Create Issue Options ```bash jira issues create "Title" \ --project VA \ --type Story \ --description "Detailed description" \ --assignee "account-id" \ --priority High \ --labels "Bug,Critical" \ --parent VA-100 ``` **Issue types**: Epic, Story, Task, Bug, Sub-task **Priority values**: Highest, High, Medium, Low, Lowest ### Update Issue Options ```bash jira issues update VA-123 \ --status "In Review" \ --assignee "account-id" \ --priority High \ --labels "Bug,P1" \ --summary "New title" ``` ### Fetch (Comprehensive Hierarchy) ```bash # Fetch epic with ALL children + linked Confluence pages jira issues fetch VA-2522 --output ./spec # Output structure: # ./spec/ # ├── jira/ # │ ├── VA-2522.json # │ ├── VA-2522.md # │ ├── VA-2228.json (child) # │ └── ... # ├── confluence/ # │ ├── 12345678.json # │ └── ... # └── summary.json ``` **When to use `fetch`**: - Implementing a feature from Jira epic/story - Need complete requirements with all children - Building offline reference materials - Want all linked Confluence pages automatically ### Metadata Queries ```bash # Projects jira projects list # Users jira users list jira users list --query "john" ``` ### Comments ```bash # Add comment jira comments create VA-123 --body "This is a comment" # List comments jira comments list VA-123 ``` --- ## Pattern Recognition - Auto-Invocation ### High Confidence Triggers (invoke immediately) ```yaml Issue Operations: - "Create a Jira issue for..." - "Open a ticket in Jira..." - "Log this as a Jira bug..." - "Check Jira issue VA-123" - "What's the status of VA-123?" - "Update VA-123 to..." - "Move VA-123 to In Review" - "Assign VA-123 to..." - "Search Jira for..." - "Find issues about..." Fetch Operations (comprehensive): - "Fetch VA-2228" - "Pull down VA-2522" - "Get complete data for VA-2228" - "Implement from VA-2228" - "Get requirements for VA-2228" Metadata: - "List Jira projects" - "Who can I assign this to?" ``` ### Issue ID Detection ```regex # Jira issue ID pattern [A-Z]{2,10}-\d+ # Examples: VA-123, DEV-456, BACKEND-789 ``` --- ## Workflow Examples ### Create Issue from Bug Report ```yaml User: "Create a Jira issue for the login timeout bug" Steps: 1. Parse request: title=login timeout bug 2. Execute: jira issues create "Login timeout bug" --project VA --type Bug 3. Return: Issue key and details from JSON ``` ### Check Issue Status ```yaml User: "What's the status of VA-123?" Steps: 1. Parse issue ID: VA-123 2. Execute: jira issues read VA-123 3. Return: Issue title, state, assignee, priority from JSON ``` ### Update Issue State ```yaml User: "Move VA-123 to In Review and assign to John" Steps: 1. Get users: jira users list --query john 2. Find John's account ID from JSON 3. Update: jira issues update VA-123 --status "In Review" --assignee john-account-id ``` ### Implement from Jira Epic ```yaml User: "Implement VA-2522" Steps: 1. Check if reference exists: ls ./spec/jira/VA-2522.json 2. If not: jira issues fetch VA-2522 --output ./spec 3. Read requirements from ./spec/jira/*.md 4. Begin implementation 5. Update progress: jira issues update VA-2228 --status "In Progress" ``` --- ## Error Handling | Error | Cause | Resolution | |-------|-------|------------| | `command not found: jira` | CLI not installed | `cd ~/utils/atlassian && npm link` | | `Missing ATLASSIAN_AUTH_TOKEN` | No credentials | Configure `~/utils/atlassian/.env` | | `Authentication failed` | Invalid token | Regenerate API token | | `Resource not found` | Invalid issue key | Verify issue exists | | `Status not available` | Invalid transition | Run `jira issues transitions VA-123` to see options | | `Rate limited` | Too many requests | CLI auto-retries with backoff | --- ## JSON Output Handling All commands output JSON. Parse with jq: ```bash # Get issue title jira issues read VA-123 | jq -r '.summary' # Get issue status jira issues read VA-123 | jq -r '.status' # List issue keys and titles jira issues list --limit 10 | jq -r '.[] | "\(.key): \(.summary)"' # Get created issue key jira issues create "Title" --project VA | jq -r '.key' ``` --- ## Comparison: Quick Read vs Fetch | Need | Use `read` | Use `fetch` | |------|-----------|-------------| | Quick status check | **Yes** | No | | Get single issue | **Yes** | Overkill | | Get issue + ALL children | No | **Yes** | | Get linked Confluence | No | **Yes (automatic)** | | Offline reference | No | **Yes** | | Implementation context | No | **Yes** | | Real-time current data | **Yes** | Snapshot | --- ## Version History - **v1.0** (2025-12-29): CLI-first architecture replacing MCP-based approach - Full CRUD operations via `jira` CLI - Comprehensive fetch with hierarchy traversal - JSON output for LLM parsing - Mirrors Linear skill pattern
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.