Skip to content
Docs · Fix with your agent

Guides

Fix what Stableship found

Hand the problems to your coding agent, let it fix them in order, and have Stableship check each fix.

Stableship finds the problem, explains it and checks the fix. Your coding agent writes the fix. This is the loop.

1. See what was found

Open the release in Stableship. Problems are ranked by who they affect, and blocking ones come first. Each one says what a kind of user could do, how severe it is, and the proof: steps to reproduce and, for problems found in the browser, a video.

Your agent can see the same list: ask it what Stableship found (it calls get_findings), or run stableship findings --blocking in a terminal.

2. Hand it to your agent

On the release, choose Send to my agent. You get:

  • A prompt for an agent already connected to Stableship. It traces each problem to its cause, shows you a plan with problems that share a cause grouped together, then fixes them in order once you agree.
  • A private link with the same ask, for any other agent or builder. It works for 7 days and shows only the problems and how to fix them.

Or hand over the fix plan as a file, STABLESHIP_FIXES.md: download it from the report, or run stableship fix-plan --out STABLESHIP_FIXES.md. It lists every open problem as an ordered task, blocking ones first:

# Stableship fix plan for acme-app Updated 2026-10-14. 3 tasks: 1 blocking, 1 proven, 1 quick win. ## Blocking: fix these before you launch ### 1. A member of one company opened another company's invoice. Blocks the release · Critical · Reproduced · found as member **Rule it breaks:** An invoice can be opened by the company itbelongs to and its admins. Everyone else gets "not found". **Where:**- public.invoices (row level security)- src/pages/invoices/[id].tsx **Done when:**- [ ] A member of Beta Co gets "not found" for invoice 1017- [ ] Acme Ltd members can still open their own invoices **Verify:** `stableship verify f_8k2q`

3. Your agent fixes it

Each problem has a fix brief: what is wrong, the rule it breaks, where to look, and what must be true once it is fixed. A connected agent reads it with get_fix_brief. Good fixes change the code or the policy so the rule holds; they never weaken a test, a row level security policy or a sign-in check to make the problem go away.

If the right fix is to change who may see what, the agent should propose a rule change (propose_rule) for you to accept, not change it quietly. See Rules and kinds of user.

4. Stableship checks the fix

  • On its branch, before merging: the agent asks Stableship to verify one fix (verify_fix, or stableship verify <findingId> --wait). Stableship re-runs the check that found the problem against that branch.
  • On every push: each push is checked, and a push to your default branch re-checks every problem still open.

A problem is Fixed once a re-check passes. One that later checks covered twice without seeing it again shows as Not seen lately: it no longer counts or blocks, and it opens again if it comes back.

Doing it in Claude Code

/stableship:gate fix runs this whole loop: for each blocking finding it reads the brief, fixes the code, asks before it commits and pushes, then verifies the fix and reports. See Claude Code.

For your coding agent: this page as Markdown