frontend-developer

frontend-developer is an agent for Claude Code from MadAppGang/magus. It costs 60 tokens per session (3,495 once invoked), scanned A, original, MIT.

A frontend development agent for building and revising React components within an existing design system. It puts components in a shared library and creates Storybook stories, which are saved examples of component states.

In plain words
What is it for?
Use it to add or rework React components, create variants for states such as hover and focus, and assemble them into screens.
Why use it?
It keeps reusable UI code and its documented states together instead of scattering one-off components through screens and pages.

Agent for Claude Code

Written for Claude Code: ${CLAUDE_PLUGIN_ROOT} variable.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the dev plugin — 19 skills, 15 commands, 12 agents shipped together

Good fit Use it to add or rework React components, create variants for states such as hover and focus, and assemble them into screens.

Compare 6 agents from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add MadAppGang/magus
Claude Code
/plugin install dev

Made for: Claude Code.

Or install dev, the plugin that ships this one along with the rest of its 19 skills, 15 commands, 12 agents.

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 frontend-developer

README.md
[![agentmods](https://agentmods.dev/badge/agents/madappgang/magus/frontend-developer/github.svg)](https://agentmods.dev/agents/madappgang/magus/frontend-developer)
Your own site
<a href="https://agentmods.dev/agents/madappgang/magus/frontend-developer"><img src="https://agentmods.dev/badge/agents/madappgang/magus/frontend-developer/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 frontend-developer

Your own site · 80×15
<a href="https://agentmods.dev/agents/madappgang/magus/frontend-developer"><img src="https://agentmods.dev/badge/agents/madappgang/magus/frontend-developer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 60 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,495 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.00060 $0.03495
Opus 5.5 $0.00024 $0.01398
Sonnet 5.5 $0.00012 $0.00699
Haiku 4.5 $0.00006 $0.00349

Measured 3d ago against content hash 7f6fcdbe1f4d, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

frontend-developer 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 3d 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.

plugins/dev/agents/frontend-developer.md · 301 lines

How it starts

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

<when_to_delegate> Delegate UI implementation here rather than writing it inline. The agent holds the discover → library → story → compose → audit loop until the design-system auditor is clean, which is hard to sustain in a conversation.

  • "Add a pricing card to the marketing page" → discover in the library, add the variant or recipe with its story, compose it on the page.
  • "Rework the settings form to match the new design" → states become variants, every state gets a story, the screen only composes.

For a one-token tweak inside an existing library component, just make the edit. </when_to_delegate>

<component_contract> These five rules are the contract. Each is verified before "done", and a report with an open violation is not done. dev:design-system-guardrails is preloaded and carries the rationale, the decision tree and the reference material; this block is the enforcement summary, not a restatement.

  1. Every component lives in the component library and has a Storybook story. Never inside a screen, page or feature folder. A component without a story does not exist: the story is part of definition of done.
  2. Every state is a story. Hover, focus, disabled, loading, invalid, empty — each is a variant or state prop encoded once inside the component, and each has its own story. States are never styled at a call site.
  3. Screens compose library components only. No custom component and no custom styling per page or screen. Styled raw HTML in app code is a duplicate component in disguise; a genuine one-off is a named *.snowflake.* file, composed from tokens and library parts, and is reported as such.
  4. Tokens are the only styling values. No hex, no rgb()/hsl()/oklch() literals, no magic pixel values, no Tailwind arbitrary values. A missing value is a token added to the theme first, then used — never inlined "just once".
  5. Discover before building. Search the component library and Storybook before creating anything. A missing component or state is added to the library with its story, then used. Duplication is a discovery failure.

If a design genuinely cannot be expressed in tokens, say so and propose the token. Never ship an arbitrary value as a workaround, and never change the theme when that is out of scope: leave the change unapplied and name it under Status. </component_contract>

```
COMPONENT:      <path to create or modify>            required
LIBRARY:        <component library dir or package>    required if not discoverable
THEME:          <theme / tokens file>                  required if not discoverable
SESSION_PATH:   <dir holding context.json>             optional
SCREENSHOTS:    <one or more image paths>              optional
REFERENCE:      <reference design image path>          optional
```

Discoverable means one Glob finds it: `src/components/ui`, `packages/*/src/components`,
a `@theme` block, `tokens.css`, `theme.ts`, or a Storybook config naming the stories
root. Search first; ask for nothing.

**BLOCKED** — return the completion message with Status `Blocked` and no file written
— when the component path is absent, or when neither the library nor the theme can be
found after the search above. Building a component with no library to put it in
produces exactly the drift this agent exists to prevent. Name the input that was
missing and the paths you searched.

Read the full file on GitHub · 301 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. 3d ago Changed · +1 lines 7f6fcdbe1f4d
  2. 1mo ago First seen · 300 lines · 60 tokens per session scan A 914eef0ad30f

Subscribe to this mod's changes

frontend-developer is an agent published in the GitHub repository MadAppGang/magus (13 stars, last pushed today), licensed MIT. It adds 60 tokens to every session and 3,495 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-15.

Related

Other agents, from other repositories

react18-class-surgeon

Class component migration specialist for React 16/17 → 18.3.1. Migrates all three unsafe lifecycle methods with correct semantic replacements (not just UNSAFE prefix). Migrates legacy context to createContext, string refs to React.createRef(), findDOMNode to direct refs, and ReactDOM.render to createRoot. Uses memory…

github/awesome-copilot · 81 tokens

genpage-edit-planner

Plans edits to an existing generative page. Reads the downloaded page artifacts (source, original prompt, config), analyzes the current implementation against the user's edit intent, and returns a proposed edit plan for the orchestrator to present for approval. Writes genpage-edit-plan.md, for the orchestrator to…

microsoft/power-platform-skills · 92 tokens

confluence-searcher

Searches Confluence and related tickets for product, architecture, rollout, and test-data context. Use when implementation or verification needs internal documentation without loading raw pages into main context.

HoangNguyen0403/agent-skills-standard · 40 tokens

react-portfolio-engineer

React portfolio/gallery sites for creatives: React 18+, Next.js App Router, image optimization.

notque/vexjoy-agent · 25 tokens

finding-verifier

Per-finding verification judge for the review pipeline — a FRESH context that receives exactly ONE candidate review finding and scores how real it is (confidence 0-100). Spawned in parallel by /review's synthesis step for findings only one ensemble pass raised. Utility agent (no author pair, read-only, never edits…

saeedkolivand/ai-job-hunter-app · 92 tokens

webgl-perf-profiler

Cross-cutting GL frame-rate profiler for apps/landing - measures the worst t-segment via a Chrome DevTools performance trace, then applies the landing degradation ladder IN ORDER, stopping at the first rung that passes. Has write access to apply rungs. GL frame-rate only - distinct from performance-profiler (desktop…

saeedkolivand/ai-job-hunter-app · 82 tokens