> For the complete documentation index, see [llms.txt](https://docs.tessl.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tessl.io/creating-skills-and-plugins/overview.md).

# Overview

Create a skill or a plugin - the packaged, versioned context you share with your team and your agents.

{% hint style="info" %}
**Takeaway** A skill teaches an agent how to do something. A plugin is how you package one or more skills, together with rules, commands, MCP servers, and hooks, so you can version and share them. Start with a skill; reach for a plugin when you need to bundle more than one thing.
{% endhint %}

A skill is a folder with a `SKILL.md` that teaches an agent how to do something. A plugin is the package that holds it: a `.tessl-plugin/plugin.json` manifest plus its content. Every skill you create with `tessl skill new` is already a minimal plugin, so "skill" and "single-skill plugin" are the same thing. You only think about plugins explicitly when you bundle more: several skills, a rule, a command, an MCP server, or a hook.

Whatever you create, you create it once. Tessl makes it work across every agent it supports, Claude Code, Cursor, Codex, and more, adapting it to each agent's own format on install. You never write a per-agent version.

The examples in this section use `engteam` as the workspace name. It is a stand-in: run `tessl workspace list` to see the workspaces you belong to, and use one of those in its place.

This section covers creating that context and getting it ready to share: writing a skill, bundling a plugin, adding an MCP server, testing locally, and publishing. It does not cover improving a skill's quality once written (see [Improving your skills](/improving-your-skills/overview-improving-skills-and-plugins.md)), enforcing a standard in CI (see [Codifying and enforcing your skill standards](/codifying-and-enforcing-your-skill-standards/overview.md)), or rolling context out across many repositories (see [Distribute](/distribute/distributing-via-registry.md)).

{% hint style="info" %}
All of this is also available through your agent. Install Tessl's plugin creator and it will do the steps below for you, from understanding the problem to building the plugin: `tessl install tessl/plugin-creator`
{% endhint %}

## In this section

|                                                                                      |                                                                              |
| ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- |
| [Create a skill](/creating-skills-and-plugins/create-a-skill.md)                     | Write a `SKILL.md`, scaffold it, and validate it. The common starting point. |
| [Create a plugin](/creating-skills-and-plugins/create-a-plugin.md)                   | Bundle several skills, rules, and commands into one versioned package.       |
| [Add an MCP server](/creating-skills-and-plugins/add-an-mcp-server.md)               | Give a plugin live tools or data, not just instructions.                     |
| [Develop and test locally](/creating-skills-and-plugins/develop-and-test-locally.md) | Install a plugin from your filesystem and iterate before you publish.        |
| [Publish and update](/creating-skills-and-plugins/publish-and-update.md)             | Publish to the registry, control visibility, and ship new versions.          |

## Next

* [Create a skill](/creating-skills-and-plugins/create-a-skill.md) - the fastest way to package a single capability.
* [Create a plugin](/creating-skills-and-plugins/create-a-plugin.md) - when one skill is not enough.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.tessl.io/creating-skills-and-plugins/overview.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
