Code comes after the market decision
Code is cheap. A bad cluster is expensive.
Agentutility now lists 799 paid endpoints across 17 clusters. Calls range from $0.001 to $0.50 in USDC on Base. At that size, a handler can be finished faster than its reason to exist can be proven.
So every proposed cluster starts in docs/superpowers/specs/. The spec answers five questions: who pays, what gets them to make the first call, which endpoint leads, what gets built first, and what would stop the work.
If any answer is fuzzy, the status stays draft.
LLM routers need this discipline too. They compare a request with an endpoint’s name, contract, output, and price. If several endpoints appear equally suitable, the cluster hasn’t been defined tightly enough.
The cluster spec template
Our cluster design files follow this skeleton:
Status: Buyer: Trigger: x402 wedge: Lead endpoint: Endpoint table: Common input contract: Common output contract: Price per call: Build order: Kill criteria: Exit criteria: Non-goals:
Buyer. Name one agent or operator with a repeated job. “Developers” is too broad. “A coding agent checking a repository before deploy” is usable. The spec also names the event that causes a call, such as a pending release or a newly received marketplace notice.
Wedge. This is the smallest result worth paying for by itself. Prooflayer’s secrets-exposure-check, for example, accepts a public repository or supplied files and returns file-level findings for $0.02. A caller doesn’t need to adopt the rest of Prooflayer first.
Lead endpoint. Pick the call that explains the cluster in one sentence. The Cardpoint draft chose card-comps: pay $0.05 and get recent sold prices for one graded card. That spec also stayed in draft until the required data rights could be confirmed. Good specs can say “stop.”
Build order. Order work by what needs proof, then by dependency. Prooflayer schedules its shared contract and a risky integration check first. secrets-exposure-check comes next because it proves the input and findings format. The $0.10 production-readiness-score aggregator comes last, after its component calls have working contracts.
Kill criteria. Write these before sunk cost starts arguing back.
- Drop the cluster if the lead result isn’t independently useful.
- Stop if the intended data can’t be sold under clear terms.
- Reprice or cut an endpoint if its useful output can’t fit the proposed call price.
- Keep it inside an existing cluster if it lacks a separate buyer channel.
Put the routing contract in writing
An endpoint table needs more than names. Record the accepted input, response fields, error behavior, payment amount, and the request that should route there.
Here’s the shape defined for Prooflayer’s lead call:
{
"files": [
{
"path": ".env.example",
"content": "API_TOKEN=replace-me"
}
],
"max_findings": 10
}
{
"score": 42,
"risk_level": "medium",
"findings": [
{
"kind": "weak_example_secret",
"severity": "medium",
"path": ".env.example",
"line": 1,
"evidence": "API_TOKEN=[REDACTED:token]",
"recommendation": "Replace the example with an explicit placeholder."
}
]
}
The payment requirement belongs beside that contract: $0.02 in USDC through x402 on Base. A router now has a clean decision. Use this endpoint for a repository preflight when file-level secret findings are wanted.
Approval has evidence behind it
“Approved” means the spec has a buyer, a paid first call, and a build sequence with testable gates. It also means the team knows what won’t ship.
Cardpoint shows why this happens before code. Its card-comps concept is easy to explain, but the spec found a condition that could cancel the endpoint: unclear rights to resell completed-sale data. If those rights stay unclear, card-comps gets removed or the cluster doesn’t ship. No handler can rescue a missing right to sell the result.