Inspiration / The Problem

Developers waste 15-30 minutes per issue manually triaging: reading code to understand context, searching for relevant files, identifying the right assignee, and adding labels. This manual process is slow, inconsistent, and doesn't scale. On large projects with hundreds of issues per week, this becomes a major bottleneck.

What it does

The Orbit Issue Triage Agent automatically triages new GitLab issues by leveraging GitLab Orbit's structured codebase representation. When a new issue is created:

  1. Parses the issue title and description to extract technical keywords (function names, class names, error types)
  2. Queries GitLab Orbit's knowledge graph to find matching code definitions, affected files, and cross-file references
  3. Analyzes contributors to identify the best assignee based on recent commits
  4. Enriches the issue with a triage report containing:
    • Affected files and components
    • Suggested labels based on code directories
    • Recommended assignee based on code ownership
    • Impact scope (how many files/references are affected)
    • Confidence score (high/medium/low)

How we built it

  • GitLab Orbit (Local CLI) for structured codebase queries via DuckDB/SQL
  • GitLab Duo Agent Platform — defined as both a Flow (config.yaml) and a Skill (SKILL.md)
  • Python scripts for the core triage logic: keyword extraction, Orbit querying, contributor analysis, and report generation
  • GitLab API for posting triage comments and applying labels

Note: The agent is defined as code (config.yaml and SKILL.md) in the repository. It is built to the exact specifications of the AI Catalog, but was developed in a personal namespace without the Duo Enterprise UI enabled.

What's next

  • Remote Orbit query support (Orbit Remote via glab CLI)
  • Automatic severity estimation based on impact scope
  • Event-driven triggers for fully automatic triage on issue creation
  • Confidence calibration based on historical accuracy

Built With

Share this project:

Updates