Get the FREE Ultimate OpenClaw Setup Guide →

converting-skill-to-tessl-tile

Scanned
npx machina-cli add skill pantheon-org/tekhne/converting-skill-to-tessl-tile --openclaw
Files (1)
SKILL.md
3.1 KB

Converting Skills to Tessl Tiles

Wrap standalone skills into Tessl tiles to enable versioning, publishing, and evaluation.

Prerequisites

Tessl CLI must be installed. Verify with:

tessl --version

If not installed, visit https://docs.tessl.io/

Quick Start

# 1. Create new tile
tessl tile new <tile-name>

# 2. Copy skill into tile directory
cp -r <skill-folder> <tile-name>/

# 3. Update tile.json to reference the skill (see schema below)

# 4. Validate
tessl tile lint <tile-name>

If lint fails, see Common Lint Errors below, fix issues, then re-run lint.

Tile Structure

<tile-name>/
├── tile.json
└── <skill-name>/
    ├── SKILL.md
    ├── references/   (optional)
    └── scripts/      (optional)

tile.json Schema

{
  "name": "<workspace>/<tile-name>",
  "version": "0.0.1",
  "summary": "Brief description of what this tile provides.",
  "private": true,
  "skills": {
    "<skill-name>": {
      "path": "<skill-name>/SKILL.md"
    }
  }
}

Fields:

  • name: Format workspace/tile-name (workspace is your tessl username or org)
  • version: Semantic version
  • summary: One-line description
  • private: Set false to make publicly discoverable. Tiles cannot be made private after they are published, so this should be set to false until the user is ready to publish.
  • skills: Map of skill names to their SKILL.md paths

Multiple Skills

A tile can contain multiple skills:

{
  "name": "myorg/data-tools",
  "version": "1.0.0",
  "summary": "Data processing and visualization skills.",
  "private": false,
  "skills": {
    "csv-processor": {
      "path": "csv-processor/SKILL.md"
    },
    "chart-builder": {
      "path": "chart-builder/SKILL.md"
    }
  }
}

Common Lint Errors

ErrorCauseFix
missing SKILL.mdPath in tile.json doesn't match actual file locationUpdate path to match actual SKILL.md location
invalid name formatName missing workspace prefixUse format workspace/tile-name
missing frontmatterSKILL.md lacks YAML frontmatterAdd --- delimited frontmatter with name and description
missing descriptionSKILL.md frontmatter missing description fieldAdd description: to SKILL.md frontmatter
invalid versionVersion not semver formatUse format like 1.0.0 or 0.0.1

After fixing errors, re-run: tessl tile lint <tile-name>

Using Tiles

# Install locally for testing
tessl tile install <tile-name>

# Optionally publish to registry
tessl tile publish <tile-name>

Next Steps

After creating a tile, use the creating-eval-scenarios skill to generate evaluation scenarios.

Source

git clone https://github.com/pantheon-org/tekhne/blob/main/.tessl/tiles/tessl-labs/tessl-skill-eval-scenarios/converting-skill-to-tessl-tile/SKILL.mdView on GitHub

Overview

Converting Skills to Tessl Tiles guides wrapping a standalone skill into a Tessl tile to enable versioning, publishing, and evaluation. It covers creating a tile manifest, validating the directory structure, and ensuring the skill's SKILL.md conforms to the required format.

How This Skill Works

Typically you create a new tile with tessl tile new, copy the skill into the tile directory, update tile.json to reference the skill's SKILL.md, and then run tessl tile lint to validate against the schema. The lint checks catch common issues like missing SKILL.md, invalid name format, missing frontmatter, and invalid versions.

When to Use It

  • convert to tile
  • package this skill
  • create a tessl tile
  • wrap skill in tile
  • before running evals on a skill not yet in a tile

Quick Start

  1. Step 1: tessl tile new <tile-name>
  2. Step 2: Copy skill into tile directory and update tile.json to reference <skill-name>/SKILL.md
  3. Step 3: tessl tile lint <tile-name> to validate and fix issues

Best Practices

  • Ensure Tessl CLI is installed (tessl --version) before starting.
  • Initialize a new tile with tessl tile new <tile-name>.
  • Copy your skill into the tile directory and reference it in tile.json.
  • Follow the tile.json schema: workspace/tile-name, semantic version, public/private, and skill paths.
  • Run tessl tile lint <tile-name> and fix the common lint errors (missing SKILL.md, invalid name, missing frontmatter, missing description, invalid version) before publishing.

Example Use Cases

  • Wrap a standalone skill into a tile named myorg/data-tools with a single skill csv-processor referenced as csv-processor/SKILL.md.
  • Add a second skill chart-builder to the same tile (myorg/data-tools) by updating tile.json to include both SKILL.md paths.
  • Lint a newly created tile after moving SKILL.md or renaming files to catch missing frontmatter or description issues.
  • Publish a tile to the registry only after lint passes and the tile's privacy is set appropriately.
  • After creating a tile, use the creating-eval-scenarios workflow to generate evaluation scenarios for the included skills.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers