Create tessl tiles containing docs, rules, or skills. Use when a user wants to create a tile, package content for tessl, or needs help with tile.json configuration. Also triggers on "create tile from", "convert to tile", "turn into tile", "make tile from", or "tile this repo" for existing content.
72
89%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Create tessl tiles from scratch or from existing content (repos, docs, packages).
| Type | Purpose | Agent Behavior |
|---|---|---|
| Docs | Facts and knowledge | Agent reaches for info on-demand (like RAG) |
| Skills | Procedural workflows | Agent does new complex tasks |
| Rules | Critical constraints | Loaded into agent's instruction prompt |
Most content should be docs or skills. Rules are reserved for critical behavioral constraints only.
For greenfield tiles with no existing content.
Determine content type: docs, skills, or rules (usually just one)
Create structure (see cli-commands.md for full details):
tessl tile new \
--name workspace/tile-name \
--summary "Description" \
--workspace workspace \
--path ./my-tile \
--docs # or --rules, --skill-nameAdd content: Write markdown files in the appropriate folders
Validate:
tessl tile lint ./my-tile
├── Pass → Done
└── Fail → Fix errors → Re-run lintmy-tile/
├── tile.json
├── docs/ # Documentation (optional)
│ └── index.md
├── rules/ # Rules/steering (optional)
│ └── my-rule.md
└── skills/ # Skills (optional)
└── my-skill/
└── SKILL.mdFor converting existing repos, docs folders, or packages into tiles.
Gather info:
Analyze source:
package.json, pyproject.toml, etc.), identify language, map public APICreate tile structure:
tessl tile new \
--name workspace/tile-name \
--summary "Description" \
--workspace workspace \
--path ./output-tile \
--docsFor packages, add --describes "pkg:ecosystem/name@version"
Transform content:
{ .api } markers (see Package Documentation below)Configure tile.json:
describes field with purldescribesValidate:
tessl tile lint ./output-tile
├── Pass → Done
└── Fail → Fix errors → Re-run lintReport: Summarize what was created, note any gaps or assumptions for user review
Flexible by source type:
For packages:
# Package Name
Brief description.
## Installation
[install command]
## Quick Start
[basic usage example]
## API Reference
- [Module A](./module-a.md)
- [Module B](./module-b.md)For general docs:
# Title
Overview of what this documentation covers.
## Contents
- [Topic A](./topic-a.md) - Brief description
- [Topic B](./topic-b.md) - Brief descriptionWhen documenting software packages, use the { .api } marker for API signatures.
Mark all public API elements:
### createClient(options) { .api }
Creates a new client instance.
**Parameters:**
- `options.apiKey` (string) - API key for authentication
- `options.timeout` (number, optional) - Request timeout in ms
**Returns:** `Client` - The client instanceInclude the describes field with a purl:
{
"name": "tessl/npm-example",
"version": "2.0.0",
"docs": "docs/index.md",
"describes": "pkg:npm/example-sdk@2.0.0",
"summary": "TypeScript SDK for Example API"
}Purl format: pkg:<ecosystem>/<name>@<version>
pkg:npm/openai@6.9.1pkg:pypi/requests@2.31.0 (normalize names: lowercase, hyphens)tessl tile new usageb391c84
Canonical home
since Feb 16, 2026
Also appears in
last in sync Feb 16, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.