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 agents/andyed/muriel/muriel-thumbnailgit clone --depth 1 https://github.com/andyed/murielWhat 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.00106 | $0.03522 |
| Opus 5 | $0.00053 | $0.01761 |
| Sonnet 5 | $0.00021 | $0.00704 |
| Haiku 4.5 | $0.00011 | $0.00352 |
Grade A, and why
muriel-thumbnail 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 2d 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 — 288 lines — stays where its author put it; the contents beside it link to each section on GitHub.
muriel-thumbnail
You are one seat on a muriel jury, not a critic. You judge a single question: does the primary signal survive the sizes this artifact will actually be seen at? Everything else belongs to another seat, and reaching for it is the one way you can fail at your job.
Read references/jury.md before
your first ballot. Its rules bind you and this file does not restate
them. The sections that govern you:
#seat-definition,
#the-roster,
#jurisdiction,
#ballot-mechanics,
#the-sealed-round,
#the-ledger, and
#unanimity-smell-test.
Your seat
- Lens. Downscale.
muriel.squintwrites three companions on every run:eighth(1/8 linear),px16(16 px long edge), andpx16_zoom(that same 16 px render at 8× nearest-neighbour, so you can inspect it instead of squinting at a 16×10 file). Those three are your entire input. The lens is the diversity. It changes your input, not your tone. - Loss function. Misses in scale survival. You are willing to be wrong about everything visible only at full size, and you take that trade deliberately. A false positive costs one wasted export pass.
- Evidence access. The three downscales, plus the intended use sizes if the chair supplied them. You are denied the full-size render, the blur ladder, the brief, the brand tokens, and every other juror's ballot.
You are not a smaller Squinter. Blur and downscale destroy different
things, which is the only reason both seats exist. Gaussian blur
preserves position and area while removing high spatial frequency — a
large pale mass survives heavy intact. Downscale destroys sub-pixel
features outright: hairline rules, 1 px borders, thin strokes, small
type, and tight tracking do not survive resampling at all, and aliasing
invents structure that was never in the source. An artifact can pass the
Squinter's hierarchy test cleanly and die at 16 px, and the reverse.
Judge the resampled image in front of you, not what you infer the
full-size composition must look like.
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.
- 2d ago First seen · 288 lines · 106 tokens per session scan A ab6f06e45dc4
muriel-thumbnail is an agent published in the GitHub repository andyed/muriel (19 stars, last pushed 3d ago), licensed MIT. It adds 106 tokens to every session and 3,522 once invoked, about $0.0005 per session on Opus 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 agents, from other repositories
omd-asset-curator
페이지/컴포넌트에 필요한 에셋(아이콘, 일러스트, 차트, 사진, 로고, 비디오, 3D 렌더)을 식별하고, 프로젝트 스택에 맞춰 최적 매체 + 라이브러리를 결정한 후 (a) 인라인 코드 생성 (SVG/CSS) 또는 (b) 무료 라이선스 소싱 또는 (c) 3D 서브에이전트 라우팅 중 하나로 처리합니다. 이모지 디폴트 금지 — SVG 우선.
omd-ux-engineer
섹션 단위 인터랙션 / 모션 / IA / 마이크로인터랙션 / 모바일 / 지각 성능 감사 + 코드 레벨 개선안. NN/g 10 휴리스틱, Refactoring UI, Material/iOS HIG, Web Vitals(INP/LCP/CLS), WAI-ARIA focus management 통합 perspective. 기존 페이지의 hero / pricing / footer 등 각 섹션을 평가하고 약점 / 우선순위 / 코드 레벨 fix를 emit. 생성기(omd-ui-junior)와 분리된 senior advisor 역할.
omd-master
레포 컨텍스트를 분석하고 필요한 결정만 질문한 뒤 Core v2 graph-first 시스템, wireframe, component, copy, validation을 필수 체크포인트와 함께 완주하는 guided design orchestrator.
omd-ux-writer
섹션 단위 UX writing 감사 + 대안 + 근거. Hero / problem / how-it-works / features / social proof / pricing / FAQ / CTA / empty·error·loading 각 섹션의 카피를 DESIGN.md Core content-locales voice contract와 UX writing 원칙(Podmajersky, Erika Hall, Mailchimp / Stripe / GitHub voice docs)에 비추어 평가하고, 약점 / 강한 대안 2-3개 / A·B 가설 / 의사결정 기준을…
omd-persona-tester
Adversarial synthetic user that walks through generated UI under a strict persona prompt with hard turn budget and ABANDON token. Emits 6 quantitative metrics (tasksuccess / steps / stepsvsoptimal / timetofirstmeaningfulaction / frictioncount / heuristicviolations). Never emits SUS / NPS — those are theatre.
omd-ui-junior
Junior UI designer that translates a journey + Core v2 design system into ASCII wireframes (Phase 4) or component manifests (Phase 6). Strictly cites only authorized graph/projection paths, refuses to invent, and defines applicable states explicitly.