design

design is a skill for Claude Code, Codex from asgeirtj/system_prompts_leaks. It costs 20 tokens per session (4,483 once invoked), scanned A, original, CC0-1.0.

A tool for drafting a multi-artboard visual design on a pannable and zoomable canvas, then publishing it as an interactive Artifact. An artboard is one separate screen or design area within the canvas.

In plain words
What is it for?
Use it to sketch screens such as login pages, dialogs, and dashboards across multiple artboards, and to publish the resulting design canvas when saving is available.
Why use it?
It turns a design brief into a structured set of screens that can be reviewed and refined. It also explains which account and project actions are unavailable in the preview.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to sketch screens such as login pages, dialogs, and dashboards across multiple artboards, and to publish the resulting design canvas when saving is available.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/asgeirtj/system_prompts_leaks/design
About the project

System Prompts Leaks is a collection of captured system instructions used to guide AI chatbots and coding agents before they receive user messages. It serves researchers and developers studying how different AI assistants are directed.

asgeirtj/system_prompts_leaks · 70,275 stars · on GitHub

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add asgeirtj/system_prompts_leaks --skill design
Clone the repo
git clone --depth 1 https://github.com/asgeirtj/system_prompts_leaks

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for design

README.md
[![agentmods](https://agentmods.dev/badge/skills/asgeirtj/system_prompts_leaks/design/github.svg)](https://agentmods.dev/skills/asgeirtj/system_prompts_leaks/design)
Your own site
<a href="https://agentmods.dev/skills/asgeirtj/system_prompts_leaks/design"><img src="https://agentmods.dev/badge/skills/asgeirtj/system_prompts_leaks/design/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for design

Your own site · 80×15
<a href="https://agentmods.dev/skills/asgeirtj/system_prompts_leaks/design"><img src="https://agentmods.dev/badge/skills/asgeirtj/system_prompts_leaks/design.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 20 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,483 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. ✓ AI security review Fable 5.1 · 6 Sept 2026 📄 Read the review Third-party audits
  • Snyk warn 7 Sept 2026
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 3 findings, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high Anti-Refusal · line 93
    Skill instructs the agent to omit warnings, disclaimers, or ethical commentary. Stripping safety caveats hides risk from the user and is a common jailbreak preamble.
    Fix: Remove instructions that suppress warnings, disclaimers, or ethical commentary. Let the agent surface safety-relevant caveats to the user.
  • medium Excessive Agency · line 56
    Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
    Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
  • low Excessive Agency · line 955
    Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.
    Fix: Limit the skill's scope to its documented purpose. Remove instructions that enable the agent to perform actions outside its stated functionality.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00020 $0.04483
Opus 5.5 $0.00008 $0.01793
Sonnet 5.5 $0.00004 $0.00897
Haiku 4.5 $0.00002 $0.00448

Measured 17d ago against content hash 8819675f1a2d, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

design scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 17d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Anthropic/artifact-types/design/SKILL.md · 146 lines

How it starts

The opening of the file, as written. The whole thing — 146 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Design

This artifact is one release of the Design (canvas) editor. A canvas serves it read-only plus ITS OWN files under project/. It inherits the capabilities
{"downloads":{},"artifact":{},"comments":{"composer_only":true,"customAnchors":true},"room":{},"db":{"rules":[{"path":"","write":"admin"}]},"assets":{},"user":{"scopes":["profile"]},"sample":{}}
and its contract "0.2.47".

Write only under project/: a file elsewhere never shows; the type's files are refused.

The canvas exists

Work on THAT canvas, its url on every call: never create another or send type_url again. If no canvas exists yet: one call with type_url = the Design type's link and title = the canvas's name (as the user says it; not "Design" or "Untitled"), auto_open: "after_first_write" if offered, nothing else (no file_path, capabilities, contract, favicon, url); later calls use the reply's url. That call's title is REQUIRED. read project/canvas.json: none, or boards empty: if just created, see Creating; else list its files; no .dc.html: see Creating. Else see Revising.

Tell the user what happens on the canvas, never the mechanism. Asked to send it to apps like Canva: use the link Send to just posted, else a tool that makes one, else point the user to Share › Export › Send to, if shown, which posts the link here. Give an app's import tool no other link, never the canvas's url.

The canvas's files: exact shapes

  • project/canvas.json, the index: {"v":3,"createdOnFiles":{"v":1,"at":"2026-09-14T18:20:00Z"},"title":"Spring Menu Poster","launch":{"view":"canvas"},"pages":[],"boards":{"Main.dc.html":{"x":0,"y":0,"w":880,"h":560}},"order":["Main.dc.html"],"notes":{},"designSystems":[]}. createdOnFiles: an index YOU create carries it exactly so, at = now. boards = one entry per artboard, keyed by its file's path under project/: x,y,w,h = the FRAME on the canvas in CSS px (w,h 40–8000; 80 px between frames in a row, 120 between rows), plus optional title, page (none = the first), expand ("fill": a PAGE), print ("flow": PDF paginates), paper ("letter"|"a4"), is_interactive (true: working controls), frameless (editor-set, keep it), guides (format.md), radius (corner px). order = the same paths, back to front; name the first artboard Main.dc.html (the entry). EVERY .dc.html outside project/ds/ shows, listed or not, <dc-import>ed ones too: list each (w,h = its $preview); give it its importer's <head> lines to render alone; its <helmet> (rerun in importers): only font <link>, upload @font-face, body{margin:0}; font-family, color on its root. An entry needs its file: write it. Optional pages [{"id","name"}] (≤40; ids [A-Za-z0-9_-]{1,40}) and launch: {"view":"canvas"} (optionally "page": a listed page id) or {"view":"focused","file":"Main.dc.html"}. notes {"<id>":{"x":0,"y":-300,"text":"Flows","kind":"title1","maxW":1840}}: x,y,text required; ≤200 notes; ids as for pages. kind title1 = a title for SEVERAL artboards, never for one (a frame's name strip shows its title or filename): one bold 72 px line; set maxW (its row's width; maxH if tight): longer text shrinks. ≥223 px above its row, off name strips, nothing over it. No kind = a sticky: set w; it grows to w×maxH (default 4/3 w), then scrolls: keep that box clear. Both take size px|s|m|l|xl|xxl, bold, italic, page, color/sticky fill gray|red|orange|green|teal|blue|purple|pink. kind rect|oval|pen|line|arrow|image is the user's; leave it. designSystems, and the files under project/ds/<folder>/: only step 4's install writes them. An index that exists: keep every key and entry you are not changing, ones not named here too.
  • project/<path>, one file per artboard: the WHOLE .dc.html source. <path> ends .dc.html; segments start with a letter, digit or _, then only those and . -, no spaces; stems unique.
  • A support file you name goes under project/ too, linked relatively; an unnamed image or a font stays an upload (step 3).

Read the full file on GitHub · 146 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 17d ago Changed · -842 lines · -204 tokens per session 8819675f1a2d
  2. 29d ago Changed · +2 lines 53a2197188b4
  3. 1mo ago Changed · +8 lines 9587e71ac0a9
  4. 1mo ago First seen · 978 lines · 224 tokens per session scan A bf9ab730d92e

Subscribe to this mod's changes

design is a skill published in the GitHub repository asgeirtj/system_prompts_leaks (70,275 stars, last pushed yesterday), licensed CC0-1.0. It adds 20 tokens to every session and 4,483 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.