specloop
Know how close the code is to the spec. For teams that ship on GitHub, with people and with AI agents.

specloop reads every commit, branch and pull request, matches the work to your specifications, and tells you what is done, what is half-built and what went a different way.
Spec coverage on main
72%+6 this week
- Drifted
- 3
- Open PRs
- 8
- People
- 11
Specifications
- BILUsage-based billing84%
- ONBMerchant onboarding v261%
- PAYPayouts to EU accounts38%
- RSKRisk scoring on refunds92%
Recent
- AP12m
Ana Pop merged #412
moves BIL-7 and BIL-9 to done
- 40m
backend agent flagged drift
ONB-4 stores KYC files in S3, spec says Vault
- LM1h
Luca Moretti opened #418
touches PAY-2, PAY-3
- 2h
Jira sync linked 3 tickets
HAR-221 to ONB-6
Connects to
GitHubJiraAsanaTrelloLater: GitLab, Bitbucket, LinearSpecs, measured
Write a spec in specloop or pull it from Jira, Asana or Trello. It gets split into requirements with IDs. Every merged commit is matched against them, so each requirement shows whether it is built, half-built, or built differently from what was agreed.
Drift is counted on its own, next to the percentage. A feature shipped the wrong way is not the same as a feature not shipped.

Usage-based billing
84% built, 1 drifted
- BIL-5Meter API calls per merchant per hour#398, 4 commitsDone
- BIL-7Invoice line items grouped by product#412Done
- BIL-11Proration when a plan changes mid-cycle#405, upgrades onlyPartial
- BIL-12Credit notes for refunded usageissued as negative invoicesDrifted
- BIL-14Usage alerts at 80% and 100% of budgetno matching workNot started

Ask the repository
specloop keeps a readable history of how the codebase grew: when modules appeared, who built them, where the scope changed. Ask in plain words, per branch or per pull request. Answers cite the commits.
Why do refunds have two code paths?
The ledger service was added in March (a41f9c2) for BIL-3. Refunds older than that still go through legacy/refund.ts, kept because RSK-2 needed the old fraud hook. Ana Pop and Luca Moretti own both. Removing the old path is tracked as HAR-240.
3 commits, 2 pull requests, 1 ticket cited
One agent, or a whole building of them
Each project starts with one agent that learns the whole codebase. When it gets big, split it: backend, frontend, devops, or whatever lines fit your repo. Every agent has its own scope and memory, and you can read what it currently believes about the project and correct it.

backendservices/*, infra/db
Refunds go through the ledger service. Two code paths still bypass it (legacy/refund.ts).
Specs: BIL, PAY, RSK
frontendapps/dashboard, packages/ui
Onboarding is a 5-step wizard. Step 4 (bank details) is behind the flag onb_v2_bank.
Specs: ONB
devopsinfra/*, .github/workflows
Deploys run on merge to main. Staging has no seeded payout accounts, so PAY tests skip there.
Specs: none
Planned, then shipped
The timeline puts your milestones next to what actually landed in the repository. Dates come from your board. Progress comes from the code.

Billing beta
Planned Jun 14
shipped 6 days late
Onboarding v2
Planned Aug 2
shipped a day early
EU payouts
Planned Oct 18
at risk, 38% built
Refund risk
Planned Nov 8
on track, 92% built
Context for your coding agents
The specloop CLI hands Claude Code, Cursor or Codex what they need before they write a line: the task on this branch, the spec behind it, the requirements still open, and the rules your team follows. You can see exactly what each agent was given in the Context tab.

$ specloop context --agent backend
branch feat/eu-payouts (PAY)
task HAR-231 Payouts to SEPA accounts
open PAY-2 IBAN validation, PAY-3 retry on bank reject
rules money is integer minor units; no floats
new services register in infra/services.yaml
state ledger service owns balances (since a41f9c2)
$ specloop skills sync
wrote .claude/skills/specloop-ledger/SKILL.md
wrote .claude/skills/specloop-payouts/SKILL.md
Docs that keep up, rules that get checked
Documentation
Generated from the code and the specs together, in three parts: how the project got here, what it looks like today, and what is still planned. It updates as commits land. Paragraphs you edit by hand are left alone.
- History: from checkout prototype to ledger
- Current state: services, data flow, owners
- Planned: EU payouts, refund risk scoring
Rules
Write down your conventions, or import them from an existing CLAUDE.md, AGENTS.md or lint config. specloop checks new work against them and reports where they bend. It does not block merges unless you ask it to.
- Money is stored as integer minor unitsheld
- No direct Stripe calls outside services/billing2 this week
- Every migration has a down step1 this week
Priced per workspace
You pay for a workspace, and the AI the agents use is included in the plan. Nobody on the team needs their own API key. Credits are pooled across the workspace, with caps if you want them.
Free
For a small team trying it on one project.
$0up to 3 people
- 1 project, 2 repositories
- One agent
- 500 AI credits a month
- Built-in board, 1 synced board
Team
most teamsFor a product team working across a few repositories.
$24per seat / month
- 10 projects, 10 repositories each
- Up to 5 agents per project
- 1,000 AI credits per seat, pooled
- Jira, Asana and Trello sync
- CLI and context packs
Business
For larger orgs that need controls and audit history.
$45per seat / month
- Everything in Team, no project limit
- 2,000 AI credits per seat, pooled
- Up to 20 agents per project
- Restricted projects
- Audit log kept for 2 years
Billed through Stripe. Viewers are free on paid plans. Enterprise plans with SSO and your own model keys are available on request.
Questions

Ship what you planned
We are opening specloop to a small group of teams first. Leave your work email and we will write when your workspace is ready.