Publish and update
Takeaway
Publish a skill or plugin with tessl skill publish or tessl plugin publish. It goes to your workspace as private by default. Bump the version to ship an update, and request public visibility only when you want anyone to install it.
Publishing puts a skill or plugin on the Tessl Registry so it can be installed by name. This page covers the publish command, visibility, and versioning. Rolling context out across many repositories, and the GitHub-based publishing flow, are covered in Distribute.
Your agent can run this step too: tessl install tessl/plugin-creator
Publish
From the skill or plugin directory, or with a path:
engteam is a stand-in workspace. Run tessl workspace list and use one of yours.
A single skill uses the same flow through tessl skill publish. Both publish to your workspace as private: only workspace members can install it.
On publish, Tessl lints and reviews the content automatically, and the review score appears on the registry. See Check a skill's quality using review.
Publication checks and blocked versions
An accepted upload is not necessarily available to install yet. Tessl runs publication checks asynchronously after the upload. The publish command tells you whether the version is available, blocked, still being checked, or could not be checked.
Check the exact version that you uploaded:
If your organization or workspace enables a minimum skill review score policy, every skill in the plugin version must meet that score. Tessl does not average scores across the skills. For example, with a minimum score of 80, scores of 91 and 78 block the version, while scores of 91 and 85 pass this check. A score equal to the minimum passes.
The version must also pass every other publication check that applies to it. A version is unavailable while blocked and cannot be overwritten. Use tessl plugin info to check its publication status and the reported reason. For a score below the threshold, open the exact version in the Tessl Registry, select Quality, and use the per-skill findings to improve the failing skill. Then bump the version and publish the higher version.
If the publication or moderation status is pending and the version is unavailable, wait and check the same version again. An available version can still have quality or security reviews running in the background; those reviews do not delay its use.
Skill reviews are free, so a lack of credits does not stop a quality review from running. If a review completed without a score, contact Tessl support before publishing a higher version. This outcome does not mean that the skill itself needs improvement. For other system errors, contact Tessl support.
Versions blocked by policy are not available for distribution, including Claude marketplace sync. The policy provides a publish-time quality gate without requiring a CI step.
Install it
Once published, you or your workspace can install it in any project:
To let teammates install a private plugin, add them to the workspace with tessl workspace add-member. See Workspaces.
Ship an update
- Make your changes.
- Bump
versionin.tessl-plugin/plugin.jsonfollowing semantic versioning: patch for fixes, minor for backward-compatible additions, major for breaking changes. - Validate with
tessl plugin lint. - Publish again.
Anyone who installed it updates by running tessl install engteam/api-conventions again, which fetches the latest version.
Make it public
Public means anyone can discover and install it. It is irreversible, so it needs approval first:
- Open your plugin or skill in the Tessl Registry and sign in.
- Select Actions then Make Public, and confirm the request.
Once approved, set the visibility and publish again:
- A plugin takes its visibility from the
privatefield in.tessl-plugin/plugin.json. Set"private": falseand publish. - A skill can be published public directly with
--public:
See Sharing with your team and publicly for more.
Remove or deprecate
Published something you should not have, or no longer want it installed? There is no hard delete, but two options cover it. Both use tessl plugin whether you published a skill or a plugin.
To drop one skill from a plugin that contains others, delete the skill file and publish a new version with tessl plugin publish. The old version remains on the registry; the new version simply omits the skill.
- Unpublish removes a version as if it was never published. Once a public plugin has 500 or more downloads, you can only unpublish versions published in the last 48 hours:
- Archive hides it from search but keeps it working for anyone who already references it, so existing installs do not break:
To simply stop new people finding it, you can also make it private again: set "private": true in the manifest and republish, or change visibility from the registry UI.
Next
- Distributing via registry - archive, unpublish, and monitor usage.
- Distribute plugins across multiple repositories - push plugins across many repos.
- Improving your skills - raise quality before you publish widely.