Ticket Management (/ticket)
Ticket Management (/ticket)
The /ticket command transforms Claude Code from a coding assistant into a project-aware teammate. By integrating directly with project management tools like JIRA and Linear via the Model Context Protocol (MCP), Claude can bridge the gap between your product requirements and your codebase.
Instead of manually copy-pasting requirements, you can use the ticket management system to automate the entire development lifecycle—from understanding acceptance criteria to updating the ticket status after a pull request is created.
Overview
The ticket workflow is designed to minimize context switching. When you invoke the /ticket command, Claude performs the following actions:
- Requirement Gathering: Connects to your MCP server to fetch ticket descriptions, acceptance criteria, and comments.
- Implementation: Analyzes the requirements, scans relevant files in the codebase, and implements the necessary changes.
- Verification: Validates the implementation against the ticket's specific criteria using your project's configured testing patterns.
- Status Sync: Updates the ticket status (e.g., "In Progress" to "In Review") and links relevant PRs or commits back to the PM tool.
Setup and Configuration
To use ticket management, you must configure your MCP servers to communicate with your PM tool of choice.
- MCP Server Configuration: Add your JIRA or Linear MCP server details to
.mcp.json. - Command Definition: The logic for the ticket workflow is defined in
.claude/commands/ticket.md. You can customize this file to change how Claude interacts with your specific ticket statuses or how it formats update comments.
Usage
You can trigger the ticket workflow directly from the Claude Code CLI.
Implementing a Feature
To start work on a specific ticket, provide the ticket ID:
/ticket implement PROJ-123
Claude will read the ticket, suggest a plan, and ask for permission to begin modifying files.
Creating Bug Reports
If Claude identifies a bug during its automated quality gates or while exploring the code, it can create a new ticket automatically:
/ticket create-bug "Fix memory leak in UseAuth hook" --priority high
Updating Status
To sync your current progress without finishing the entire task:
/ticket update PROJ-123 "Currently refactoring the database layer; tests are passing."
End-to-End Workflow Example
The typical lifecycle of a /ticket command execution looks like this:
- Context Loading: Claude pulls the ticket body from Linear/JIRA.
- Skill Activation: Based on the ticket content (e.g., "Add a new GraphQL mutation"), the Skill Evaluation Engine automatically loads relevant domain knowledge (e.g.,
graphql-schemaskill). - Coding: Claude applies the changes to your local files.
- Quality Gate: Claude runs
npm testoreslintas defined in your hooks. - Closure: Claude posts a summary of changes to the ticket and moves it to the "Review" column.
Automation with GitHub Actions
When paired with the PR Review GitHub Action, the ticket management system provides a closed-loop. Once the /ticket command completes and a PR is pushed, Claude can automatically perform a final code review against the original acceptance criteria found in the ticket.