Skip to content
Excellent 0.1.0, the first stable release, is on npm.Read the changelog

Verification for the work your agents call done

It runs beside the AI agents you already use, checks each task against independent evidence, and keeps a receipt of what passed.

Free to run. Yours to keep.

curl -fsSL https://excellent.so/install.sh | sh

macOS today. Windows and Linux are not supported yet. Needs Node.js 22.3 or newer.

How it works

~/ops · zsh
~/opsexcellent run --agent finance --task 2814
attempt 1 · correlationId 6f1c2a9e
task Pay invoice INV-20931, $4,820.00
agent done: payment ready to send
checks read the bank API and the ledger
✓ amount-matches-invoice PASS $4,820.00
✓ payee-on-approved-list PASS
✓ within-approval-limit PASS under $5,000
✓ no-duplicate-payment PASS
Verified · receipt kept on this machine
~/ops
Runs on your machineModel calls go to your provider
Receipt attempt 1Verified

Pay invoice INV-20931

financetask 28144 of 4 checks passed

Every check held. The receipt binds the task, the checks, the evidence and the verdict, and stays on this machine.

  • amount-matches-invoice$4,820.00
  • payee-on-approved-listPass
  • within-approval-limitPass
  • no-duplicate-paymentNone found

03Works with

Excellent works with the agents you already run: click one for its setup prompt

The installer writes one MCP entry into each agent's own config. Each of these 28 has a prompt you can paste into it, the exact entry and the undo.

Click any agent for its prompt, entry and undo. Drag, scroll or use the arrow keys to move along. Swipe the row to move along.

28 agents

Names and marks belong to their owners. Shown to say Excellent works with these agents, with no endorsement implied.

Why

AI agents can produce more work than people can carefully review. Asking another model whether the first one did a good job does not close that gap.

So Excellent treats every “done” as a claim and goes to look. The repo, the tests, the build and the browser can each tell us something real about the result. What holds up leaves a receipt. What does not goes back to the agent with the reason. Software comes first because it leaves unusually good evidence.

01Run

Every attempt starts on the record, with its agent, model, task and repo captured before the work begins

Excellent starts the agent in an isolated worktree and records the exact agent version, model, instructions, tools, repo state and task. Every attempt is bound to the setup that produced it, so a result always belongs to one configuration.

~/your-repo · zsh
~/your-repoexcellent run --agent <role> --task <task-id>
# an attempt opens in an isolated worktree
# its setup is bound to it before the work begins:
# agent version
# model
# instructions
# tools
# repo state
# task
 
# exit 0 completed · 1 not completed · 2 usage
~/your-repo
Or the agent opens the attempt itself, through MCP

02Check

Done is a claim, so Excellent freezes the result and goes to look

When the agent says it is finished, Excellent freezes the resulting tree and gathers evidence from the repo and the tools connected to the task. When a check cannot run, Excellent says so instead of implying a pass.

~/your-repo · zsh
~/your-repoexcellent run --agent <role> --task <task-id>
# the agent says it is done: a claim
# the resulting tree is frozen
# evidence from the repo and the tools connected to the task
check-verification-product-fixtures PASS
check-verification-canonical-client-coverage PASS
test-relay-inbox PASS
# a check that cannot run says so; it is never counted as a pass
~/your-repo
Check lines from the owner's own logs, 24 Sep 2026

Evidence it gathers

  • Git tree and commit
  • Test runner
  • Type checker
  • Browser test
  • Build
  • CI
  • API
  • Database
  • Deployment

Git and test evidence are the most settled. Browser, CI and deployment observers are newer.

A model can lower a verdict or send it to a person. It can never carry a pass. Only a check that ran, or a person, can.

How checks decide

03Return

Wrong work comes back with the reason: the unmet check, what was expected and what was observed

A returned attempt carries the unmet check, the observed result, the expected result, the supporting evidence and the next action. The next attempt starts from that evidence instead of a fresh prompt.

Receipt · attempt 1Returned

invoices-csv-export

Claude Code1 of 6 checks failed

The export ignored the active invoice filter. Expected 12 rows, found 47.

Expected
12 rows
Observed
47 rows
Next action
Sent back to the agent with this evidence
Receipt · attempt 2Verified

invoices-csv-export

Claude Code6 checks

Second attempt passed all six checks, including the browser check on the filtered view.

See it in a full run

  • Verified

    The checks held. A receipt is written.

  • Returned

    Sent back with the failure in it.

  • Unchecked

    A check could not run. It stays in the count and is never counted as a pass.

04Receipt

Accepted work leaves a receipt, signed, append-only and kept on your machine

Each accepted result leaves a receipt you can open later, cite during review, or use to compare agent setups. It binds the input, the checks, the evidence, the decision and the software version, then signs the hash with Ed25519.

