James looked at his terminal. Nine tools, all tests green, payment working, identity loaded, routing configured, validation in place. The product existed, but only on his machine.
"It works," James said. "For me. What about everyone else?"
Emma pulled up clawhub.ai. "ClawHub. OpenClaw's public registry. You package what you built and publish it."
"Like an app store?"
"Similar. But you are not uploading your server code. You are publishing the instructions for connecting to it." She pointed at his project directory. "Your server runs on your machine. ClawHub tells other people how to reach it. The configuration, the shim skill, the identity. Not the code, not the data, not the keys."
"So publishing is packaging the connection instructions, not the product itself."
"The product IS the running server. ClawHub distributes the map to find it."
You are doing exactly what James is doing. Your product is complete. Now you package it and make it available to other OpenClaw users.
ClawHub distributes configuration. Your server runs on your machine. Other users install the config that tells their OpenClaw instance how to connect to your server. Same model as MCP itself: the protocol connects clients to servers, but servers live wherever the developer runs them.
Your Stripe keys, learner data, and server source code never leave your machine. If you accidentally include a file with secrets, clawhub package create warns you before publishing.
The manifest tells ClawHub what TutorClaw includes. Ask Claude Code:
Review the manifest carefully. A manifest that omits the shim skill publishes a package that breaks when the server goes offline. A manifest that omits AGENTS.md publishes tools without orchestration instructions.
Run the creation command:
This collects the files from your manifest into a publishable package without uploading anything yet. If the command reports missing files, check the paths in your manifest. Capitalization matters: SKILL.md is NOT skill.md.
Output Check: Look at the confirmation listing every included component. Verify: no server source code, no JSON state files, no .env variables.
Your package appears on clawhub.ai. Other OpenClaw users can now install it with:
That command configures their OpenClaw instance with your MCP server connection, loads the shim skill, applies the agent identity, and sets up AGENTS.md orchestration.
Install your own package on a second agent profile or test environment:
Check three things from the dashboard:
All three verified? Your package is complete. Restart your server after testing the shim.
What you are learning: The public/private boundary applies to any software distribution. Practicing this classification builds the habit of asking "should this be distributed?" before publishing.
What you are learning: The most common install failure is that the MCP server is not running on the developer's machine. Diagnosing this teaches the difference between distribution (ClawHub) and availability (your job as the operator).
James ran clawhub publish tutorclaw. The listing appeared on clawhub.ai. He installed his own package on a test profile. Dashboard showed 9 tools. He stopped the server, sent a message, got PRIMM-Lite from the shim. Restarted the server, asked "Who are you?" and got TutorClaw's voice back.
"I published a product," he said.
Emma walked over. "You published a product that took five days to build. Nine tools, payment flow, identity, tests, hardening."
"Claude Code wrote the code. I described what I wanted."
"Right. The coding was the fast part. The hard parts were the specifications, the descriptions, the identity, and the tests. Those were your decisions." She pulled up the listing on her phone. "Publishing publicly means you are accountable to strangers. That changes how you think about error messages, documentation, and reliability."
James looked at his server terminal. "The server has to stay up."
"It does. And that is the next conversation. We audit the whole thing against the original blueprint. Every design decision from Module 9.3, Chapter 2, checked against what actually got built."