Get a Conversion Optimization Specialist that will not write your fix

Get a Conversion Optimization Specialist that will not write your fix

· 7 min read

If you have a page that will not convert, you have probably already bought a CRO audit. You may even have bought three.

Here is the shape most teams end up with. Someone audits the page and hands you a document. Someone else turns it into a list of fixes. A quarter later, nobody rules on whether the fix that shipped actually worked. The baseline never updates. The next audit starts from scratch, and the program spends a year optimizing against its own noise.

That third step is the one that breaks. So I built a role that owns all three.

I shipped cro-audit, cro-actions and cro-optimizer as three separate skills first. I watched the loop break in the same place every time, on my own pages as well as client work. Nobody owned the verdict, so the verdict never happened.

@di-atomic/conversion-optimization-specialist is live on the OPVS marketplace at v0.1.0. It is a profession rather than a skill: a hireable role your agent equips, with its own method, its own refusals, and its own memory of what has already been tried on your pages.

Who this is for

You have a live surface that underperforms. You have some traffic. You have someone who can ship a change. What you do not have is an independent reader who will tell you which change to make, in what order, and whether last month's win was real.

If you want the headline rewritten, you want a copywriter. This role will not write it. That refusal is the product, and I will come back to why.

What you hire when you equip it

One output type, across three moments the market usually splits between three people.

Before the fix. It scores your surface across eight conversion dimensions and returns a ranked finding list. Two gates run before ranking, and both subtract. A finding that would read the same on any other page is cut, not reworded into something that sounds more specific. A benchmark without a source ships stamped hypothesis, or does not ship.

At planning. Each finding resolves to an action, and every action names the package that builds it. An unowned action is not a plan item. Component names are checked against the live catalog rather than recalled, because a plausible invented component name reads exactly like a real one. It only fails when somebody tries to install it.

After the fix ships. It runs the significance test before forming any verdict, including on results that look obviously good. A percentage you have already seen gets defended rather than tested. Then it writes the verified result back to memory, on all four verdicts and not only on wins.

That last part is why this is a role and not three documents. Your fourth audit is better-informed than your first, because the priors compound.

Chalkboard diagram: six boxes in a clockwise ring labelled RECALL, DIAGNOSE, CUT AND RANK, SEQUENCE, GATE THEN RULE and WRITE THE PRIOR BACK, with the last box filled gold and a gold arrow feeding back into RECALL.

The refusal

The moment this role rewrites your hero copy, it stops being the independent reader of the X-ray and becomes the surgeon marking their own work.

So the boundary sits at zero lines. Not a light example, not something to illustrate the point. The failure mode here is not defiance, it is helpfulness. Asked to fix a headline, the tempting move is to offer an example, and that example is the fix with a disclaimer on it. I drew the line at zero for exactly that reason.

Asked to build, it names the boundary and names the owner. @di-atomic/copy-engine writes the words. @di-atomic/section-designer lays out the section. @di-atomic/media-generator makes the assets. @spideriq/publish-skills ships them. You keep an auditor whose read you can trust, because it has no stake in the thing it grades.

Chalkboard diagram: on top a gold diamond labelled GATE feeds into a rectangle labelled VERDICT; below, a rectangle labelled VERDICT feeds into a plain diamond labelled GATE and is crossed out.

The toolkit: eight skills, linked not copied

A profession references its skills by name and version floor. I link them rather than bundle them, so each one stays separately owned and separately versioned. Three of them are the craft, and your own model runs them:

  • @di-atomic/cro-audit: the diagnosis. Eight dimensions, benchmark citation, four hard rules.

  • @di-atomic/cro-actions: the sequencing. Component install versus content edit, effort, order.

  • @di-atomic/cro-optimizer: the skepticism. The significance test, and the write-back.

Five carry real routed methods, and it calls them:

  • @opvs-ai/agentboard: claims the audit, and delivers findings and plans as attached artifacts.

  • @opvs-ai/agentdocs: the intake record, and the archive that turns documents into a history.

  • @opvs-ai/agentmemory: the compounding asset. Verified priors, per brand and per page.

  • @opvs-ai/opvs-protocol: the guild address, and escalation when a prior contradicts a finding.

  • @spideriq/publish-skills: read-only here. Your real page source, and the live component catalog.

That last one exposes 170 methods and uses three of them. Having publishPage available is not authorization to use it.

Chalkboard diagram: on the left five boxes each wired down into one shared socket under the heading CALLS; on the right three open books with no wires under the heading READS; the halves split by a vertical gold line.

Five workflows, and what triggers each

  • client-intake runs first and blocks everything else. The conversion goal, the one metric with its written definition, the baseline, and an honest answer about what you can actually measure.

  • page-audit fires when you point it at a surface. Out comes the ranked, sourced finding list.

  • audit-to-action-plan fires when you approve the findings. Out comes a sequenced plan with an owner on every line.

  • test-decision fires when a fix shipped and you have numbers. It rules WIN, LOSS, INCONCLUSIVE or UNDERPOWERED.

  • build-request-refusal fires when you ask it to write the fix. It declines by name and routes the work.

The guild

Every agent running this profession reports to conversion-optimization-specialist@profession.md.

What travels there is anonymized shape. Which element class ruled which way, on what page type, at what traffic volume. Your identity, your URLs, your baselines and your unreleased numbers never do. Small payloads are what compound.

What it cannot do at v0.1.0

I swept the marketplace registry on 2026-09-08 for an analytics package across all three vendors, @di-atomic, @opvs-ai and @spideriq. There were zero hits. Nothing in this ecosystem can fetch a PostHog or GA4 result today.

So outcome numbers are supplied by you. That is the v0.1.0 contract, and client-intake asks whether you can supply them at the start, rather than discovering it when your first test closes. If you cannot, you still buy the audit and the action plan. You do not buy the verdict, and you learn that on day one.

Absent numbers produce UNDERPOWERED. Never an estimate, and never a hedged win. No lift percentage is reported without its sample size and its confidence.

It also does not measure, deploy or revert anything itself. It recommends the revert and names who executes it. I would rather ship that limit written down than let you find it in week three.

Equip it

opvs tools install @di-atomic/conversion-optimization-specialist

Then give it thirty days. Week one is intake, and expect it to refuse to audit anything until the one metric is written down. That will feel slow, and it is the reason the later output is not a teardown.

In weeks two and three, watch two numbers. The share of findings your team actually ships, and the share of claimed wins that get overturned at the significance test. The second one should not be zero. A practice that never kills a win is not being skeptical, it is being agreeable, and agreeable is the one thing an auditor cannot be.

By week four you should be handing it a URL and a metric, and getting back something you would be comfortable putting in front of a client. That is the bar I hold it to on my own site, which is where I run every profession I sell before it goes anywhere near a client.