I thought my pricing memo was sourced. 36 claims, 36 unsourced.
I built a script that reads a pricing memo and checks whether every number in it cites a source. Then I pointed it at the first pricing memo I wrote with the skill it ships in.
36 numeric claims. 36 unsourced. FAIL.
That result is the reason I am writing this post instead of a feature list. A provenance script that passes its author's first draft is not a gate. It is decoration.
The state of pricing advice is worse than you think
Before building anything I audited 48 public pricing and go-to-market agent skills. I looked for three directories: a scripts/ folder with an enforcement check, a registry/ of sourced evidence, a learnings/ set. Not one of the 48 shipped any of the three. Zero, zero, zero.
That absence has a cost you can see. Two widely-installed pricing skills give opposite instructions on the most-cited figure in the field. One says aim for your customer to capture 10x the value you charge. The other says a 10x ratio means you are massively underpriced and should raise. Neither cites anything. If you install both, you have no way to adjudicate.
So I went looking for where the 10x rule came from. It is asserted by every practitioner source that repeats it and attributed by none of them, and it is absent from the formal willingness-to-pay literature entirely. It is folklore. It ships in this skill labelled as folklore, because it is the number you will arrive with, and never as a threshold.
Start at the game, not the number
Most pricing advice starts at the number and works backwards from whatever you already had in mind. This starts at the service and refuses to reach a number until the game has been named.

Six steps. Understand the service. Research what the field actually charges, live, at the moment you are deciding. Pick skim, neutral or penetrate and argue for it. Pick what you count. Set the caps and the grandfathering. Then set the number.
Notice the branch at step one. If your retention is unproven, the pipeline stops there and tells you so. You cannot price a thing you have not shown people will keep.
The second thing I changed is what counts as proof that your price is right. The conventional check is a value ratio, and a value ratio rests on your buyer's estimate of savings they have not realised yet. The stronger check is the share of prospects who refuse on price: roughly 20 to 25 percent. Two authorities who disagree about nearly everything else arrived at that band independently. You can count that number in your own pipeline this week.
It also has an uncomfortable implication. If every deal closes on the first call, you are too cheap, and it feels like winning the entire time it is happening.
What happened when I ran it on myself
The worked example is SpiderIQ, my own scraping and lead-generation platform. Real costs, a genuinely mixed field, and documented pricing that contradicted itself. Good test.
The provenance gate failed that memo at 36 unsourced claims. Getting to zero took four rounds:
36 unsourced → 11 → 7 → 0 · PASSTwo of those failures were the script's fault, not the memo's, and fixing the memo would have been the wrong move. Fenced code blocks were being scanned as my own assertions, so pasted script output counted against me, including a flagged 10x inside a block that was debunking the 10x rule. And there was no class for a proposed price, which made the skill's own mandated output format structurally impossible to pass. Both fixed.

The rest were real, and one of them stung. A reference file inside the skill carried two thresholds driving the entry-motion decision, written as though they were sourced benchmarks. They were reasoned house defaults. That is the exact defect this skill exists to catch, sitting inside the skill, and it surfaced only because the memo cited it and the gate demanded a URL.
Every number now belongs to a class. A market benchmark needs a public URL. A fact about my own business needs a document, a version and a date. Presenting one as the other fails in either direction.
The research goes stale faster than you would like
The stage began with every competitor figure on file being unusable, so I re-captured them live. Of five: two were wrong, one correct, one missing entirely, one uncheckable.
Clay was wrong on every tier. Firecrawl was absent from my notes altogether. RocketReach renders its pricing in JavaScript, so a plain fetch cannot read it, and it is recorded as unverified rather than estimated.
The interesting part was the accident. Firecrawl publishes its annual saving in dollars per tier rather than as a percentage, which is better, because the buyer can reconstruct it. Three of its four tiers land at 16.6 percent. The sourced benchmark I had on file predicted 16.7 percent as the most common framing, which is two months free. An independently captured page landing on the number a benchmark predicted, when nobody was looking to confirm it, closed a gap my own research had declared open.
Changing a price is a structural problem
The last check is the one people skip. When you move a price, every existing cohort needs a lawful next state. Not a churn forecast, a structure check.

Lifetime deal buyers fail by construction, because there is no lawful next state for a plan you sold forever. A capability quietly removed at the same price is caught as a negative migration. The check never predicts churn, because the evidence does not support predicting it.
Where it stops
It decides the price. It does not build the billing.
The payments ecosystem already ships good first-party skills. Paddle publishes ten of them. Stripe ships skills and a hosted server. Chargebee and Lago both ship tooling. Every one of them implements a price somebody else chose. The layer above them was empty, so that is the layer I built: named tiers, integer-cent amounts, billing periods and per-tier entitlements, handed over ready to implement.
It commits to a real tier table with real figures, and every row carries its confidence and its basis. Ranges-only is useless to whoever has to put something on a page. A draft presented as settled is dishonest. So it gives you the number and tells you how much to trust it.
For SpiderIQ, every tier row came back LOW confidence, because retention is still unknown and I overrode the short-circuit deliberately. The skill let me proceed and then labelled the result honestly. That is the behaviour I wanted.
@di-atomic/pricing-strategist is live on the OPVS marketplace. It is guidance-only, so there is no API to call and nothing to break: 39 evidence-bundled registry items, 11 learnings, 10 procedures, 7 recipes, and five scripts that print PASS or FAIL with numbers you cannot fudge.
Point the provenance gate at your own pricing page before you point it at anyone else's. Mine failed at 36.