Develop and test locally
Install a plugin straight from your filesystem so you can test and iterate before publishing.
Last updated
Install a plugin straight from your filesystem so you can test and iterate before publishing.
Takeaway Install a plugin from your filesystem with tessl install file:./my-plugin, test it with your agent, then edit and reinstall to iterate. Nothing is published until you choose to.
You usually want to test a plugin before it reaches the registry. Tessl installs plugins directly from your filesystem, so you can iterate on the content and confirm it works with your agent first. This is also how you build context that stays with one codebase, or plugins for different parts of a monorepo.
This whole loop is also handled by your agent: tessl install tessl/plugin-creator
Scaffold a plugin, seeding a first skill:
tessl plugin new --name engteam/my-plugin --workspace engteam --skill --skill-name my-skill --skill-description "When ..." --path ./my-pluginengteam is a stand-in workspace; run tessl workspace list and use one of yours.
Add any further skills by authoring my-plugin/skills/<name>/SKILL.md directly. Use tessl skill new only for a standalone skill, not inside a plugin directory, where it would nest a separate package.
tessl install file:./my-pluginThe plugin is now available to your agent, exactly as an installed one would be.
Skills: trigger the skill and confirm it runs and produces what you expect.
Rules: ask the agent to write some code and check it follows the rule.
MCP servers: confirm the server appears in the agent's tools.
Lint the structure, then pack it and inspect the archive to confirm every intended file ships. Lint alone can pass on a plugin that would drop content when packaged, so check both:
Edit the content, reinstall, and test again. Repeat until it behaves.
.tessl-plugin/plugin.json points at your content. If a skill sits at the plugin root use "skills": ["."]; if it sits under skills/<name> use "skills": ["./skills/<name>"], or rely on the ./skills/ convention.
evals/ is present only once you have generated scenarios.
The complete .tessl-plugin/plugin.json reference is in Configuration files.
Publish and update - share the plugin once it works locally.
Improving your skills - prove and improve quality before you rely on it.
Last updated
tessl plugin lint ./my-plugin
tessl plugin pack ./my-plugin --output /tmp/check.tgz
tar tzf /tmp/check.tgz<plugin-dir>/
├── .tessl-plugin/
│ └── plugin.json
├── skills/<skill-dir>/SKILL.md
├── rules/
│ └── standards.md
└── evals/
└── scenario-1/
├── task.md
├── criteria.json
└── scenario.json
