| name | claim-ticket |
| description | Consolidates ticket claiming operations (assign, transition, add to sprint, track) into a single efficient operation, reducing ~10 tool calls per new-work cycle
|
| when_to_use | Invoke when claiming a new JIRA ticket. Triggers on: "claim ticket", "assign ticket", "pick up work", "start new ticket". Replaces manual jira_update_issue + jira_transition + jira_add_issues_to_sprint + task_add calls.
|
| user-invocable | true |
| allowed-tools | ["Bash(python3 .claude/skills/claim-ticket/scripts/claim_ticket_operations.py *)","Read"] |
Execute the claim-ticket workflow after selecting a ticket:
python3 .claude/skills/claim-ticket/scripts/claim_ticket_operations.py RHCLOUD-12345 2>&1
Use --dry-run to preview without executing:
python3 .claude/skills/claim-ticket/scripts/claim_ticket_operations.py RHCLOUD-12345 --dry-run 2>&1
The script executes 8 operations in sequence:
- get_bot_account_id - Retrieve bot's JIRA account ID via jira_get_user_profile
- get_transitions - Get available transitions via jira_get_transitions
- assign_ticket - Assign ticket via jira_update_issue
- transition_to_in_progress - Move to "In Progress" via jira_transition_issue
- resolve_board - Determine board from BOT_BOARD_ID or BOT_BOARD_NAME env var
- get_active_sprint - Get active sprint via jira_get_sprints_from_board
- add_to_sprint - Add to sprint via jira_add_issues_to_sprint
- task_add - Track in memory server
All operations use fail-fast error handling: if any operation fails, execution stops immediately.
Configuration
Set these environment variables:
export JIRA_MCP_URL=http://proxy:8090
export BOT_JIRA_EMAIL=<your-bot-jira-email>
export BOT_MEMORY_URL=https://memory-server.example.com
export BOT_BOARD_ID=<your-board-id>
export BOT_BOARD_NAME="<Your Board Name>"
Authentication
JIRA operations use MCP via jira_call(). No API tokens needed - the mcp-atlassian server handles authentication. Bot identity for ticket assignment comes from BOT_JIRA_EMAIL.
Memory server operations use direct HTTP (POST /tasks).
Board Resolution
Resolves board from environment variables (same as new-work skill):
BOT_BOARD_ID set → use directly (fast path, no API call)
BOT_BOARD_NAME set → lookup via jira_get_agile_boards
- Neither set → fail with error
Error Handling
Fail-fast approach: if any operation fails, execution stops immediately and reports the error.