Create tessl tiles with docs, rules, and skills.
Does it follow best practices?
Evaluation — 97%
↑ 1.98xAgent success when using this tile
Validation for skill structure
Create tessl tiles from scratch or from existing content (repos, docs, packages).
| Type | Purpose | Agent Behavior | Example Content |
|---|---|---|---|
| Docs | Facts and knowledge | Agent reaches for info on-demand (like RAG) | API references, schemas, architecture, config options |
| Skills | Procedural workflows | Agent does new complex tasks | Deployment steps, migration procedures, build workflows |
| Rules | Critical constraints | Loaded into agent's instruction prompt | Security policies, naming conventions |
Common mistake: Putting procedural/workflow content into docs. If the content has numbered steps, imperative verbs, or describes a process — it belongs in a skill, not docs.
Most content should be docs or skills. Rules are reserved for critical behavioral constraints only.
Two methods are available. Use whichever is available in your environment:
Use the mcp__tessl__new_tile tool. It has typed parameters so there's no syntax to get wrong, and it never triggers interactive prompts.
Parameters:
name: "workspace/tile-name" (required)summary: brief description (required)path: absolute output directory pathdocs: true for documentation tilesrules: rule name for rules tilesskill: {"name": "skill-name", "description": "..."} for skill tilesdescribes: purl string for package docsisPrivate: boolean, defaults to trueUse the tessl tile new command with ALL required flags:
tessl tile new \
--name workspace/tile-name \
--summary "Description" \
--workspace workspace \
--path /absolute/path/to/tile \
--docs # or --rules rule-name, or --skill-name name --skill-description "desc"Critical: Always pass --workspace — omitting it triggers an interactive prompt that blocks execution. The --workspace value must match the prefix of --name (e.g., if --name local/foo, then --workspace local).
See CLI commands for full flag reference.
Path rule: Always use absolute paths for tile creation and ALL subsequent file operations. Store the tile's absolute path and use it consistently — the working directory can change between tool calls.
After scaffolding, validate with: tessl tile lint /absolute/path/to/tile
Choose the most relevant workflow based on your task:
All workflows use the scaffolding method described above (MCP tool or CLI).
When 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 usage