Creating skills
Learn how to create and manage skills using Tessl.
Skills are reusable capabilities that extend AI coding agents with specialized knowledge, workflows, or tool integrations. Tessl makes it easy to create, publish, and share skills with your team or the broader community through the Tessl Registry.
This guide walks you through creating a skill, publishing it, and installing it so your agent can use it.
Prerequisites
Before you begin, make sure you have:
Tessl CLI installed (see Installation)
Authenticated with Tessl (
tessl login)A workspace created (see Workspace management)
Creating a skill
Step 1: Create a new skill
Use the tessl skill new command to create a new skill. You can run it interactively or with flags:
Option 1: Interactive wizard (recommended for first-time users)
tessl skill newThis launches an interactive wizard that guides you through creating the skill.
Option 2: Create with flags
You can create a skill with all parameters specified:
The command creates a new directory with a SKILL.md file following the Agent Skills specification. See the CLI commands reference for all available options.
Option 3: Import an existing skill
If you already have a skill (e.g., from a GitHub repository or local directory), you can import it:
This validates and imports the skill into your workspace. See the CLI commands reference for all import options.
Step 2: Write your skill
Your skill file must be named SKILL.md and should contain the skill definition following the Agent Skills format. For the complete specification, see:
Agent Skills Specification - The official Agent Skills format specification
Anthropic Agent Skills Documentation - Anthropic's official documentation for Agent Skills
Example SKILL.md
Here's what a well-documented SKILL.md file looks like:
Key components:
YAML frontmatter (required):
name: The skill identifier (lowercase, hyphens only)description: Clear description of the trigger when skill should activate - this is critical for skill discovery by agents
Markdown body: Concise instructions, examples, and guidance
Important: Keep the documentation simple and focused. The frontmatter description helps agents discover your skill, while the body provides clear, actionable guidance.
Understanding the Tessl package structure
When you create a skill with tessl skill new, it creates a Tessl package structure with a tile.json manifest file. This file contains metadata about your skill:
The tile.json file looks like this:
Key fields:
name: Package name in
workspace/skill-nameformatversion: Semantic version (semver)
skills: Maps skill names to their
SKILL.mdfile paths
You typically don't need to manually edit tile.json unless you're updating the version for a new release. For more details on the tile structure and configuration options, see Configuration files.
Step 3: Validate your skill
Before publishing, validate your skill structure and contents:
This command checks:
SKILL.mdformat and structureRequired frontmatter fields (name, description)
Conformance to the Agent Skills specification
Markdown validity
For a more comprehensive review with detailed recommendations:
Fix any errors before proceeding.
Step 4: Publish your skill
Publish your skill to the Tessl Registry:
By default, skills are published as private. This means only members of your workspace can install them.
If you're in the skill directory, you can omit the path:
To make a skill public (after approval):
After publishing, your skill will be available in the Tessl Registry and can be installed by members of your workspace.
Giving others access to your private skill:
To allow team members to install your private skill, add them to your workspace using tessl workspace add-member. See Workspaces for details on managing workspace members and Workspace management for the complete command reference.
Installing a skill
Once published (as private or public), you or your team members can install the skill in any project:
Or install a specific version:
Skills are installed as part of Tessl packages and automatically made available to your configured agent.
How skills are made available to your agent
When you install a skill (via tessl install), Tessl automatically makes it available to your configured agent:
Package installation: The skill is downloaded as part of a Tessl package to
.tessl/tiles/<workspace>/<package-name>/in your projectSkill extraction: Skills are extracted and made available to the agent
Agent integration: Skills are made available to your agent depending on your agent platform.
Updating a skill
To update a published skill:
Make your changes to the
SKILL.mdfileUpdate the version number in
tile.json(following semantic versioning)Validate with
tessl skill lintortessl skill reviewPublish the new version with
tessl skill publish
Important: Always increment the version in tile.json when publishing updates. Use semantic versioning:
Patch (1.0.0 → 1.0.1): Bug fixes, minor improvements
Minor (1.0.0 → 1.1.0): New features, backward-compatible changes
Major (1.0.0 → 2.0.0): Breaking changes
Users who have installed your skill can update to the new version by running:
This will automatically fetch the latest version of your skill.
Making your skill public (optional)
If you want to share your skill publicly so anyone can install it, you need to request to make it public:
Navigate to the Tessl Registry in your browser
Log in if you're not already authenticated
Navigate to your workspace and find your skill
Click on the skill to view its details
Select Actions → Make Public
Click Request to Make Public
Tessl will review your request and contact you about the status. Once approved, you can publish with the --public flag:
For more details, see Sharing tiles publicly.
Best practices
Use SKILL.md format: Skills must be named
SKILL.mdand follow the Agent Skills specificationWrite clear descriptions: The
descriptionin your frontmatter is critical for skill discovery - make it specific about when the skill should be usedKeep skills focused: Each skill should have a single, clear purpose
Test before publishing: Use
tessl skill lintandtessl skill reviewto validate your skill before publishingDocument clearly: Include concise instructions and examples in your
SKILL.mdbodyUse the
--installflag: When creating a new skill, use--installto test it locally immediatelyVersion carefully: Always update the version in
tile.jsonbefore publishing updates (following semantic versioning)
Alternative: Creating a tile for your skill
The workflow above uses tessl skill commands for a skill-first approach. If you need more flexibility (such as combining docs, rules, and skills in one package), you can use the tile-first workflow:
Use
tessl tile newto create a tile structure withtile.jsonAdd your
SKILL.mdfile to the tile'sskills/directoryReference the skill in
tile.json:Use
tessl tile lintandtessl tile publishto validate and publish
This approach is useful when you want to package skills together with documentation and rules. For more details, see Creating documentation.
Related documentation
Agent Skills Specification - The official Agent Skills format specification
Anthropic Agent Skills Documentation - Anthropic's official documentation for Agent Skills
Creating documentation - How to create documentation for tiles
Distributing via registry - Share and maintain tiles via the registry
Configuration files - Complete reference for
tile.jsonstructureCLI commands - Full command reference
Custom agent setup - How agents access tiles and skills
Last updated

