Acceptance criteria before code
The ticket has to say what done means before the agent starts editing files.
Specship makes test order part of the workflow. The agent turns a ticket into acceptance criteria, drafts failing tests, implements the change, and opens a pull request with the test evidence next to the code diff.
-> criteria saved
-> writing failing tests
FAIL exports filtered rows
FAIL streams large datasets
-> implementing
PASS exports filtered rows
PASS streams large datasets
PASS records analytics event
coverage: 94.2%
status: ready for review
The ticket has to say what done means before the agent starts editing files.
The first useful signal is a failing test that proves the existing behavior is incomplete.
Specship fits the checks your repo already uses: Vitest, Playwright, pytest, go test, or your CI gate.
When a reviewer asks for a change, the agent updates tests and code on the same branch.
An agent-ready ticket for CSV export should not say only "add export." It should define filtered rows, pagination behavior, large-dataset handling, permissions, analytics, and the expected test files. That turns a vague request into a reviewable PR.
Add CSV export to the invoices table. It should respect filters and work on large accounts.
This is an illustrative product example, not a customer case study. Real customer proof should be added only after the team has approval to publish it.
Use Specship for tickets where the expected behavior is clear enough to encode in tests.
Join the waitlist