CtrlK
BlogDocsLog inGet started
Tessl Logo

sharaf/migrate-to-tessl

Use when migrating, restructuring, publishing, or auditing an existing Claude skill into a Tessl tile; converting flat .md files or SKILL.md bundles; fixing Tessl Quality, Impact, Uplift, frontmatter, metadata, tile.json summary, README, markdown reference links, registry-vs-local Quality gaps, artifact anchors, auto-eval wait discipline, or pushing tile scores from 88-99% to 100%.

100

1.11x
Quality

100%

Does it follow best practices?

Impact

100%

1.11x

Average score across 4 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-3/

{
  "context": "Tests whether the agent correctly restructures a Kubernetes deployment skill for Tessl publication. The source skill has non-standard frontmatter keys, uses backtick paths instead of markdown links for references, and lacks Tessl-required metadata. The agent must apply Tessl's structural conventions including proper link syntax, frontmatter schema, and the metadata block.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Markdown links for refs",
      "description": "SKILL.md uses proper markdown link syntax (e.g. [phase-1-validate.md](references/phase-1-validate.md)) to reference all four phase files — NOT backticked paths like `references/phase-1-validate.md`",
      "max_score": 15
    },
    {
      "name": "No backtick paths remain",
      "description": "SKILL.md does NOT contain any backtick-wrapped reference paths (e.g. `references/phase-N-*.md`) pointing to the four reference files",
      "max_score": 10
    },
    {
      "name": "Standard top-level frontmatter",
      "description": "SKILL.md frontmatter contains ONLY standard top-level keys: name, description, and optionally compatibility, allowed-tools, license, metadata. Non-standard keys (sources, research_date, author, etc.) are NOT present at the top level",
      "max_score": 10
    },
    {
      "name": "Metadata block present",
      "description": "SKILL.md frontmatter contains a `metadata:` block for Tessl metadata; useful non-standard fields may be moved there if retained, while local paths and source-provenance data may be omitted",
      "max_score": 8
    },
    {
      "name": "Metadata string values only",
      "description": "All values inside the `metadata:` block are plain strings — no nested objects and no YAML arrays",
      "max_score": 7
    },
    {
      "name": "metadata.version present",
      "description": "The `metadata:` block includes a `version` key with a string value (e.g. version: \"0.1.0\")",
      "max_score": 8
    },
    {
      "name": "Use when clause in description",
      "description": "The SKILL.md `description` field includes an explicit 'Use when...' clause or equivalent phrasing that lists trigger scenarios (e.g. 'Use when the user wants to deploy...', 'deploy a containerized app', 'set up Helm', 'troubleshoot a rollout')",
      "max_score": 12
    },
    {
      "name": "tile.json summary synced",
      "description": "tile.json contains a `summary` field whose text matches or closely mirrors the SKILL.md description field (not a generic placeholder like 'A skill for...' or 'TODO')",
      "max_score": 10
    },
    {
      "name": "README at tile root",
      "description": "A README.md file is created at the tile root (not under skills/) containing at least: a title, a description of what the skill does, and a tessl install command",
      "max_score": 10
    },
    {
      "name": "Reference files in correct location",
      "description": "All four phase reference files are placed under skills/deploy-kubernetes/references/ — NOT at the tile root or under any other path",
      "max_score": 10
    }
  ]
}

evals

README.md

tile.json