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 jamditis/claude-skills-journalism --skill web-design-pickergit clone --depth 1 https://github.com/jamditis/claude-skills-journalismWrote 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/jamditis/claude-skills-journalism/web-design-picker)<a href="https://agentmods.dev/skills/jamditis/claude-skills-journalism/web-design-picker"><img src="https://agentmods.dev/badge/skills/jamditis/claude-skills-journalism/web-design-picker/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/jamditis/claude-skills-journalism/web-design-picker"><img src="https://agentmods.dev/badge/skills/jamditis/claude-skills-journalism/web-design-picker.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
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 →
- medium Prompt Injection · line 190 Subtle instructions detected that may alter agent decision-making or introduce hidden biases.Fix: Review content for implicit steering or bias. Ensure instructions are explicit and align with the skill's stated purpose.
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.00028 | $0.02523 |
| Opus 5.5 | $0.00011 | $0.01009 |
| Sonnet 5.5 | $0.00006 | $0.00505 |
| Haiku 4.5 | $0.00003 | $0.00252 |
Grade B, and why
web-design-picker scanned grade B 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 13d 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.
Subtle steeringmediumPrompt injection
Instructions that bias recommendations or shape behaviour without the user noticing.
Follow [the QA and Cloudflare Drop checklist](references/qa-and-cloudflare-drop.md). Never tell the user a site has been deployed when only a ZIP was created. How it starts
The opening of the file, as written. The whole thing — 234 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Web design picker
Build a complete website-concept review package rather than isolated mockups. The default deliverable is three materially different, responsive website directions; a review shell that switches among them without losing the presentation context; a full-screen presentation mode; a searchable asset catalog with per-format, per-family, and download-all controls; two primary release archives; and supporting review, source, and full-handoff archives.
Requirements
Use Python 3.10 or newer. Build, validation, and packaging use the standard library. Scaffolding and favicon exports require Pillow and resvg-cli. Screenshots require Playwright and Chromium. Video exports require ffmpeg. Generated sites are framework-free static files.
When invoked for an actual website project, perform the work. Do not stop at a strategy document unless the user asks only for strategy.
Default output contract
Create:
- Three standalone direction source pages in
src/concepts/, built intodist/concepts/. - One generated review picker at
dist/index.html. - One generated asset catalog at
dist/design-assets.html. - Direction-specific logos, favicons, palettes, design tokens, and supporting graphic elements.
- Optimized client media when source video or animation is supplied.
- Desktop and mobile preview images when browser automation is available.
- A lean static deployment ZIP with
index.htmlat its root. - A separate complete design-assets handoff ZIP.
- A machine-readable and human-readable QA report.
Use scripts/web_design_picker.py as the unified command-line entry point for scaffolding, building, validating, browser-testing, and packaging. Read the workflow reference before beginning a full project.
Non-negotiable rules
- Build three distinct design theses, not one template with three palettes.
- Each direction must differ in information architecture, typography, spacing, geometry, media treatment, interaction, and emotional register.
- Keep each concept independently usable as a static page with its own title, viewport metadata, favicon, accessible navigation, and responsive layout.
- Use real supplied content and media as evidence. Do not invent capabilities, clients, metrics, certifications, software compatibility, or testimonials.
- Treat trademarks and product names accurately. Never imply an affiliation that does not exist.
- Do not use stock imagery merely to fill a composition. Prefer client assets, purposeful diagrams, custom vector elements, crops of real work, or restrained typography.
- Avoid generic AI-site styling. Apply the anti-slop guardrails and run
scripts/slop_lint.pybefore packaging. - Do not make a fake contact flow. A prototype form may download a structured brief or clearly state that submission is not connected. Production submission requires a real endpoint.
- Do not bundle font files for handoff unless the user owns redistribution rights. Prefer system fonts, licensed web delivery, or outlined logo artwork.
- Every direction and the review shell must include a favicon set.
- Preserve reduced-motion preferences and keyboard operation.
- Do not place a wrapper folder inside the Cloudflare Drop ZIP. The first archive entry must be
index.html. - Keep the deployment ZIP lean. Do not place the complete handoff ZIP inside it. The asset page should assemble ZIP downloads client-side from individual static files.
What ships with it
41 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.
- .claude-plugin/icon.png 13 KB
- .claude-plugin/plugin.json 279 B
- agents/openai.yaml 141 B
- assets/asset-page.html 7.6 KB
- assets/assets.schema.json 2.0 KB
- assets/concept-starter.html 3.7 KB
- assets/directions.schema.json 898 B
- assets/generic-favicon.svg 292 B
- assets/manifest.webmanifest 387 B
- assets/picker-shell.html 10 KB
- assets/project.schema.json 1.0 KB
- assets/robots.txt 26 B
- examples/prompts.md 1.4 KB
- README.md 2.9 KB
- references/accessibility.md 1.4 KB
- references/anti-slop-guardrails.md 3.2 KB
- references/asset-catalog-and-handoff.md 4.2 KB
- references/content-and-trust.md 1.9 KB
- references/direction-strategy.md 2.9 KB
- references/media-and-favicons.md 2.5 KB
- references/preview-picker.md 2.5 KB
- references/qa-and-cloudflare-drop.md 3.2 KB
- references/troubleshooting.md 2.0 KB
- references/workflow.md 4.1 KB
- requirements-optional.txt 54 B
- scripts/_common.py 11 KB runs code
- scripts/browser_qa.py 14 KB runs code
- scripts/build_picker.py 24 KB runs code
- scripts/check_distinctness.py 6.8 KB runs code
- scripts/make_asset_variants.py 4.0 KB runs code
- scripts/make_favicons.py 5.1 KB runs code
- scripts/make_palette.py 3.5 KB runs code
- scripts/new_project.py 17 KB runs code
- scripts/optimize_video.py 6.6 KB runs code
- scripts/package_delivery.py 10 KB runs code
- scripts/run_factory.py 4.9 KB runs code
- scripts/self_test.py 20 KB runs code
- scripts/slop_lint.py 6.0 KB runs code
- scripts/validate_site.py 22 KB runs code
- scripts/validate_skill.py 5.3 KB runs code
- scripts/web_design_picker.py 6.4 KB 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.
- 13d ago Changed · +2 lines 0e9fd299e76d
- 2mo ago First seen · 232 lines · 28 tokens per session scan B afc63b503b8f
web-design-picker is a skill published in the GitHub repository jamditis/claude-skills-journalism (448 stars, last pushed 2d ago), licensed MIT. It adds 28 tokens to every session and 2,523 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it B with 1 finding (subtle steering). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.
web-design-picker compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| web-design-pickerjamditis/claude-skills-journalism | Skill | 448 | 2d ago | MIT | B | 28 | Claude Code, Codex |
| huashu-designalchaincyf/huashu-design | Skill | 29k | 2d ago | MIT | A | 123 | Claude Code, Codex |
| image-to-codeplugin87/ux-ui-agent-skills | Skill | 3.1k | 10d ago | MIT | A | 77 | Claude Code |
| animation-patternsvibeeval/vibecosystem | Skill | 539 | 2d ago | MIT | A | 26 | Claude Code, Codex |
| shiny-bslib-themingposit-dev/skills | Skill | 554 | 4d ago | MIT | A | 87 | Claude Code |
| interaction-skillcode-yeongyu/oh-my-openagent | Skill | 71k | yesterday | none | A | 104 | Claude Code, Codex |
| design-loopjezweb/claude-skills | Skill | 1.1k | 28d ago | MIT | A | 130 | Claude Code |