develop-frontend

develop-frontend is a skill for Claude Code, Codex from SII-Holos/synergy. It costs 61 tokens per session (2,910 once invoked), scanned A, original, MIT.

A workflow for building or reviewing Synergy’s web and shared user-interface code. It covers screens, components, state, navigation, settings, accessibility, themes, API calls, events, and streaming data.

In plain words
What is it for?
Use it for changes to packages/app or packages/ui, including components, stores, dialogs, workbench surfaces, frontend API calls, event synchronization, and product interactions.
Why use it?
It helps keep frontend state, server data, loading and error handling, permissions, and responsive behavior consistent. It also explains when to use generated API clients versus browser-specific transports such as WebSockets or file downloads.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/sii-holos/synergy/develop-frontend
Any agent
npx skills add SII-Holos/synergy --skill develop-frontend
Clone the repo
git clone --depth 1 https://github.com/SII-Holos/synergy

Made for: Claude Code, Codex.

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

README.md
[![agentmods](https://agentmods.dev/badge/skills/sii-holos/synergy/develop-frontend.svg)](https://agentmods.dev/skills/sii-holos/synergy/develop-frontend)
Your own site
<a href="https://agentmods.dev/skills/sii-holos/synergy/develop-frontend"><img src="https://agentmods.dev/badge/skills/sii-holos/synergy/develop-frontend.svg" alt="Measured on agentmods" height="20"></a>
Per session 61 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,910 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00061 $0.02910
Opus 5 $0.00030 $0.01455
Sonnet 5 $0.00012 $0.00582
Haiku 4.5 $0.00006 $0.00291

Measured 4d ago against content hash 0a217a970826, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

develop-frontend 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 4d 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.

.synergy/skill/develop-frontend/SKILL.md · 129 lines

How it starts

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

Develop the Frontend

Read the Contracts

  1. Read packages/app/AGENTS.md and Web product contract.
  2. Read Frontend data sync for contexts, snapshots, events, streaming, composer intent, or loaded buckets.
  3. Read Browser runtime for Browser UI or Desktop/Web presentation changes.
  4. Load change-server-api when the UI needs a new or changed server contract; load add-tool for tool-card presentation.

Preserve State and API Ownership

  1. Use stores for coherent keyed collections and signals for independent scalar state.
  2. Apply entity updates with targeted setters and reconcile; do not replace a whole stored object for a one-field event.
  3. Keep derived values one-way. Preserve composer resolution as explicit draft → session default → fallback; only explicit user choices persist upward.
  4. Use generated SDK methods for ordinary internal HTTP routes. Keep raw browser transports only for WebSocket/EventSource/WebRTC, external URLs, platform fetch injection, and browser file/blob/download flows that the SDK should not represent.
  5. Preserve Scope/directory parameters, authentication, error semantics, asset URLs, event seq/epoch, replay, and loading/error states.
  6. For append-only LLM streams, keep the full snapshot as recovery state while imperative renderers track an offset and consume only the appended suffix through the dependency's typed live-update API. Do not rescan the accumulated prefix or insert an independent character-rate playback backlog; reset from a checkpoint only when the append invariant breaks. Derive terminal presentation from explicit part or message lifecycle markers, not coarse session status or the presence of a later timeline part. Key imperative terminal transitions and enhancements by content identity so unrelated sibling updates cannot restart them.
  7. Do not key the whole turn or message-role boundary by object identity: message.updated events land as fresh objects on every update, so a keyed Show/Match destroys and rebuilds the entire turn (tool-card expansion, scroll, and Markdown state included) several times per reply. Keep those boundaries non-keyed responsive updates, and instead isolate failures inside Part with an identity snapshot: capture session/message/part/type before child evaluation, render the ErrorBoundary fallback from that snapshot only, and never re-read the failed child's live props. Log the original error with stable IDs only; exclude message content, tool payloads, and workspace paths. Cover this with a real Solid lifecycle test that proves a secondary stale read cannot escape the local boundary.
  8. Read session-shaped store fields through the session data view only: ui components use useData().view (partsFor/messagesFor/permissionsFor/statusFor/inboxFor/hasInboxBucket/todosFor/dagNodesFor/questionsFor/cortexTasks/sessions/sessionFor), app components use useSessionDataView(). Do not read data.store.part/permission/... or sync.data.<field>[sessionID] directly in render code — session switches race store intermediate states (missing buckets, released scope stores) and createMemo defaults stop applying after first compute, so a direct read can surface undefined and crash with a rotating set of TypeErrors. The view accessors apply their empty fallback inside the function body. Missing array buckets must resolve to the shared constants in packages/ui/src/context/session-data-view.ts (EMPTY_PARTS, EMPTY_MESSAGES, …) — never a fresh array literal, because the render chain's same() equality guards short-circuit on reference identity and a fresh literal would invalidate every downstream memo on each store tick. hasInboxBucket is the only accessor that reports bucket presence: use it to preserve an "not loaded yet" gate when undefined semantics matter (e.g. inbox loading state).
  9. Callback parameters are accessors or raw values depending on the control: non-keyed <Show> and <Index> pass an accessor — call it (param()) before rendering or passing it into i18n values, formatters, or attributes — while <Show keyed> and <For> pass the raw value itself. Passing an accessor uncalled renders its minified source (the crash-page footer once displayed Version: () => { if (!untrack(condition)) … }), and calling a keyed <Show> or For parameter fails typechecking. Prefer the non-callback form reading the source signal directly when no narrowing is needed.

Read the full file on GitHub · 129 lines

Files

What ships with it

1 file 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.

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. 4d ago First seen · 129 lines · 61 tokens per session scan A 0a217a970826

Subscribe to this mod's changes

develop-frontend is a skill published in the GitHub repository SII-Holos/synergy (548 stars, last pushed today), licensed MIT. It adds 61 tokens to every session and 2,910 once invoked, about $0.0003 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.

Related

Other skills, from other repositories

material-ui-tailwind

Integrates Material UI with Tailwind CSS v4 using cascade layers (enableCssLayer, @layer order) and documents Tailwind v3 interoperability (preflight, important, injectFirst, portals). Use when combining MUI with Tailwind utilities, slotProps className, or theme token bridges.

mui/material-ui · 67 tokens

hallmark

Anti-AI-slop design skill for greenfield pages, audits, redesigns, and design extraction from URLs or screenshots. Use when the user asks to build a new app or landing page, wants to redesign something, invokes Hallmark by name, or uses audit/redesign/study.

Nutlope/hallmark · 61 tokens

read

Reads URLs and PDFs by fetching source content, defaulting to concise summaries for plain read requests and clean Markdown when asked to convert, save, quote, cite, or feed downstream work. Use when users ask in any language to read, fetch, check, summarize, quote, cite, convert, or save a URL or PDF. Not for local…

tw93/Waza · 78 tokens

accessibility

Consolidated accessibility skill entrypoint for WCAG 2.2, ARIA Authoring Practices, cognitive accessibility, Section 508, EN 301 549, design intent verification, and the Accessibility Planner workflow.

microsoft/hve-core · 47 tokens

desktop-principles

Desktop-specific UX principles - hover states, pointer precision, keyboard shortcuts, multi-window, focus management. Covers macOS, Windows, Linux, web desktop.

Jwuthri/Tracely-ai · 36 tokens

taiyi-ui-design

TaiyiForge 第 4 阶段 — UI/UX 契约,产出 UI-DESIGN.md。四端通用。.

Dong90/oh-my-taiyiforge · 35 tokens