tile-creator
Scannednpx machina-cli add skill pantheon-org/tekhne/tile-creator --openclawTessl Tile Creator
Create tessl tiles from scratch or from existing content (repos, docs, packages).
Choosing Content Types
| 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 |
Decision checklist
- Does it describe steps to do something? (deploy, migrate, build, test, release) → Skill. Workflows, runbooks, and step-by-step procedures are skills, even if the source calls them "documentation."
- Is it a constraint that must ALWAYS be enforced? (MUST, NEVER, always) → Rule (use sparingly)
- Is it factual reference material? (APIs, schemas, config, architecture) → Docs
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.
Creating the Tile Structure
Two methods are available. Use whichever is available in your environment:
Option A: MCP tool (preferred if available)
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 true
Option B: CLI
Use 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
Workflows
Choose the most relevant workflow based on your task:
- From scratch (no existing content): tile-from-scratch.md
- From existing source code (repo, package, codebase): tile-from-source.md
- From existing docs/context (markdown, .mdc files, other tiles): tile-from-docs.md
All workflows use the scaffolding method described above (MCP tool or CLI).
Package Documentation
When documenting software packages, use the { .api } marker for API signatures.
API Marker Format
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 instance
tile.json for Packages
Include 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>
- npm:
pkg:npm/openai@6.9.1 - pypi:
pkg:pypi/requests@2.31.0(normalize names: lowercase, hyphens)
References
- CLI commands for full
tessl tile newusage - docs format
- rules format
- skills format
- tile.json spec
Source
git clone https://github.com/pantheon-org/tekhne/blob/main/.tessl/tiles/tessl-labs/tile-creator/SKILL.mdView on GitHub Overview
tile-creator builds tessl tiles from scratch or from existing content like repos, docs, or packages. It helps package content for tessl and configure tile.json correctly. Use it to choose the right content type (Docs, Skills, or Rules) and to follow standard workflows for creating, sourcing, or converting content into a tile.
How This Skill Works
The tool supports two creation methods: MCP (preferred) using typed parameters, or the tessl tile new CLI command with required flags. You provide a name, summary, absolute path, and content type (docs, rules, or skill details). It enforces absolute paths and workspace-prefix rules, then guides you through standard workflows to scaffold and lint the tile.
When to Use It
- You want to create a tile from scratch for a new deployment or workflow.
- You need to package existing docs into a tessl tile (Docs type).
- You want to convert a repo, package, or codebase into a tessl tile (From existing source).
- You require a tile.json configuration and a reproducible scaffold process.
- You want to validate and lint the tile after scaffolding using tessl tile lint.
Quick Start
- Step 1: Decide on creation method (MCP tool or tessl tile new CLI) and prepare your content type (Docs, Skills, or Rules).
- Step 2: Run the appropriate command with required flags (name, summary, workspace, path, and content type details).
- Step 3: Validate the result with tessl tile lint /absolute/path/to/tile and adjust as needed.
Best Practices
- Always use absolute paths for --path and store the tile's absolute path for consistency.
- Classify content using the decision checklist: procedural steps = Skill, must-enforce constraints = Rule, reference material = Docs.
- Prefer the MCP tool (mcp__tessl__new_tile) when available to avoid prompts.
- If using the CLI, always pass --workspace and ensure it matches the prefix of --name.
- After scaffolding, run tessl tile lint on the absolute path to catch issues early.
Example Use Cases
- Create a deployment workflow tile from scratch for a new project.
- Tile existing API documentation into a Docs tile for quick reference.
- Convert a monorepo's build and test steps into a Skills tile with step-by-step procedures.
- Turn a security policy into a Rules tile to enforce constraints across agents.
- Tile an existing repo by generating separate tiles for each package using the From source workflow.