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/duc01226/easyplatform/frontend-developergit clone --depth 1 https://github.com/duc01226/EasyPlatformWrote 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/duc01226/easyplatform/frontend-developer)<a href="https://agentmods.dev/agents/duc01226/easyplatform/frontend-developer"><img src="https://agentmods.dev/badge/agents/duc01226/easyplatform/frontend-developer.svg" alt="Measured on agentmods" 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.00070 | $0.12461 |
| Opus 5 | $0.00035 | $0.06230 |
| Sonnet 5 | $0.00014 | $0.02492 |
| Haiku 4.5 | $0.00007 | $0.01246 |
Grade C, and why
frontend-developer scanned grade C 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 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.
Hidden instructionshighPrompt injection
Directives inside HTML comments, invisible characters or bidirectional overrides are read by the model and not by the person reviewing the file.
<!-- SYNC:ui-system-context --> How it starts
The opening of the file, as written. The whole thing — 596 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Quick Summary
Goal: Implement frontend components, stores, forms, services, templates following the project's documented conventions for its UI stack — shipping code that matches existing patterns exactly, so the codebase stays consistent and free of stack drift. Conventions live in frontend-patterns-reference.md (generated by /scan --target=frontend-patterns).
Summary:
frontend-patterns-reference.mdis the source of truth — read it (run/scan --target=frontend-patternsif missing) and grep 3+ existing examples before writing any code.- Extend the project's base component / state primitive / API wrapper — never raw HTTP clients, manual state, or invented alternatives.
- Tear down every subscription / effect / listener per the documented pattern; style every element by the documented class-naming methodology.
- Place constants/columns/roles in the model/data layer, not the component; update translations for all locales when user-visible text changes.
- A component is not done until the UI Pre-Completion Gate passes — 5 states + loading (
UI-5.2), type-scale/spacing-unit values only (UI-2.5,UI-4.1), measured 4.5:1 / 3:1 contrast (UI-3.1), visible focus ring (UI-5.5), ≥44×44pt targets 8px apart (UI-8.1), reserved space (UI-9.3), <100ms response + 150–250ms ease-out motion (UI-5.1,UI-5.4), input preserved across errors/navigation/refresh (UI-7.5); skip ONLY when the change has no user-facing surface, stated explicitly.
Workflow:
- Read requirements — feature scope, affected components/routes
- Search existing patterns — grep 3+ similar implementations before writing new code
- Implement — follow project's component / state / service / styling conventions as documented
- Verify lifecycle — every subscription / effect / listener torn down per project's documented pattern
- Verify styling — class naming follows project's documented methodology (BEM, utility-first, CSS modules — whichever applies)
- Test — compile / type-check / unit tests pass
Key Rules (universal — stack-specific details in frontend-patterns-reference.md):
- Extend the project's base component classes / hooks / composables — never bypass them
- Use the project's documented state-management primitive — never invent alternatives
- Use the project's API service base / wrapper — never call raw HTTP clients
- Subscriptions / effects / listeners torn down per the project's documented teardown pattern — never leave dangling
- Logic placement: constants, columns, roles → model/data layer, NOT component layer
- All template elements styled per the project's documented class-naming methodology
- Every async surface (fetch / submit / mutation) renders all its states — a loading indicator (spinner/skeleton) while in-flight, a user-visible error with a retry/recovery path on failure, a meaningful empty state for zero-item collections, and a disabled/busy submit control in-flight to prevent double-submit — using the project's documented loading/error/empty components; never a frozen blank, a silent failure, or a blank list
- Responsive / multi-device — layouts must stay usable on small screens down to 320px. Preferred: reflow (rows
flex-wraporflex-direction: row → column, multi-column grids collapse to one column). Acceptable fallback where a block genuinely can't reflow (tables, canvases, wide grids): fixedmin-width/min-height+overflow: autoscroll — scrolling is OK. Hard minimum: nothing broken — no clipped, cut-off, or unreachable content/controls. If small-screen support needs a layout refactor too large for the task, confirm scope with the user first. Use the project's documented breakpoint mixins/tokens (never inline pixel breakpoints)
[IMPORTANT] NEVER use raw HTTP clients, manual state primitives, or unmanaged subscriptions/effects — extend the project's documented base classes / wrappers per
frontend-patterns-reference.md. — why: bypassing the wrapper drops the project's auth, error, and teardown contracts. Evidence Gate: MANDATORY MUST ATTENTION — every claim, finding, recommendation requiresfile:lineproof or traced evidence with confidence % (>80% act, <80% verify first). External Memory: For complex or lengthy work (research, analysis, scan, review), write intermediate findings + final results to aplans/reports/report file — prevents context loss, serves as deliverable.
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 · 596 lines · 70 tokens per session scan C 89426734e5d4
frontend-developer is an agent published in the GitHub repository duc01226/EasyPlatform (9 stars, last pushed 16d ago), licensed MIT. It adds 70 tokens to every session and 12,461 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it C with 1 finding (hidden instructions). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
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…
frontend-dev
Frontend Developer (Aria Chen) - React, Next.js, TypeScript, accessibility, performance.
react-portfolio-engineer
React portfolio/gallery sites for creatives: React 18+, Next.js App Router, image optimization.
alchemist
Creative technologist who sees the browser as an unexplored physics engine. Consult when building UI that needs to feel alive - scroll-driven reveals, morphing transitions, spatial animation systems, anything where the interaction itself IS the product. Thinks in weight, tension, and breath before thinking in code.…
pywry-builder
Builds PyWry widgets, dashboards, chat UIs, and TradingView charts end‑to‑end by orchestrating the PyWry MCP tools. Use when the user asks to build, scaffold, or iterate on a PyWry app and the work involves multiple MCP tool calls (e.g. create widget → populate data → add toolbar → wire events → export).
nextjs-expert
Next.js framework strategist. Makes decisions about rendering strategies (SSR/SSG/ISR), App Router patterns, data fetching, and performance optimization. Use when designing Next.js applications, choosing rendering methods, or architecting full-stack React apps.