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 agentmods add skills/wellwelwel/lagune/simulatenpx skills add wellwelwel/lagune --skill simulategit clone --depth 1 https://github.com/wellwelwel/laguneWrote 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/wellwelwel/lagune/simulate)<a href="https://agentmods.dev/skills/wellwelwel/lagune/simulate"><img src="https://agentmods.dev/badge/skills/wellwelwel/lagune/simulate.svg" alt="Measured on agentmods" height="20"></a>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 | $0.00056 | $0.02688 |
| Opus 5 | $0.00028 | $0.01344 |
| Sonnet 5 | $0.00011 | $0.00538 |
| Haiku 4.5 | $0.00006 | $0.00269 |
Grade C, and why
simulate scanned grade C with 1 finding 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 4d 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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf ./temp && mkdir -p ./temp How it starts
The opening of the file, as written. The whole thing — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Simulating a Lagune command
This skill exists because simulating a command is deceptively easy to get wrong in a way that wastes the user's time and trust. Hard sessions produced four non-negotiable rules and a method. Follow them exactly.
Use this skill whenever the user asks to "simulate", "demo", "show in practice", "run", or "see in action" any /lagune.* command (charter, detect, plan, harden, verify), or to preview how a command behaves before shipping it.
Before you start (mandatory)
Do not begin a simulation, build a scenario, or copy a fixture until both of these are settled, in this order:
- The user must tell you which Lagune command to simulate. This is required, never assume or pick one. If the user has not named a command (
charter,detect,plan,harden, orverify), ask which one before doing anything else. If they named more than one, confirm the order you will run them in. - Then suggest the fixture, enumerated, and let the user choose. Once the command is known, list the available fixtures (from
.claude/skills/simulate/fixtures/) as a numbered list, each with a one-line description of its scenario, and ask the user to pick one by number. Do not silently default to a fixture. If only one fixture exists, still present it and confirm before using it. If none fits the command, say so and offer to add a new fixture (see the fixtures section).
Only after the command is named and the fixture is chosen do you proceed to the rules and method below.
Why this skill exists (read this first)
A Lagune command is not a standalone program. It is a file of instructions (spec/commands/lagune.<phase>.md, scaffolded as a skill the agent reads) that tells an AI agent how to do a phase of security work. "Running the command" means an agent following those instructions. There is no binary that emits a deterministic result independent of the agent. So a "simulation" is the agent executing the command's steps for real, against a real scenario, while showing its work.
What ships with it
18 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.
- fixtures/image-upload-service/package.json 23 B
- fixtures/image-upload-service/src/lib/fetch-remote.js 459 B runs code
- fixtures/image-upload-service/src/lib/thumbnail.js 311 B runs code
- fixtures/image-upload-service/src/lib/transcode.js 621 B runs code
- fixtures/image-upload-service/src/routes/avatar.js 493 B runs code
- fixtures/image-upload-service/src/routes/import.js 1.6 KB runs code
- fixtures/image-upload-service/src/routes/photos.js 1.4 KB runs code
- fixtures/image-upload-service/src/server.js 3.2 KB runs code
- fixtures/image-upload-service/uploads/.gitkeep 0 B
- fixtures/template-toolkit/bin/cli.js 778 B runs code
- fixtures/template-toolkit/package.json 215 B
- fixtures/template-toolkit/src/index.js 235 B runs code
- fixtures/template-toolkit/src/plugin.js 494 B runs code
- fixtures/template-toolkit/src/plugins/markdown.js 169 B runs code
- fixtures/template-toolkit/src/plugins/slug.js 152 B runs code
- fixtures/template-toolkit/src/remote.js 152 B runs code
- fixtures/template-toolkit/src/render.js 605 B runs code
- fixtures/template-toolkit/src/validate.js 680 B runs code
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.
- 4d ago First seen · 120 lines · 56 tokens per session scan C 45908b254b65
simulate is a skill published in the GitHub repository wellwelwel/lagune (140 stars, last pushed 4d ago), licensed MIT. It adds 56 tokens to every session and 2,688 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
firebase-messaging
Use when setting up Firebase Cloud Messaging, managing permissions and tokens, handling background/foreground notification taps, or dispatching messages server-side (HTTP v1).
firebase-cloud-functions
Use when calling callable functions (httpsCallable), passing data to server-side logic, handling function errors/timeouts, configuring regions, or testing with the Emulator Suite.
023-assumption-analysis
Use when a framed and root-caused problem needs its assumptions made explicit before design or planning begins — explicit Assumptions, Unknowns, and a Validation plan. This should trigger when an issue's Assumption Analysis point of view needs evaluation, or when a maintainer directly asks to surface hidden…
sanity-best-practices
Sanity development best practices for schema design, GROQ queries, TypeGen, Visual Editing, images, Portable Text, Studio structure, localization, migrations, Sanity Functions, webhooks, Blueprints, and framework integrations such as Next.js, Nuxt, Astro, Remix, SvelteKit, Angular, Hydrogen, and the App SDK. Use this…
analyzing-changes
Analyzes code changes, detects documentation drift, and evaluates change impact scope. Use when reviewing diffs, checking doc sync, or running pre-commit analysis. Automatically triggered after design-level changes or refactoring.
seo-aeo-best-practices
SEO and AEO best practices for metadata, Open Graph, sitemaps, robots.txt, hreflang, JSON-LD structured data, EEAT, and content optimized for search engines and AI answer surfaces. Use this skill when implementing page SEO, technical SEO, schema markup, international SEO, AI-overview readiness, or improving content…