ENGINEERING
GitLab Pipeline Slowdown Bisector & Perf Ticket Opener
Watches finished GitLab CI pipelines on the default branch, compares total duration against a rolling baseline.
How it runs
The automated pipeline, trigger to output.
- TriggerGitLab pipeline finished on default branchGitLab
- ActionFetch recent successful pipelines for baselineGitLab
- LogicCompare duration to baseline; stop if within threshold
- ActionPull per-job timings and bisect slowest stageGitLab
- OutputOpen Linear perf ticket with stage and deltaLinear
What it does
It catches CI pipelines that have quietly gotten slower. On every default-branch pipeline completion it compares the run's total duration to a rolling median of recent runs. If the new run is materially slower, it walks the per-job timings to find the stage responsible for the largest delta, then opens a Linear issue containing the before/after numbers, the slowest stage, and a link back to the pipeline.
When to use it
Use it when your main-branch pipeline has crept from a few minutes to many and nobody noticed the inflection point. It turns a vague "CI feels slow" complaint into a specific, assignable ticket naming the exact stage that regressed.
How it works
- 1A GitLab pipeline webhook fires when a pipeline finishes on the default branch.
- 2The flow fetches the last N successful pipelines and computes a baseline median duration.
- 3A logic step checks whether the new run exceeds the baseline by the configured percentage; non-regressions stop here.
- 4It pulls per-job timings and bisects to the stage with the biggest second-over-second increase.
- 5A Linear issue is created with the stage name, delta, and pipeline link, labeled for the platform team.
Set it up
What you configure once, before turning it on.
- 1Connect GitLabRepos, MRs, pipelines, registry.
- 2Connect LinearIssues, projects, cycles, triage.
- 3Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 4Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 5Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Engineering workflows
Gate breaking API PRs behind downstream consumer acknowledgement
When a PR introduces a breaking contract change, comments the impact summary back on the PR, applies a blocking label.
Publish a versioned API changelog to Confluence on each release tag
On a new semver release tag, gathers the contract changes since the last release and writes a clean.
Agent reviews model-license fit and suggests compliant swaps on the PR
When a PR adds a Hugging Face model, an agent reads the model card and license, judges fit against your commercial-use policy.
Upgrade Impact Router to Module Code Owners
Maps a dependency-bump PR's affected modules to their CODEOWNERS, then DMs each owner on Slack with only the changelog slice that touches code they own.
Re-Voice IVR Prompts on Phone-Tree Config Merge
When a phone-tree config change merges in GitHub, regenerates the ElevenLabs audio for any prompt whose script changed in the diff and opens a follow-up PR adding the new audio…
Upstream Release to Notion Upgrade Brief
When a watched package publishes a new release, fetches the release notes, maps them to the internal modules that depend on it.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