sample-receipt.jsonReal, from the docs
  1. "receipt": {
  2. "id": "receipt_v0_release_4df3dd89b3e4d0a0",
  3. "status": "FAIL",
  4. "checkResultIds": [
  5. "G00:PASS",
  6. "G01:FAILING",
  7. "G02:FAILING",
  8. "G03:PASS",
  9. "G04:PASS",
  10. … 10 more
  11. ],
  12. "issuedAt": "2026-09-16T12:37:22.257Z",
  13. "signature": {
  14. "algorithm": "ed25519",
Verdict FAIL. The receipt block, folded to its first five checks.
AttemptVerified

schema-migration

Claude Code8 checks

  1. StartedThe agent runs in an isolated worktree.

    01
  2. Evidence gatheredThe resulting tree is frozen.

    02
  3. Checked8 checks against the repo and its tools.

    03
  4. VerifiedMigration applied cleanly and the rollback path was exercised before accept.

    04
  5. ReceiptSigned and kept on this machine.

    05
Real receipt

Real receipt from the Excellent docs. Synthetic release evidence, genuine signature. Its verdict is FAIL: a valid signature proves the receipt was not altered, whatever the verdict says.

  • Signed

    Ed25519 over a canonical hash. Change one character and the check fails.

  • Append-only

    A re-run is a new receipt. Nothing edits history.

  • Local

    Kept in ~/.excellent. We run no cloud that holds a copy.

Your repository, attempts, evidence and receipts stay in a local database on your machine. None of it reaches us. Model calls go from your machine to the provider you chose, on your account.

Receipts stay on the machine that made them. They do not sync between teammates yet.

05Agents

Excellent lives inside the agent you already run, as one MCP entry in each agent's own config

The installer finds the agents on your machine and writes one excellent entry into each one's own config: 28 agents, 9 shapes of entry. A second run changes nothing.

Connect28 agents · MCP
excellent install-agent-mcps

Restart each agent afterwards, or it will not see the new server.

Claude Code

Anthropic JSON · ~/.claude.json

Set up Excellent (excellent.so) in Claude Code for me. First run: curl -fsSL https://excellent.so/install.sh | sh
If its output has a line starting "Claude Code: linked" or "Claude Code: already-linked", skip to the last step.
Otherwise open ~/.claude.json (create it as {} if it is missing) and add this under the top-level "mcpServers" object, creating that object if needed and keeping everything else in the file unchanged:
"excellent": {"type":"stdio","command":"/absolute/path/to/node","args":["/absolute/path/to/@excellent-so/cli/dist/server.js"],"cwd":"/absolute/path/to/@excellent-so/cli/dist","env":{}}
Replace /absolute/path/to/node with the output of `node -p process.execPath`, and /absolute/path/to/@excellent-so/cli/dist with the output of `echo "$(npm root -g)/@excellent-so/cli/dist"`.
Last step: tell me to restart Claude Code, because it only sees the new server after a restart.

Paste it into Claude Code. It runs the installer and looks for Claude Code: linked, or adds the entry by hand.

Install
curl -fsSL https://excellent.so/install.sh | shIt runs excellent install-agent-mcps, which writes the entry and prints Claude Code: linked.
Restart
Restart Claude Code afterwards: it only sees the new server after a restart.
Undo
Delete the "excellent" entry under "mcpServers" in ~/.claude.json, then restart Claude Code.

Claude Code on the agents page

Paths, entries and undo lines are the installer's own, read from its source. Names and marks belong to their owners. Shown to say Excellent works with these agents, with no endorsement implied. Every agent and its config file

Compare and promote · Team, early access

Better setups have to prove it on held-out work before anything is promoted

Once Excellent has enough representative work, it sets a baseline and tests candidate setups against work the candidate never saw. A higher average score is not enough.

The promotion path, in orderTeam · early access
  1. 01

    Historical comparison

  2. 02

    Held-out tasks

    Work the candidate never saw while it was tuned.

  3. 03

    Shadow

  4. 04

    Canary

  5. 05

    Promotion

    The exact diff is shown before anything changes.

  6. 06

    Ongoing observation

What a candidate can change

  • Instructions
  • Model selection
  • Tool descriptions
  • Context selection
  • Planning
  • Check timing
  • Retry behavior
  • Stopping rules

The rule

If a candidate sees the held-out tasks or lacks required evidence, it is invalid.

We have not published a verified improvement yet. When we do, it will be our results on our repository.

Open a receipt

Open a real receipt and read every field, with what it binds

This is the sample receipt from the Excellent docs: genuine output of the receipt pipeline, with a genuine signature, made from synthetic release evidence. Its verdict is FAIL. Point at any line to see what it binds.

sample-receipt.jsonReal, from the docs
  1. {
  2. "schemaVersion": 1,
  3. "serviceVersion": "2026-08-16.v1",
  4. "receipt": {
  5. "schemaVersion": 1,
  6. "id": "receipt_v0_release_4df3dd89b3e4d0a0",
  7. "tenantId": "tenant_v0_release",
  8. "runId": "run_v0_release_e44941560b9f",
  9. "parentReceiptId": null,
  10. "status": "FAIL",
  11. "checkResultIds": ["G00:PASS", "G01:FAILING", … 13 more],
  12. "evidenceHashes": ["sha256:437284d4…", … 4 more],
  13. "policyVersionRefs": ["policy_v0_release@2026.08"],
  14. "engineVersion": "v0-release@1",
  15. "issuedAt": "2026-09-16T12:37:22.257Z",
  16. "signature": { "algorithm": "ed25519", … 2 more }
  17. },
  18. "binding": {
  19. "predicate": "excellent.verification.agent-work-receipt.v1",
  20. "workItemId": "work_cand_9b618ed027764ef4bccf2a64_df-001",
  21. "workSnapshotId": "wsnap_work_cand_9b618ed027764ef4bccf2a64_df-001",
  22. "attemptId": "promo_23247c38c4574c96893c2036:release",
  23. "contractId": "verification-api/2026-08-16.v1",
  24. "evidenceSnapshotId": "evsnap_v0_release_4df3dd89b3e4d0a0",
  25. … 2 more fields
  26. "evaluatorRefs": ["evaluator:evidence-integrity", … 2 more],
  27. … 8 more fields
  28. "subject": { "treeHash": "git-tree:fcd3f669…", … 6 more },
  29. … 22 more fields
  30. },
  31. "payloadHash": "sha256:ea48ebc0c…",
  32. "signature": { "algorithm": "ed25519", "value": "ed25519:COSk…", … 1 more },
  33. "publicVerification": { "receiptId": "receipt_v0_rel…", … 8 more }
  34. }
Folded where a value runs long or the docs do not explain a field. Every field is in the viewer below.
Receipt…4df3dd89b3e4d0a0
Issued2026-09-16
SignedEd25519
VerdictFail
Looking atreceipt.status
On the receiptline 10

What it binds

One of the six verification states (PASS, MISMATCH, FAIL, UNKNOWN, NOT_RUN, PENDING). Here: FAIL.

Value

"FAIL"

What it binds is the docs’ own text, from “What each part is for”. A field the docs do not explain says so.

Point at a line, tap it, or tab to the receipt and use ↑ ↓.

Real receipt

Real receipt from the Excellent docs. Synthetic release evidence, genuine signature. Verdict: FAIL. A valid signature proves the receipt was not altered. It does not make the verdict good. Source

Open every field in the receipt viewerReal receipt · all fields
release-receipt.jsonReal, from the docs
  1. {
  2. "schemaVersion": 1,
  3. "serviceVersion": "2026-08-16.v1",
  4. "receipt": {
  5. "schemaVersion": 1,
  6. "id": "receipt_v0_release_4df3dd89b3e4d0a0",
  7. "tenantId": "tenant_v0_release",
  8. "runId": "run_v0_release_e44941560b9f",
  9. "parentReceiptId": null,
  10. "status": "FAIL",
  11. "checkResultIds": [
  12. "G00:PASS",
  13. "G01:FAILING",
  14. "G02:FAILING",
  15. "G03:PASS",
  16. "G04:PASS",
  17. "G05:PASS",
  18. "G06:PASS",
  19. "G07:PASS",
  20. "G08:PASS",
  21. "G09:RUNNING",
  22. "G10:PASS",
  23. "G11:PASS",
  24. "G12:BLOCKED_EXTERNAL",
  25. "G13:FAILING",
  26. "G14:PASS"
  27. ],
  28. "evidenceHashes": [ … ],5 items
  29. "policyVersionRefs": [ … ],1 item
  30. "engineVersion": "v0-release@1",
  31. "issuedAt": "2026-09-16T12:37:22.257Z",
  32. "signature": { … }3 fields
  33. },
  34. "binding": { … },40 fields
  35. "payloadHash": "sha256:ea48ebc0c36dced1cefd90ae750220594dd2e3124cc67c6ecb9ac524a2b55ca9",
  36. "signature": { … },3 fields
  37. "publicVerification": { … }9 fields
  38. }
Folded lines open with a click or EnterEvery field as published
Receipt…4df3dd89b3e4d0a0
Issued2026-09-16
SignedEd25519
VerdictFail

Fifteen checks: ten pass, three failing, one running, one blocked outside the run. One unresolved check sinks the set, so the receipt says FAIL.

Looking atreceipt.status
On the receiptline 10

What it binds

One of the six verification states (PASS, MISMATCH, FAIL, UNKNOWN, NOT_RUN, PENDING). Here: FAIL.

Value

"FAIL"

See also

What it binds is the docs’ own text, from “What each part is for”. A field the docs do not explain says so.

Point at a line, tap it, or tab to the receipt and use ↑ ↓. Enter opens a folded line.

Pricing

Free to run and yours to keep, with early access for teams and Excellent engineers to build it with you

Run Excellent locally for free. Teams can join early access, or work directly with Excellent engineers on a deployment.

Individual · Team · Deployment
  • Individual

    Start here

    Free for developers

    Run Excellent locally.

    Install Excellent

    No credit card, ever.

    • The local app, CLI, verification loop and receipt viewer
    • Works with the agents you already use: Claude Code, Codex, Cursor and more
    • Independent evidence from tests, builds, browsers and Git
    • Local attempts, results and receipts, exportable any time
    • Bring your own model key. Agents bill to your account, never ours
  • Team

    Early access

    Contact us

    CI, baselines, experiments, policy.

    Contact us

    Self-hosted team sync is in beta today.

    • Everything in Individual
    • Verification in CI, beside the checks you already run
    • Baselines captured before the work, so before-and-after is provable
    • Experiments that compare agent setups on your own tasks
    • Team policy for what counts as done and what needs a person
  • Deployment

    Custom

    Work directly with Excellent engineers.

    Book a call

    Engagements start at $10,000/month. No minimum term.

    • Everything in Team
    • Hands-on installation and integration in your environment
    • Custom checks and evidence integrations built for your workflow
    • Release gates and policy review
    • Team training and an operating cadence
    • Direct access to the engineers doing the work

Every tier includes the same verification loop, local receipts, and agent integration. You bring your own model key.

Compare plans

Excellent Deployment

Put agents to work in your operation with Excellent engineers beside your team

We work directly with teams to find the workflows where agents can create meaningful leverage, build them into your existing systems, and establish the verification required to let them act.

DeploymentCustom

Engagement model

Six phases, each with a result you can check. They repeat as new workflows come into scope.

  1. 01FindIdentify workflows with high agent leverage and measurable outcomes
  2. 02DefineSpecify what success means and what evidence can prove it
  3. 03BuildConnect the agent to the actual tools and systems
  4. 04VerifyEstablish independent checks and escalation paths
  5. 05DeployShadow, then limited operation, then production
  6. 06ImproveUse production failures to improve the agent and verifier
Starts at
$10,000 a month
Term
No minimum term, no deposit, no termination fee
Book a call

Two commitments

We don’t deliver AI strategy decks; we ship working systems.

Every deployment is built to become less dependent on us over time.

FAQ

The questions people ask first, with the plain answers

Fig. · Portable typewriter, amber dither
01What is Excellent?

A verification system for agentic tasks. It runs beside the agent you already use, checks the work with independent evidence, and leaves a receipt you can inspect later.

02Is Excellent another agent?

No. Your agent does the work. Excellent starts the attempt, records what happened, checks the result against your repo and tools, and compares different ways of running it.

03Which agents does it work with?

The one you already use: Claude Code, Codex, Cursor, Copilot, Cline, Gemini, OpenCode, or any other agent that does work you can check. Excellent observes the run instead of replacing it.

04What does it actually check?

Whatever can prove the task: the git tree, tests, lint, the build, browser behavior, API responses, CI, and the deployment. Git and test evidence are the most settled; browser, CI, and deployment observers are newer. When a check cannot run, Excellent says so instead of implying a pass.

05What happens when the agent is wrong?

The attempt is returned with the exact failure, expected behavior and observed behavior, and sent back to the agent. The original context and the retry history are kept on the receipt.

06Does my code leave my machine?

None of it reaches us. Excellent keeps your repository, attempts, evidence, and receipts in a local database on your machine, and sends none of it to Excellent. Model calls are the exception worth naming: they go from your machine to the provider you chose, on your own account, the same traffic your agent already makes. The security page has both paths in full.

07Is it really free?

Yes, for individuals. You install it and run it on your own machine, with no seats to buy and nothing metered for local verification. Team features are in early access; contact us to join.

08Has this made your agent better yet?

We are building Excellent with Excellent, and we have not published a verified improvement yet. The results page says so plainly and will carry the numbers when one exists. Whatever we publish will be our results on our repository, not a promise about yours.

Install

Try it on a real repo: install it, run one task and read the result

curl -fsSL https://excellent.so/install.sh | sh

Free to run. Yours to keep. macOS, Node.js 22.3 or newer.

Read the quickstart
ChangelogStable
0.1.0

First stable release

July 21, 2026@excellent-so/cli

The CLI moves from the beta channel to latest on npm. This is the build the installer gives you today.

Read the changelog