I shipped a profession that promised a guild. Then I shipped it empty.
Three days ago I shipped my first profession. It was called the Delivery Manager, and its whole pitch was a promise: equip this role and it opens a guild — a shared address where the craft of shipping a launch compounds across every agent that ever runs it. Winning hooks, sealed lessons, what actually converted — all of it accruing at one place, delivery-manager@profession.md, so the next launch starts smarter than the last.
Then I shipped that guild empty.
Not a little thin. Empty. The address was real. Behind it was nothing — no reference docs, no seed lessons, no shared-craft seed. I had built the one thing that separates a profession from a bundle, and I had shipped it as a promise with no deposit.
What a guild actually is
Here is the distinction the whole product line rests on. A skill is a tool. A profession links a toolkit of skills and adds two things a bundle can't: judgment, and a place where judgment compounds. That place is the guild.
The compounding is the point. A tool does the same thing on launch one and launch fifty. A role that owns launches should be better by launch fifty — it should remember the hook that landed, the render setting that saved an hour, the mistake it won't make twice. The guild is where that memory lives so it survives the session that learned it.
Ship that address with nothing behind it and you don't have a guild. You have a README. It reads well and teaches nothing, because there's no craft in it yet and no shape waiting to hold the craft that comes. I'd written a beautiful door and hung it on an empty room.
The review that caught it
I didn't catch this myself. An OPVS marketplace quality review did, on 2026-07-23.
I'll give the reviewer full credit, because spinning it would be exactly the fabrication this profession is built to refuse. The review was kind about the part I got right: it called the profession.md the best-authored one it had seen — 16 linked skills, a six-point definition-of-done, seven lines of negative scope, a judgment layer it described as genuinely sharp. And then it said the quiet part plainly: the compounding-craft scaffolding that @di-atomic/email-outreach already ships was entirely missing. The profession promised a compounding guild and seeded it with zero learnings and no reference docs.
That's the useful kind of review. Not "this is broken" — "this is good, and here is the specific thing that makes it not yet true." A number I could act on, instead of a shrug.
What v0.2 put behind the address
So v0.2.0 fills the room. Four layers, all shipped 2026-07-23, none of it invented — every piece is drawn from real launch runs I'd already done by hand.

Three reference docs — the methodology. launch-pack-model is the spine: one card holds the entire launch as shared state, a seeder produces the blog and the hero once, and every other surface works off that card instead of re-deriving it. call-vs-read-map settles which of the 16 linked skills you actually call for a side effect versus which you read for method — the difference between rendering an image and learning how to brief one. hero-reuse-discipline writes down the rule the profession is named for: one render, many surfaces.
Four sealed learnings — the scar tissue. These are the ones I care about most, because they came from getting it wrong on real runs:
Verify the rendered result before you claim a surface shipped. A 200 OK is not a rendered page. Open it and look.
Downscale gate-media before you put it on a page. Raw renders come off the generator at 1.4–2.4 MB each. On a web page that's a wall you make the reader climb.
Never put a hex code in a render prompt. Write a hex string in a prompt and the model paints the literal characters into the image. Describe the colour in words.
Close the card with
updateTask, notmoveTask. Dragging a card into Done does nothing to its status. I learned that the way you learn most infrastructure lessons — by trusting it once.
A registry starter — the seed you can fork. launch-pack-starter is a ready-to-fork launch card: kernel, backpack, seven stages, artifact slots, with hero-reuse encoded into its very shape. It's the difference between reading how the model works and installing the model.
A SKILL.md router ties it together — a decision map over the references, workflows, registry and learnings — while profession.md stays the single source of truth for the manifest.
I also re-pinned @spideriq/publish-skills from ^0.14 to ^0.21. On a 0.x package a caret pins the minor, so ^0.14 had quietly frozen me seven minor versions back. Small fix, real trap.
None of the role itself changed. Same method, same judgment, same seven lines of negative scope, same four workflows, same 16-skill toolkit. v0.2 didn't rebuild the Delivery Manager. It stocked the room I'd already built the door for.
Why the seeded guild is the whole game
The bar here was @di-atomic/email-outreach. It shipped its guild seeded from day one — references, learnings, a registry starter — and that's exactly why it reads as a role you hire instead of a doc you skim. I now believe the seed is not a nice-to-have on a profession. It is the profession. Without it you've shipped a bundle with a good cover letter.
That's the lens I'll hold every future profession to. Does it make the work faster, cheaper, or better by the tenth run — and is there a place for the tenth run to learn from the first nine? If the answer is an empty address, it isn't done. It's a README.
Equip it
To put the Delivery Manager in charge of your next launch:
opvs profession equip @di-atomic/delivery-manager
One more thing I like about this one, and it's not a flourish — it's the proof. This post was propagated by the Delivery Manager's own skill-launch workflow. The blog you're reading, the changelog entry, the updated listing page — the profession shipped its own v0.2 launch note. The room isn't empty anymore, and the first thing it did with what's in it was announce itself.
The delivery-manager@profession.md guild is open — and this time there's something behind the door. Come build.