Tesseract Design
mirage-hq/Tesseract
Create and revise static visual designs as editable Tesseract compositions and rendered PNGs, including posters, social graphics, slide layouts, diagrams, and web/UI mockups.
Draw and revise UI wireframes directly in Clay chat with the built-in clay-sketch renderer.
$ npx skills add chadbyte/clay --skill clay-sketch -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install chadbyte/clay clay-sketch --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/chadbyte/clay.git skills-src && mkdir -p .claude/skills && cp -r skills-src/lib/bundled-skills/clay-sketch .claude/skills/clay-sketch && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "clay-sketch" agent skill from https://github.com/chadbyte/clay/tree/main/lib/bundled-skills/clay-sketch into .claude/skills/clay-sketch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clay-sketch", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/chadbyte/clay/tree/main/lib/bundled-skills/clay-sketchType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add chadbyte/clay --skill clay-sketch -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install chadbyte/clay clay-sketch --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chadbyte/clay.git skills-src && mkdir -p .agents/skills && cp -r skills-src/lib/bundled-skills/clay-sketch .agents/skills/clay-sketch && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "clay-sketch" agent skill from https://github.com/chadbyte/clay/tree/main/lib/bundled-skills/clay-sketch into .agents/skills/clay-sketch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clay-sketch", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add chadbyte/clay --skill clay-sketch -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install chadbyte/clay clay-sketch --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chadbyte/clay.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/lib/bundled-skills/clay-sketch .cursor/skills/clay-sketch && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "clay-sketch" agent skill from https://github.com/chadbyte/clay/tree/main/lib/bundled-skills/clay-sketch into .cursor/skills/clay-sketch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clay-sketch", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/chadbyte/clay.git --path lib/bundled-skills/clay-sketch--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add chadbyte/clay --skill clay-sketch -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install chadbyte/clay clay-sketch --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chadbyte/clay.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/lib/bundled-skills/clay-sketch .gemini/skills/clay-sketch && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "clay-sketch" agent skill from https://github.com/chadbyte/clay/tree/main/lib/bundled-skills/clay-sketch into .gemini/skills/clay-sketch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clay-sketch", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install chadbyte/clay clay-sketchInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add chadbyte/clay --skill clay-sketch -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/chadbyte/clay.git skills-src && mkdir -p .github/skills && cp -r skills-src/lib/bundled-skills/clay-sketch .github/skills/clay-sketch && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "clay-sketch" agent skill from https://github.com/chadbyte/clay/tree/main/lib/bundled-skills/clay-sketch into .github/skills/clay-sketch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clay-sketch", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add chadbyte/clay --skill clay-sketch -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install chadbyte/clay clay-sketch --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chadbyte/clay.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/lib/bundled-skills/clay-sketch .opencode/skills/clay-sketch && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "clay-sketch" agent skill from https://github.com/chadbyte/clay/tree/main/lib/bundled-skills/clay-sketch into .opencode/skills/clay-sketch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "clay-sketch", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
clay-sketchDraw and revise UI wireframes directly in Clay chat with the built-in clay-sketch renderer.
Clay Sketch is an agent skill from chadbyte/clay. Draw and revise UI wireframes directly in Clay chat with the built-in clay-sketch renderer. Automatically use for requests to see a wireframe, sketch a screen, visualize a page layout or UI plan, or revise an existing sketch, including entire webpages and the current project. The user does not need to name clay-sketch. Also use for /clay-sketch or $clay-sketch. Do not substitute this for implementing a working website, generating artwork, or drawing architecture and sequence diagrams.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering UI design and Diagrams. It works with Claude Agent SDK. The repository describes itself as: A self-hosted workspace where people and coding agents work together across projects, sessions, and providers. The licence is AGPL-3.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 014d63b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are clay-sketch).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Clay Sketch loads about 2.5k tokens when it runs. Until then it costs about 125 tokens; SKILL.md has 1,117 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from chadbyte/clay at commit 014d63b, republished under its AGPL-3.0 licence (© chadbyte). 1,117 words, ~2,485 tokens.
.claude/skills/clay-sketch/SKILL.md (or your agent's skills folder).Use clay-sketch to make UI ideas visible while keeping design changes in the conversation. It ships with Clay: no installation, browser automation, external renderer, or generated image is needed. Its markup is a supported subset of PlantUML Salt with optional Clay screen-layout extensions, not the full PlantUML language.
Treat ordinary requests such as "show me a wireframe of our work", "sketch this screen", or "what would this page look like?" in a UI planning conversation as requests for clay-sketch. Do not require the feature name or ask the user to choose a rendering format. Use the current project and conversation as context. Default to a rendered sketch; use ASCII wireframes only when explicitly requested.
clay-sketch block. Include @startsalt
and @endsalt. Clay renders the block inline and retains its source.Use one sketch per block. Existing plantuml, puml, and salt fences also
work. Prefer clay-sketch for new responses. Don't replace a rendered sketch
with a screenshot or unsolicited ASCII art.
When the user requests changes or wants to work together on a sketch, call
present_wireframe (or its available clay-documents qualified equivalent)
with the complete revised Salt source, a short title, and a stable design id
such as account-settings. Reuse that id for revisions of the same design.
This opens or updates clay-sketch in Sketch viewer, the right-side viewer. It only presents the
sketch; it does not save a file.
Include the same complete revised source in a clay-sketch response block so
the revision remains in chat history. Preserve requirements from earlier turns.
Do not send a patch or a fragment as the diagram source.
All editing happens through conversation. The user
can choose Save to project to create a .puml file, or Download to save
the source to their device. Do not create files automatically. If explicitly
asked to save through your file tools, use the requested path and normal file
permissions. Do not silently overwrite existing work.
If the presentation tool is unavailable, provide the inline sketch and explain that Open sketch opens the viewer. Do not claim you opened it.
Use clean lines for new sketches. Do not add handwritten directives or suggest a handwritten mode. The viewer credits PlantUML Salt and links to its documentation.
{ ... }: layout container; newlines separate rows and | separates columns.
Nest containers to build a whole page. Put a space or newline after {.{+ ... }: outer border; {# ... }: grid; {! ... }: column lines;
{- ... }: row lines.{^"Account" ... }: titled group. Put its rows on following lines.{/ <b>Overview | Settings }: tabs. Newline-separated tabs form a vertical list.{* File | Edit | Help }: a menu bar; following rows such as File | Open | - | Exit show an open menu.Plain label, **Bold label**, <b>Bold label, <i>Italic label.[Continue]: button; "Email address ": text field. Spaces inside
quotes reserve width; keep labels short enough to remain readable.[] Remember me, [X] Enabled: checkboxes.() Option, (X) Selected: radio controls.^Choose a team^: closed dropdown; ^Choose^^One^^Two^: open dropdown..: empty cell or vertical spacer; .., --, ==, ~~: separators.* following a cell spans the preceding cell across that column.{T with + Root, ++ Child rows: tree; T!, T#, T+, T- add grid lines.{S, {SI, {S-: both, vertical-only, horizontal-only scrollbars.//italic//, ""monospace"", --strike--, __underline__, ~~wave~~;
<color:blue>, <back:orange>, <size:20> and <&folder> icons.* Bullet and # Numbered item: list labels; repeat the marker for nesting.title, header, footer, caption before the layout; multiline
legend / end legend; scale 2, skinparam dpi 200, background colors.Use . explicitly for empty cells. Avoid gratuitous spacers or very long fields;
wide diagrams shrink in chat, though the viewer offers Fit, 100% reset and zoom up to 400%.
The renderer limits source to 100 KB, nesting to 24 levels, cells to 2000,
columns to 64, and layout dimensions to 8192 pixels.
Use bundled icons for ordinary wireframes. When an image is needed and its URL
is supplied or authorized for the design, <img:https://…> embeds a public PNG.
This requires network access, allows no redirects or private addresses, and is
limited to four images of 1 MiB and 2048 × 2048 pixels each. Do not invent image
URLs. Local files and SVG images are not supported. Salt's inline ./X
pseudo-sprites also work without networking.
Supported font sizes are 10, 12, 13, 14, 16, 18 and 20, with sans-serif or monospace text. Avoid arbitrary fonts, includes, macros, external themes, general PlantUML sprites, links and other UML types. On a syntax error, simplify the sketch using the notation above; never suggest installing Java or sending source to a hosted renderer. For architecture, flowcharts, or sequence diagrams, use the existing Mermaid support instead.
@startsalt
{+
{ **Workspace** | Project: Website | [Settings] }
{
{^"Navigation"
**Overview**
Projects
Team
[New project]
} |
{^"Projects"
{/ <b>Active | Archived }
{ "Search projects... " | [Create project] }
..
{# **Project** | **Status** | **Owner**
Website | In progress | Alex
Mobile app | Planning | Sam
}
..
[View all projects]
}
}
}
@endsaltFor full-page UI plans, start with the example below. The apostrophe directives are Clay extensions: standard PlantUML treats them as comments and renders its usual compact layout. Plain Salt without these directives retains reference behavior. Do not claim the extended layout is standard PlantUML Salt.
' @clay-canvas 1440 900 sets logical screen dimensions (240–4096 per axis).' @clay-layout root ... configures the outer container. A path such as
root.1.0 selects row 1, column 0, zero-based. Append row/column pairs for
nested containers. Update paths when moving content.columns=240,* fixes the sidebar width and gives remaining width to content.
rows=64,* fixes the header and lets the body fill the remaining height.
Tracks accept pixel integers, auto (content size), and * (share free space).
Supply exactly one track per row/column. Without tracks, rows/columns use auto.padding=24 gap=16 sets container insets and spacing, without scaling text.
Defaults are 16 and 12. Set padding/gap to 0 for the outer screen shell.. in a flexible row to reserve
deliberate empty space or push a footer down, not repeated blank rows.@startsalt
' @clay-canvas 1440 900
' @clay-layout root padding=0 gap=0 columns=240,* rows=64,*
' @clay-layout root.0.0 padding=20 gap=24 columns=*,auto
' @clay-layout root.1.0 padding=24 gap=20 columns=* rows=auto,auto,auto,auto,auto,auto,*
' @clay-layout root.1.1 padding=32 gap=24 columns=* rows=auto,auto,auto,auto,*,auto
' @clay-layout root.1.1.0.0 padding=0 gap=24 columns=*,auto
' @clay-layout root.1.1.2.0 padding=0 gap=16 columns=*,auto
' @clay-layout root.1.1.3.0 padding=16 gap=16 columns=*,140,180,140 rows=40,48,48,48
{+
{ **Clay Settings** | [My account] } | *
{
[Back to project]
Profile
Appearance
Models
**MCP connections**
Notifications
.
} |
{
{ <size:20>**MCP connections** | [Add connection] }
Connect tools and services for your conversations.
{ "Search connections..." | ^All statuses^ }
{-
**Connection** | **Type** | **Status** | **Action**
Team knowledge | Remote URL | Connected | [Manage]
Support tools | Remote URL | Sign-in required | [Sign in]
My computer | Extension | Offline | [Manage]
}
.
Connections are personal to your account.
}
}
@endsalt© chadbyte, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in lib/bundled-skills/clay-sketch of chadbyte/clay.
Open the folder on GitHubat commit 014d63b
Clay Sketch next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Clay Sketch this skillchadbyte/clay | 399 | — | ~2.5k | Automated safety check: Pass | AGPL-3.0 | |
| Tesseract Designmirage-hq/Tesseract | 128 | — | ~986 | Automated safety check: Pass | Custom licence | |
| SVG Precision Skilldkyazzentwatwa/chatgpt-skills | 115 | — | ~223 | Automated safety check: Pass | None | |
| CLI Hub Matrix Image DesignHKUDS/CLI-Anything | 52k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Visualizevellum-ai/vellum-assistant | 1.4k | — | ~3.6k | Automated safety check: Pass | MIT | |
| Draft Flowjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~898 | Automated safety check: Notes | MIT |
mirage-hq/Tesseract
Create and revise static visual designs as editable Tesseract compositions and rendered PNGs, including posters, social graphics, slide layouts, diagrams, and web/UI mockups.
dkyazzentwatwa/chatgpt-skills
Generate deterministic SVGs from structured specs with validation and rendering.
HKUDS/CLI-Anything
Capability-based multi-tool matrix for image and graphic design: AI generation, raster/vector editing, UI mockups, diagrams, upscaling, photo library, and publishing.
vellum-ai/vellum-assistant
Render a polished visual inline in the chat as part of your answer — a diagram, a chart, an interactive explainer, or a UI mockup.
jeremylongshore/tons-of-skills-marketplace
A skill your agent uses when asked to design a user flow, map how a user moves through a feature, create a wireframe or flow diagram, or document interaction design for a product brief.
criptogus/agent-evolve-network
Design system and guidelines for Claude's built-in showwidget tool to render high-quality interactive HTML/SVG widgets, charts, diagrams, and explainers inline.
chadbyte/clay
Test websites and browse together with the user in Clay's live Browser panel.
Works with
Categories
Draw and revise UI wireframes directly in Clay chat with the built-in clay-sketch renderer. Clay Sketch is an agent skill from chadbyte/clay. Draw and revise UI wireframes directly in Clay chat with the built-in clay-sketch renderer.
Clay Sketch fits situations like: requests to see a wireframe; sketch a screen; visualize a page layout; revise an existing sketch.
Run `npx skills add chadbyte/clay --skill clay-sketch -a claude-code`. Or copy the skill folder (lib/bundled-skills/clay-sketch in chadbyte/clay) into .claude/skills/clay-sketch in your project. Claude Code loads it when a task matches its description.
Run `npx skills add chadbyte/clay --skill clay-sketch -a codex`. Or copy the skill folder (lib/bundled-skills/clay-sketch in chadbyte/clay) into .agents/skills/clay-sketch in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add chadbyte/clay --skill clay-sketch -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/clay-sketch, .gemini/skills/clay-sketch, .github/skills/clay-sketch and .opencode/skills/clay-sketch in your project.
SKILL.md names no scripts, command-line tools or credentials: Clay Sketch is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Clay Sketch is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 9.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Clay Sketch: Tesseract Design (mirage-hq/Tesseract, 128 stars), SVG Precision Skill (dkyazzentwatwa/chatgpt-skills, 115 stars), CLI Hub Matrix Image Design (HKUDS/CLI-Anything, 52k stars) and Visualize (vellum-ai/vellum-assistant, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
chadbyte (a GitHub user) maintains it in chadbyte/clay, which has 399 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 9, 2026.
Source: chadbyte/clay on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.