Multi-agentic JIRA triage tool for Red Hat Satellite. Automates the Program Triage process using Claude AI agents (QE, Product Owner, Developer, Docs) that debate and reach consensus on issue classification.
- Python 3.10+
- Claude Code CLI installed and authenticated
- A JIRA Cloud account with API token
npm install -g @anthropic-ai/claude-codeConfigure authentication for your environment (e.g. for Vertex AI):
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=global
export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id
gcloud auth application-default loginFor best results, run claude, type /model and select Opus 4.6 (1M context).
Verify it works:
claude --versiongit clone https://github.com/lhellebr/torino.git
cd torino
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"cp config.example.yaml config.yamlEdit config.yaml:
jira:
server: https://your-instance.atlassian.net
email: your.email@example.com
api_token: your-jira-api-tokenTo create a JIRA API token, go to https://id.atlassian.com/manage-profile/security/api-tokens
# Triage specific issues
torino triage SAT-12345 SAT-12346
# Find and triage all untriaged issues (default: 5 newest)
torino triage
# Quick mode — single-agent classification, faster but less thorough
torino triage --quick SAT-12345
# Show each agent's assessment during the debate
torino triage -v SAT-12345
# Skip confirmation prompt and apply changes immediately
torino triage --yes SAT-12345
# Fetch more untriaged issues
torino triage --limit 20
# Use a different JIRA project
torino triage --project MYPROJ
# Combine options
torino triage --quick --yes --limit 10For each issue, Torino:
- Validates fields — checks if summary, priority, severity, component, regression, and description sections are filled
- Searches for duplicates — uses AI-extracted keywords to find similar issues in JIRA
- Runs a multi-agent debate — four AI agents (QE, Product Owner, Developer, Docs) independently analyze the issue, then challenge each other's assessments
- Produces a consensus — a moderator synthesizes the debate into a single recommendation with reasoning
- Applies to JIRA (after confirmation) — sets severity, priority, component, regression, labels, Need Info From, and posts a triage comment
source .venv/bin/activate
pytest