ENGINEERING

Suggest the best GitLab MR reviewer with an agent

On MR open, an agent weighs code ownership, recent file expertise, current queue depth, and availability to recommend the strongest reviewer.

CategoryEngineering
EngineSim + Paperclip
Difficultyadvanced
Triggerwebhook
Steps5
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitLab MR openedGitLabGitLab
  • ActionGather diff, owners, recent file authorsGitLabGitLab
  • ActionRead candidate queue depth and availabilityPostgreSQLPostgres
  • LogicAgent ranks candidates by expertise and loadOpenAI
  • OutputPost suggestion with rationale to Slack to confirmSlack

What it does

This workflow uses an agent to make a judgment call the rule-based balancer can't. For a new merge request it gathers the code owners, who has recently touched the changed files, each candidate's live queue depth, and their availability, then reasons over those signals to recommend the reviewer who best balances fairness against domain expertise. It posts the recommendation with a short rationale to Slack for the team to confirm.

When to use it

Use it when pure round-robin load balancing assigns reviews to people who don't know the affected code. The agent keeps load even while still favoring the right expertise for tricky changes.

How it works

  1. 1A GitLab webhook fires on MR open.
  2. 2The workflow pulls the diff, CODEOWNERS matches, and recent commit authors for the changed files.
  3. 3It reads each candidate's current queue depth and availability from Postgres.
  4. 4The agent weighs ownership, recency of expertise, load, and availability to rank candidates and explain its top pick.
  5. 5It posts the ranked suggestion and rationale to Slack with a confirm action.
  6. 6On confirm, it assigns the reviewer in GitLab and records the choice.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitLabRepos, MRs, pipelines, registry.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect OpenAIModels, embeddings, files.
  4. 4
    Connect SlackChannels, DMs, threads, mentions.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.