Skip to content

AI Classification

How GitWire uses Claude to classify issues and pull requests.

The Pipeline

When a triage job is picked up by the Triage Worker:

  1. Fetch issue data from the database (title, labels, existing metadata)
  2. Build prompt with classification instructions and the issue context
  3. Send to Claude via the Anthropic API
  4. Parse response — extract type, priority, and summary
  5. Upsert triage fields in the issues table
  6. Apply labels on GitHub via the API

Classification Types

Claude assigns one of these types:

TypeDescriptionGitHub Label
bugSomething isn't workingbug
featureNew feature or requestenhancement
questionFurther information requestedquestion
documentationImprovements or additions to docsdocumentation
enhancementImprovement to existing featureimprovement
performancePerformance issue or optimizationperformance
securitySecurity vulnerability or concernsecurity
otherDoesn't fit other categories

Priority Levels

PriorityCriteriaGitHub Label
criticalSecurity vulnerabilities, data loss, production outagespriority: critical
highBreaking functionality, significant user impactpriority: high
mediumNon-critical bugs, feature requests with clear valuepriority: medium
lowMinor issues, nice-to-have featurespriority: low

Summary Generation

Claude generates a one-line summary of the issue, stored in triage_summary. This is used in:

  • Dashboard issue lists (quick scan)
  • /gitwire status command output
  • Duplicate detection embedding text

Confidence

The triage worker does not currently assign a confidence score. All classifications are applied directly. Future versions may add a confidence threshold below which triage is skipped.

Re-triage

Issuing /gitwire triage on an issue triggers a re-classification. The previous triage fields are overwritten.

Worker Reference

See Triage Worker for implementation details.

Duplicate Detection

Released under the MIT License.