CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/tessl-skill-eval-scenarios

Convert skills to Tessl tiles and create eval scenarios to measure skill effectiveness.

Overall
score

92%

Does it follow best practices?

Validation for skill structure

Overview
Skills
Evals
Files

SKILL.mdconverting-skill-to-tessl-tile/

name:
converting-skill-to-tessl-tile
description:
Package a standalone skill into a Tessl tile for versioning, distribution, and evaluation. Creates tile manifest, validates directory structure, and ensures skill format compliance. Use when asked to "convert to tile", "package this skill", "create a tessl tile", "wrap skill in tile", or before running evals on a skill not yet in a tile.

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.

Install with Tessl CLI

npx tessl i tessl-labs/tessl-skill-eval-scenarios

converting-skill-to-tessl-tile

SKILL.md

README.md

tile.json