Publishing refusals
What each refusal means when a version will not publish, from a bad version number to a missing SKILL.md, and how to fix it.
The version number is not valid
Code: invalid_semver
A version must be three whole numbers separated by dots, like 1.4.0. No v in front, no leading zeros, and no labels such as -beta.
The version number must go up
Code: version_not_forward, duplicate_version
A new version must be higher than every existing version, even rejected or withdrawn ones. If someone just published the same number, it already exists. Check the History tab and use the next number up.
SKILL.md is missing
Code: missing_entry
Every version needs a file named exactly SKILL.md at the root of the folder. The same code with "That artifact no longer exists" means the artifact was removed while you were publishing.
The frontmatter is not valid
Code: invalid_frontmatter
SKILL.md must start with a block between two --- lines containing a name (lowercase letters, digits and hyphens) and a description. The message lists what is missing. See Create or upload an artifact.
A file path is not allowed
Code: invalid_path
Paths must be relative, name a file rather than a folder, and contain no .. or empty segments, no control characters and none of \ : * ? " < > |. Folders may not nest too deeply, and two paths may not differ only by upper or lower case. Rename the file the message names.
A public artifact requires a private one
Code: private_requirement
Your artifact is public, but its requires list names one that is not public or does not exist, so people could not install it. Make that one public, remove it from requires, or keep yours non-public.
No approved version
Code: version_not_approved
A browser shortcut can only insert an artifact that has an approved version, and Open pull request only works for a version approved in Review. Wait until a version is approved.
The request was not sent as JSON
Code: unsupported_media_type
Your tool sent a format the server does not accept. Update deftro, the MCP server or the browser extension to the latest version. If you call the API yourself, send JSON.
Checked against the product on .
Versions and publishing
Every change is a new numbered version that only moves forward. A published version never changes; you can yank it to stop new installs, or restore an old one.Create or upload an artifact
Press Add to upload a SKILL.md, write a skill or prompt in the editor, or import from GitHub. Every artifact needs a name and a description.File and limit refusals
Why a file, image or upload was refused for its type or size, or because a limit was reached, and what to do instead.