Use when you want to demo the end-to-end Tessl skill workflow quickly. Turn a tiny capability idea into a minimal skill, create exactly one simple eval scenario, run review, optionally optimize once, and then run evals locally or publish. Good triggers include "make a demo skill", "scaffold a skill and eval", and "run the Tessl loop end to end".
90
90%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Turn a tiny capability idea into a Tessl-ready demo tile as quickly as possible.
The objective is not to produce a production-grade skill. The objective is to produce a convincing minimal skill that is easy to explain, easy to evaluate, and fast to show live.
tile.json.tessl eval run because publish uploads scenarios and starts evals more reliably.Prefer tiny behaviors with obvious pass or fail behavior:
Good examples:
Avoid:
Turn the user's idea into one sentence:
If the user gives a broad idea, shrink it immediately.
Before creating files, ask:
If the user does not care, ask once anyway. The tile name must be workspace/tile.
Create:
tile.jsonskills/<skill-name>/SKILL.mdKeep the first version short and concrete.
The skill should usually include:
Use these exact format rules:
tile.json must use "name": "workspace/tile-name"tile.json must include "private": trueSKILL.md must start with YAML frontmattername and descriptionUse this tile.json shape:
{
"name": "WORKSPACE/TILE_NAME",
"version": "0.1.0",
"summary": "One-sentence summary of the tiny skill.",
"private": true,
"skills": {
"TILE_NAME": {
"path": "skills/TILE_NAME/SKILL.md"
}
}
}Use this SKILL.md shape:
---
name: TILE_NAME
description: Use when INPUT needs to become OUTPUT. Include the exact output shape and one or two trigger phrases.
---
# Skill Name
## Exact Output Format
```md
<exact output format here>### 3. Create One Eval Scenario
Create exactly one scenario under:
- `evals/scenario-1/task.md`
- `evals/scenario-1/criteria.json`
Prefer a scenario that checks:
- output structure
- inclusion of required fields
- no invented details
Use a simple weighted checklist.
The scenario format must be strict.
`task.md` should:
- describe the task briefly
- specify the output file name
- include the input inline in a `FILE:` block
Use this `task.md` shape:
```md
# Scenario 1
## Problem Description
Transform the provided input into the required output format.
## Output Specification
Save your output to `output.md`.
## Input Files
=============== FILE: inputs/source.txt ===============
<input goes here>criteria.json must use Tessl's weighted checklist shape:
{
"context": "Evaluate whether the output follows the requested format and avoids invented details.",
"type": "weighted_checklist",
"checklist": [
{
"name": "required_heading",
"description": "Output contains the required heading.",
"max_score": 40
},
{
"name": "required_fields",
"description": "Output includes the required fields or bullets.",
"max_score": 40
},
{
"name": "no_invented_details",
"description": "Output does not introduce facts not present in the input.",
"max_score": 20
}
]
}Do not use:
idweightcriteriaUse:
contexttypechecklistnamedescriptionmax_scoreRun:
tessl skill review <tile-dir>/skills/<skill-name>If the review points to obvious vagueness, missing output contract, or weak constraints, tighten the skill.
If the user wants the full loop, run:
tessl skill review --optimize --yes <tile-dir>/skills/<skill-name>Inspect the diff before accepting it as a demo artifact. Prefer changes that make the workflow more concrete or the output format more explicit.
Before publishing, verify:
tessl tile lint <tile-dir>
find <tile-dir>/evals -maxdepth 2 -type f | sort
cat <tile-dir>/tile.jsonConfirm that:
private is set to trueSKILL.md has frontmattercriteria.json uses weighted_checklistPrefer this path:
tessl tile publish <tile-dir>If the version already exists:
tessl tile publish <tile-dir> --bump patchThis is the default demo path because publish uploads the eval scenarios and starts the eval run.
Never publish a public tile for this workflow. If tile.json does not contain "private": true, fix it before publishing.
Only use tessl eval run if the user explicitly asks for local-only testing and the CLI path is known to work.
workspace/.When possible, steer the generated skill toward this shape:
When asked to drive the full demo, follow this sequence:
skills/<skill-name>Before finishing, confirm that:
tile.json uses workspace/tiletile.json sets "private": truecriteria.json uses weighted_checklist