cuj-guardian

cuj-guardian is a skill for Claude Code from aiatelie/ai-atelie. It costs 137 tokens per session (3,197 once invoked), scanned A, original, MIT.

A test workflow for AI Atelie, an application where users create projects, direct a Claude Code agent, and view the result on a canvas. It runs critical user journeys, which are end-to-end tests of the main user actions.

In plain words
What is it for?
Use it to decide whether a pull request could affect the core journey and to run the relevant browser tests under web/tests/e2e/journeys/.
Why use it?
It checks whether the product's core flow still works after a pull request, including project creation, agent edits, canvas rendering, and cleanup.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths; mentions Claude Code.

Good fit Use it to decide whether a pull request could affect the core journey and to run the relevant browser tests under web/tests/e2e/journeys/.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/aiatelie/ai-atelie/cuj-guardian
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 aiatelie/ai-atelie --skill cuj-guardian
Clone the repo
git clone --depth 1 https://github.com/aiatelie/ai-atelie

Made for: Claude Code.

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 cuj-guardian

README.md
[![agentmods](https://agentmods.dev/badge/skills/aiatelie/ai-atelie/cuj-guardian/github.svg)](https://agentmods.dev/skills/aiatelie/ai-atelie/cuj-guardian)
Your own site
<a href="https://agentmods.dev/skills/aiatelie/ai-atelie/cuj-guardian"><img src="https://agentmods.dev/badge/skills/aiatelie/ai-atelie/cuj-guardian/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 cuj-guardian

Your own site · 80×15
<a href="https://agentmods.dev/skills/aiatelie/ai-atelie/cuj-guardian"><img src="https://agentmods.dev/badge/skills/aiatelie/ai-atelie/cuj-guardian.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 137 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,197 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.
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.00137 $0.03197
Opus 5.5 $0.00055 $0.01279
Sonnet 5.5 $0.00027 $0.00639
Haiku 4.5 $0.00014 $0.00320

Measured 1mo ago against content hash bd49420abf9f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

cuj-guardian 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 1mo 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.

.claude/skills/cuj-guardian/SKILL.md · 183 lines

How it starts

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

cuj-guardian

A contributor workflow for AI Atelie. The CUJ ("Critical User Journey") is now a suite of focused journeys, not one big spec — the same contract, split into pieces so a slow agent doesn't kill the cleanup phase or block evidence on the PR.

This skill is dev-time only. It does not load into adapter sessions spawned by the editor.

What the suite proves

Four journeys under web/tests/e2e/journeys/. Together they prove the product still does its core job:

  1. home-loads.spec.ts — home renders, the create-project form is visible + interactive.
  2. create-project.spec.ts — name + Create lands on /editor with a valid p_* id; project dir exists on disk; iframe canvas mounts.
  3. agent-edits-canvas.spec.ts — the load-bearing one. A real Claude Code agent (or whichever adapter is selected) takes a chat prompt, writes to disk, and the iframe paints the requested change.
  4. cleanup-snapshot.spec.ts — leak guard: any project named Journey · * is force-deleted; suite ends with the project list it started with.

If any of these fails, the product is broken in a way users will notice. That's the contract; everything else (smoke.spec.ts, type-check, build) is cheap-pre-flight stuff.

Cleanup safety guarantee

The CUJ creates exactly one test project (under a fresh p_* id assigned by the New Project flow), works against it, and deletes it via DELETE /api/projects/<id> in a finally{} block — even on failure. The test enforces the safety property explicitly:

  1. Snapshot before: lists web/projects/ at the start, sorted.
  2. Delta assertion at step 4: the captured projectId must NOT appear in the pre-test snapshot. If it does, we somehow latched onto an existing project's id (serious bug); fail loud.
  3. Cleanup at step 10: deletes by EXACT id, single-target API call, no wildcards.
  4. Snapshot after at step 11: post-test web/projects/ list MUST equal the pre-test list. If anything was leaked OR anything else disappeared, the test fails.

Read the full file on GitHub · 183 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. 1mo ago First seen · 183 lines · 137 tokens per session scan A bd49420abf9f

Subscribe to this mod's changes

cuj-guardian is a skill published in the GitHub repository aiatelie/ai-atelie (11 stars, last pushed 4mo ago), licensed MIT. It adds 137 tokens to every session and 3,197 once invoked, about $0.0005 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-31.

Related

Other skills, from other repositories

pptx-html-fidelity-audit

Audit a python-pptx export against its source HTML deck, identify layout/content drift (footer overflow, cropped content, missing italic/em, lost styling, off-rhythm spacing), and re-export with strict footer-rail + cursor-flow layout discipline. Use this skill whenever the user has a .pptx that was generated from an…

nexu-io/open-design · 185 tokens

build-test

Run the project's build / typecheck / lint / test commands and emit the build.passing + tests.passing signals devloop convergence reads.

nexu-io/open-design · 31 tokens

web-app-qa

Test a web app the way a real user would: click through the main flows, try odd inputs, watch for errors, and keep screenshots as proof. You get a bug report ranked by how serious each problem is.

androoAGI/starnet · 49 tokens

release-parity-test

Use before cutting a release, after a change to live reads, write tools or skills, or when the user asks to test the MCP against the web app. Runs the three-way parity test in test-matrix.md (cache mode vs live MCP vs app.copilot.money), including round-trip writes with throwaway test data in the user's Manual…

ignaciohermosillacornejo/copilot-money-mcp · 106 tokens

nexu-e2e-test

Use when verifying OpenClaw gateway fixes end-to-end, testing skill loading after restart, or running integration tests against the local Nexu+OpenClaw stack. Triggers on "e2e test", "verify fix", "test gateway", "test skills loading".

nexu-io/nexu · 63 tokens

mandu-testing

Testing patterns for Mandu applications. Use when writing unit tests, integration tests, or E2E tests. Triggers on test, spec, Bun test, Playwright, or testing tasks.

konamgil/mandu · 42 tokens