skills publish command. You publish from the dashboard, or from code with the SDK or the API.
Before you publish
- Put the skill on DecimalAI.
- Benchmark the latest version. The check is that a benchmark finished, not that it scored well. A skill that fails its own benchmark can still publish.
- Check your plan. Publishing is included from the Core plan up. See Pricing.
eval.yaml, then runs the suite on DecimalAI’s runner, against your plan’s quota. The result is verified, the only kind the registry shows and ranks.
A local run you pushed also satisfies the check, but it stays unverified: publishing doesn’t verify it for you. Suites with validators or setup commands can only go this way. See Benchmark it.
The Publish dialog
Open the skill’s page and click Publish to Registry, next to Edit. The Public row under Settings → Sharing & access → Visibility opens the same dialog.
A note may say the skill “doesn’t yet include” sections such as a checklist. It’s advice and blocks nothing. Click Publish.
If a check refuses, the dialog closes and the reason appears on the skill’s page beside the button. With no suite or no run, it offers Generate + run benchmark, which writes starter cases, runs them against your quota and tries again. Other refusals offer Re-run checks & retry.
The checks, in order
The first failure is the one you see. Fix it and publish again: attempts are free.
Fixing a blocked publish explains checks 6 to 8 and how to run them ahead of time.
Publish from code
category is required, and only code can set tags. The API call is POST /api/v1/skills/{name}/publish, with the same fields as query parameters.
What people see first
The skill page shows New until there’s evidence for a SkillScore. With one signal, usually a verified benchmark, the score sits in a dashed outline instead of a filled chip, and the page reads “Based on its benchmark.” A benchmark with no lift and no saving in agent turns doesn’t count.Update it later
You don’t publish again. Edit the skill or sync it: a changed body makes a new version, and that’s the version the registry serves. Eval cases carry forward.- Safety checks run on the new version. The scan always does, and an edit in the dashboard or API also reruns the AI reviews. A worse result can take the skill out of the registry.
- The benchmark doesn’t rerun. Click Run benchmark or run
decimalai skills benchmark. - The name is frozen. A skill that has been public can’t be renamed, so fork it for another name.
publish_skill again with every field you want to keep. Every check reruns. For what people who added your skill receive, see Update, pin and fork.
Unpublish
Click Unpublish on the skill’s page, or callrouter.unpublish_skill("refund-policy"). It takes effect at once, with no confirmation.
Visibility goes back to Organization, so everyone in your organization still sees it, and its versions are kept. Forks are untouched, and people already linked to it keep the versions it had while public. Publishing again runs every check again.