
Engineering Outer Loop Kit
Run your team's outer loop: daily triage, CI verdicts, release notes and postmortems.
by GetKits
Watch the three pieces work together
The Skill does the work when you ask, the Bot runs the routine in Grok and the Dot keeps watch in ChatGPT. Every step is a real before and after from this bundle.
Before
Branch feat/ENG-482-webhook-retries. Commits: "wip retries", "fix tests". Diff adds retry columns and CREATE INDEX on webhook_deliveries, 30 s doubling backoff up to 8 attempts, and a worker behind WEBHOOK_RETRY_ENABLED. No CI run shared.
After
Summary: Failed webhook deliveries are now retried, up to 8 attempts with delays doubling from 30 seconds (about 64 minutes), behind WEBHOOK_RETRY_ENABLED, off by default.Risk: High. New index on webhook_deliveries (size unknown), and delivery becomes at-least-once.Rollback: Set WEBHOOK_RETRY_ENABLED=false. Safe.Must review 1. [Tier 1] retry-worker.ts: FOR UPDATE SKIP LOCKED runs outside a transaction, so two runs can send the same delivery twice.
See the difference
Red main to green in 31 minutes
Before
11:12 AM. Main goes red on northwind/web right after #877 (saved filters) merges: error: relation "saved_filters" does not exist The Bot, the Skill in Cursor and the lead's Dot are all running.
After
Verdict: REAL (confidence high). #877 queries saved_filters, but no migration creates it. Owner: Jonas. A human reverts #877 if main is still red at 12:00. 11:31 Jonas, Skill in Cursor: fix(orders): add the missing saved_filters migration. Rollback: revert with #877, safe, the table is empty. 11:43 Main green. Time to green: 31 minutes. Next morning, Dot: Add a CI check that fails when models change without a migration? Recommendation: add it this sprint. Review missed it on #877.
Red main to green in 31 minutes, three handoffs
Before
Mon 2026-10-05, 11:12 AM ET. CI fails on main in northwind/web, run #2210, right after #877 "feat: saved filters on orders page" (Jonas) merges. Last green run #2209 was on the commit before. Integration tests: error: relation "saved_filters" does not exist ##[error]Process completed with exit code 1. The team runs the Bot with its event trigger, the Skill in Cursor, and the lead's Dot.
After
11:13 Bot, approved and posted to #eng-outer-loop CI TRIAGE Run: CI / Integration tests, run #2210 on main at 7c41e2d Verdict: REAL (confidence high) Signature: REAL-MIGRATION Evidence: Integration tests | error: relation "saved_filters" does not exist Likely cause: #877 adds SavedFilter queries, but no migration creates saved_filters. Run #2209 on the previous commit was green. First bad commit: 7c41e2d (#877, Jonas) Smallest next step: Jonas adds the missing migration in a fix PR. If main is still red at 12:00, a human reverts #877. Owner: Jonas (author of #877) Do not: Do not rerun. The failure is deterministic. 11:31 Jonas, Skill in Cursor PR DESCRIPTION Title: fix(orders): add the missing saved_filters migration Summary: Adds the migration that creates saved_filters, which #877 queries. Restores main. Why: Main red since 11:12 (CI #2210) because #877 merged without its migration. Changes: - Create saved_filters with user_id, name and query, indexed on user_id (db/migrations/20261005_create_saved_filters.sql) Risk: Low. New empty table. Test plan: - [x] Integration tests pass on this branch (CI #2214) - [ ] Main CI green after merge Rollout: Merge; the migration runs before the app starts. Rollback: Revert together with #877. Safe, the table is empty. Links: CI #2210, #877 Reviewer notes: One new migration file. 11:43 main green (CI #2216). Time to green: 31 minutes. Tue 9:15 Dot DECISIONS NEEDED 1. Decision: Add a CI check that fails when models change without a migration? Options: A) Add it this sprint. B) Rely on review. Recommendation: A. Review missed it on #877; a check catches it on every PR. By when: Friday planning Links: CI #2210, #877, #898
Incident channel to follow-ups in Linear
Before
#inc-2026-09-17 export, times in ET: 10:02 deploy 2026-09-17.3 starts 10:09 checkout error rate 0.2% to 11% (dashboard) 10:21 page: checkout_5xx_rate > 5% for 10 min 10:24 Priya acks 10:31 rollback started 10:35 errors back to 0.3% Cause: new config set db pool_size to 5 instead of 50. Pipeline does not validate config values. 1,840 checkouts failed per dashboard. Ideas in thread: validate config, faster alert.
After
Incident lead, Skill INCIDENT SUMMARY Title: Checkout failed for 11% of requests after a config change Severity: SEV2 [confirm] Status: Resolved Duration: 14:09 to 14:35 UTC (26 minutes). Time to detect 12 minutes, time to mitigate 14 minutes Impact: 1,840 failed checkouts (dashboard). Revenue impact [confirm] Timeline (UTC): - 14:02 Deploy 2026-09-17.3 starts (deploy log) - 14:09 Error rate rises from 0.2% to 11%, impact starts (dashboard) - 14:21 Page fires: checkout_5xx_rate > 5% for 10 min, detected (pager) - 14:24 Priya acknowledges (pager) - 14:31 Rollback starts (Slack) - 14:35 Error rate back to 0.3%, mitigated (dashboard) Trigger: Deploy 2026-09-17.3 set db pool_size to 5 instead of 50. Root cause: The deploy pipeline accepts config values without range checks, so a pool too small for checkout traffic reached production. Contributing factors: - The page needs 10 minutes above 5%, so detection took 12 minutes. What went well: Service recovered 4 minutes after rollback started. Where we got lucky: [confirm in review] Follow-ups: - [prevent] Validate pool_size range in the CI config schema check. Owner [confirm owner]. Due 2026-10-01. Ticket [create] - [detect] Page on checkout_5xx_rate > 2% for 3 minutes. Owner Priya [confirm]. Due 2026-10-01. Ticket [create] Open questions: What happened in the 7 minutes between acknowledgment and rollback? Bot ISSUE TRIAGE 1. Issue: Incident 2026-09-17 follow-up: validate pool_size in CI config schema check Type: task Priority: High. Prevent item from a SEV2. Team: PLAT Labels: incident-follow-up Duplicate of: none found Missing: owner Proposed action: create a PLAT issue, due 2026-10-01, linked to the postmortem 2. Issue: Incident 2026-09-17 follow-up: page on checkout_5xx_rate > 2% for 3 minutes Type: task Priority: High. Detect item from a SEV2. Team: PLAT Labels: incident-follow-up Duplicate of: none found Missing: none Proposed action: create a PLAT issue for Priya, due 2026-10-01 Approval needed: create both Linear issues? Reply approve, or edit.
Monday hygiene sweep to the lead's decisions
Before
Mon 2026-10-05, 9:00 AM ET. Weekday triage runs with the Monday hygiene sweep for northwind/platform and northwind/web. Since last Monday: 3 failed-then-passed runs of checkout.spec.ts:88 on main, 6 open Dependabot or Renovate PRs, web#842 still a draft, platform#1890 untouched since Ana moved teams. The lead's Dot checks in at 9:15.
After
Bot HYGIENE REPORT Window: 7 days to Mon 2026-10-05 9:00 AM ET, northwind/platform and northwind/web Stale PRs: - Close: web#842 spike: new chart library. Draft, 25 days idle, no reply to last week's ping - Hand over: platform#1890 feat: bulk invoice export. 15 days idle, author moved teams Dependency PRs: - Security: web#879 next (advisory linked in PR). CI green, open 15 days - Major: platform#1975 pg-boss 9 to 10. A human must read the changelog - Minor and patch, CI green: platform#1971, platform#1972, web#895, web#896 Flaky tests: - checkout.spec.ts:88 applies discount code: 3 flakes in 7 days (runs #2190, #2197, #2205). Quarantine candidate Old unlabeled issues: - web#861 Export button misaligned in Safari (13 days) Approval needed: close web#842, and create a WEB Linear issue to quarantine checkout.spec.ts:88? Reply approve, approve 2, or edit. 9:15 Dot DECISIONS NEEDED 1. Decision: Merge the security bump web#879 today? Options: A) Review and merge today. B) Batch it with next week's dependencies. Recommendation: A. It fixes an advisory, CI is green, and it has waited 15 days. By when: end of day Links: web#879 2. Decision: Who takes over platform#1890 (bulk invoice export)? Options: A) Marco, who reviewed it. B) Close it and return the Linear issue to the backlog. Recommendation: A if bulk export is still on this cycle's plan [confirm], otherwise B. By when: Wednesday Links: platform#1890 3. Decision: Owner for the checkout.spec.ts:88 quarantine fix? Options: A) Jonas, checkout code owner. B) This week's outer loop owner. Recommendation: A, due in 2 weeks, so it never reaches the 30-day quarantine limit. By when: today Links: runs #2190, #2197, #2205
What's inside
- SkillEngineering Outer Loop SkillTurn diffs, red CI logs and merged PRs into review-ready write-ups with the risk named.
- BotEngineering Outer Loop BotA Grok teammate that triages your repos at 9:00 and drafts release notes. It never merges.
- DotEngineering Outer Loop DotYour ChatGPT dot keeps PRs, CI and Linear tidy and brings you only the decisions.
- engineering-outer-loop-kit-playbook.md
About this kit
Run your team's outer loop as one system: every PR arrives with a description reviewers can act on and a ranked list of what to check, red main gets a verdict and a named owner within minutes, issues land in Linear with a team and priority, every release ships with notes, and every incident ends in follow-ups with owners. The Skill works in each engineer's editor, the Bot keeps the team's daily rhythm in Grok, and the Dot brings the lead the decisions. A playbook ties them together. Set up the whole system in about 50 minutes over two days.
What you get
- Engineering Outer Loop Skill for Claude, ChatGPT, Codex and Cursor: PR descriptions with risk and rollback, risk-ranked review prep, CI triage, release notes and blameless incident summaries, with review checklists for five change types, a 22-type CI failure taxonomy, a postmortem template and a worked example.
- Engineering Outer Loop Bot for Grok: five skills and three routines covering weekday 9:00 repo triage, CI triage when main fails, a weekly release notes draft, issue triage into Linear and a Monday hygiene sweep. It posts only what you approve and never merges.
- Engineering Outer Loop Dot for ChatGPT: a responsibility pack that has your dot watch the repos and Linear, investigate bugs and prepare fixes for review, and bring merge, release and priority decisions to you, under eleven custom rules.
- The playbook, only in the bundle: how to roll the system out across a team, including:
- human roles, with a weekly outer loop owner rotation
- seven production guardrails to set before the Bot posts anything
- setup order and staggered schedules so the Bot and Dot never duplicate work
- a handoff table for red main, new PRs, bug reports, release day, incidents and flaky tests
- the daily, weekly and monthly rhythm
- four metrics with targets plus three guardrail numbers
- a week-by-week first 30 days with a team announcement
- an FAQ
All three draw from one shared set of ten output blocks with fixed field names, so a CI TRIAGE from the Bot or a PR DESCRIPTION from the Skill can be pasted anywhere else unchanged.
Who it is for
- Tech leads and engineering managers of teams of 3 to 30 engineers on GitHub, Linear and Slack.
- Teams where reviews wait days, main stays red for an hour before anyone notices, and release notes are an afterthought.
- Leads who want automation around the code with clear guardrails, not a bot with merge rights.
What it will not do
- Merge, approve, push, revert or deploy. Every one of those stays with a human.
- Post, comment, create issues or open PRs without approval of the exact draft.
- Write your product code. The Dot can prepare a bug fix, but it goes through your normal review.
- Connect to Jira, GitLab or other trackers. The Bot and Dot use GitHub, Linear and Slack; the Skill takes pasted input from anywhere.
- Invent facts. Unknown owners, numbers and test results come back as
[confirm].
Bought separately
The Skill, the Bot and the Dot cost $19 each, $57 together. The bundle is $49, saves you $8, and adds the playbook, which only the bundle includes: the team rollout plan, roles, production guardrails, handoffs, weekly rhythm, metrics and first 30 days that turn three tools into one system your team runs every week.
Reviews
No reviews yet.
More bundles

Bot Generator Kit
Turn a job you do by hand into a safe, tested AI teammate in under an hour.

Content Factory Kit
One long piece in, a week of on-voice posts out, scheduled in Notion and reviewed weekly.

Design Studio Kit
Brand kits, scored critiques and launch checks so AI-built UI stops looking generic.