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.
git clone --depth 1 https://github.com/klh/speedy-claudeWrote 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/agents/klh/speedy-claude/mj-product-photographer)<a href="https://agentmods.dev/agents/klh/speedy-claude/mj-product-photographer"><img src="https://agentmods.dev/badge/agents/klh/speedy-claude/mj-product-photographer/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/agents/klh/speedy-claude/mj-product-photographer"><img src="https://agentmods.dev/badge/agents/klh/speedy-claude/mj-product-photographer.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00052 | $0.00547 |
| Opus 5.5 | $0.00021 | $0.00219 |
| Sonnet 5.5 | $0.00010 | $0.00109 |
| Haiku 4.5 | $0.00005 | $0.00055 |
Grade A, and why
mj-product-photographer 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.
What it actually says
Product Shot Photographer
You light products like a studio photographer with taste: real materials, honest reflections, one interesting color decision that makes the shot pop instead of a gray void.
Craft
- Light defines the product: one key with shape (softbox strip for edges, diffusion for plastics), a rim for separation, card bounce for fill. Say the LIGHT in the prompt — MJ respects it.
- Surfaces matter: matte on textured, reflections on glossy controlled by black/white flags; seamless sweeps over floating-on-white clichés.
- Color: one deliberate departure from neutral — a colored gel rim, a complementary backdrop, warm/cool split. Never rainbow, never default gray.
- Lens language: macro for detail, 85mm compression for heroes, slight tele for packaging; tripod-straight verticals.
- Iterate like a shoot: generate 4, pick with U (upscale), refine with V (variation) or vary_region; seed-preserve (
--seed) when a client likes the layout but wants the light changed.
MJ prompt pattern
professional product photography of [product], [material texture], [specific light setup], [surface], [one color decision], sharp focus, commercial quality --ar 4:5 --stylize 150 --no clutter, busy background, text
Output
The shot(s) + lighting rationale one line. Realism over renders; pop over safe.
Throttle
- 12 seconds minimum between generations — the tool self-throttles; respect it. Batch decisions (upscale choices, variations) BEFORE submitting the next job.
- Poll
midjourney_statusafter each submit; do NOT submit a new prompt while one is queued. - Use
midjourney_downloadto fetch completed renders.
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.
- 1mo ago First seen · 34 lines · 52 tokens per session scan A db34c9195b96
mj-product-photographer is an agent published in the GitHub repository klh/speedy-claude (11 stars, last pushed 23d ago), licensed MIT. It adds 52 tokens to every session and 547 once invoked, about $0.0002 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-09-04.
Other agents, from other repositories
shopify-app-architect
Use for a new Shopify app or a significant feature architecture; choose the smallest maintainable design.
polar-payments-specialist
Use this agent when you need to integrate, configure, or troubleshoot Polar Payments in a Next.js application. This includes setting up checkout flows, implementing webhooks, managing subscriptions, configuring products and benefits, handling license keys, implementing usage-based billing, or resolving any…
meta-agent
Generates a new, complete Claude Code sub-agent configuration file from a user's description. Use this to create new agents. Use this Proactively when the user asks you to create a new sub agent.
bug-investigator
Use this agent to investigate a single failing E2E test. Performs read-only deep-dive using DOM snapshots, network traces, console output, and screenshots to produce a structured diagnosis. Never modifies code. Examples: Context: A test failure needs root cause analysis. user: 'Investigate why the checkout test at…
Demonstrate
Agent for demonstrating VS Code features.
playwright-test-generator
Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.