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.
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.
npx skills add asgeirtj/system_prompts_leaks --skill designgit clone --depth 1 https://github.com/asgeirtj/system_prompts_leaksWrote 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.
[](https://agentmods.dev/skills/asgeirtj/system_prompts_leaks/design)<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.
<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>- Snyk warn
- NVIDIA SkillSpector warn
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.
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.
| Model | Per session | Once 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 |
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.
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 underproject/:x,y,w,h= the FRAME on the canvas in CSS px (w,h40–8000; 80 px between frames in a row, 120 between rows), plus optionaltitle,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 artboardMain.dc.html(the entry). EVERY.dc.htmloutsideproject/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. Optionalpages[{"id","name"}](≤40; ids[A-Za-z0-9_-]{1,40}) andlaunch:{"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,textrequired; ≤200 notes; ids as for pages.kindtitle1= a title for SEVERAL artboards, never for one (a frame's name strip shows itstitleor filename): one bold 72 px line; setmaxW(its row's width;maxHif tight): longer text shrinks. ≥223 px above its row, off name strips, nothing over it. Nokind= a sticky: setw; it grows tow×maxH(default 4/3w), then scrolls: keep that box clear. Both takesizepx|s|m|l|xl|xxl,bold,italic,page,color/stickyfillgray|red|orange|green|teal|blue|purple|pink.kindrect|oval|pen|line|arrow|image is the user's; leave it.designSystems, and the files underproject/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.htmlsource.<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).
What ships with it
9 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- artifact-type/reference/brand-colors.md 2.2 KB
- artifact-type/reference/brand-typography.md 1.5 KB
- artifact-type/reference/craft.md 15 KB
- artifact-type/reference/design-system-components.md 12 KB
- artifact-type/reference/diagrams.md 9.4 KB
- artifact-type/reference/format.md 11 KB
- artifact-type/reference/print.md 5.3 KB
- artifact-type/reference/questions.md 4.1 KB
- artifact-type/reference/view-state.md 8.4 KB
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.
- 17d ago Changed · -842 lines · -204 tokens per session 8819675f1a2d
- 29d ago Changed · +2 lines 53a2197188b4
- 1mo ago Changed · +8 lines 9587e71ac0a9
- 1mo ago First seen · 978 lines · 224 tokens per session scan A bf9ab730d92e
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.
Other skills, from other repositories
anatomy
Explain an idea as an interactive isometric machine figure.
claude-design
Design one-off HTML artifacts (landing, deck, prototype).
ip-as-logo
Design minimal cute IP mascot marks readable at 32px.
tldraw-offline
Drive and script tldraw offline canvases with an agent.
sketch
Throwaway HTML mockups: 2-3 design variants to compare.
baoyu-infographic
An infographic generator that turns supplied content into a visual summary using different information layouts and visual styles. It supports standard and custom image proportions and multiple languages.