Configures Claude Code hooks and Codex hooks.json/notify. Use when adding PreToolUse guards, Stop hooks, managed hooks, format-on-save, preflight, audits, or worktree/budget hooks.
日本語の概要は準備中です。原文の説明を表示しています。
Builds web frontend UI and rendering. Use when implementing components or fixing hydration, SSR, routing, or state; UX, accessibility, and performance audits have other owners.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Use this skill for production web frontend work across React, Next.js, Vue, Nuxt, Angular, Svelte, and adjacent tooling. It owns framework choice, frontend implementation patterns, hydration and SSR debugging, state and data-fetching patterns, and frontend release discipline.
| Task | Use |
|---|---|
| Full-stack React app | references/fullstack-patterns.md, assets/nextjs/template-nextjs-tailwind-shadcn.md |
| React SPA | references/vite-react-patterns.md, assets/vite-react/template-vite-react-ts.md |
| React Router or Remix | references/remix-react-patterns.md, assets/remix/template-remix-react.md |
| Vue or Nuxt | references/vue-nuxt-patterns.md, assets/vue-nuxt/template-nuxt4-tailwind.md |
| Angular | references/angular-patterns.md, assets/angular/template-angular21-standalone.md (post-scaffold checklist; use the installed CLI) |
| Svelte or SvelteKit | references/svelte-sveltekit-patterns.md, assets/svelte/template-sveltekit-runes.md |
| State, tests, performance, and gotchas | references/state-management-patterns.md, references/testing-frontend-patterns.md, references/performance-optimization.md, references/production-gotchas.md, references/operational-playbook.md |
window.ai built-in AI, WebLLM / transformers.js in-browser inference, cloud LLM streaming, with deterministic fallback when on-device unavailable): use ai-context-layer/references/conversational-surfaces-cross-platform.md.Check the installed React/react-dom and framework compatibility before adoption; the versions below are feature boundaries, not current-version pins.
Activity preserves hidden UI state while cleaning up its Effects; useEffectEvent reads props/state at invocation in Effect-triggered logic without changing the Effect's reactive dependencies. It is not a dependency-suppression trick. cacheSignal belongs to RSC cache lifetime/cancellation, not a client cache. See the release notes.ViewTransition animates transition updates; Fragment refs expose grouped DOM operations without an extra wrapper; use(browser()) from React/react-dom opts a browser-only component out of SSR through a Suspense fallback. Keep meaningful server HTML where possible. See the release notes.| Need | Framework | Notes |
|---|---|---|
| Full-stack React, SEO | Next.js | App Router; RSC for server components; see next in data/versions.json for the current major before pinning a minor |
| Route-centric progressive enhancement | React Router (framework mode, default) | Loader/action data contracts. For legacy Remix, check official migration/support guidance before choosing a new scaffold; do not assume another Remix lineage shares React Router framework APIs |
| Client-only React SPA | Vite + React | No SSR complexity |
| Vue full-stack | Nuxt | Auto-imports, server routes; Vapor mode (no virtual DOM) is opt-in, not the default, until Nuxt, Pinia and VueUse support is confirmed — check the vue entry in data/versions.json and vuejs.org/about/releases before citing a version |
| Angular app | Angular (current major, see @angular/core in data/versions.json) | Standalone components, signal-first, zoneless change detection; check angular.dev/reference/releases for the current major and LTS line, and angular.dev for zoneless defaults in that major, before pinning |
| Svelte-first | SvelteKit | Runes-based reactivity; see svelte in data/versions.json for the current major |
Pick the rendering model first (CSR / SSR / SSG / hybrid), then the framework. When two frameworks both fit, default to the one the team already runs in production — introducing a second framework has a real ongoing cost (build tooling, testing setup, hiring, mental context-switching) that rarely pays for itself on a single feature.
'use client' (or framework equivalent) as an opt-in cost, not a free escape hatch — push it as far down the tree as the interactivity actually requires, rather than marking whole route trees client-side because one child needs onClick.| Data kind | Default tool | Add this only when… |
|---|---|---|
| Server state (async, cached) | TanStack Query (or framework loaders when the router already provides them) | Use SWR only when the repo already standardizes on it |
| Global client state (shared across routes) | Zustand (Pinia in Vue) | Switch to Jotai only when state is genuinely atomic/granular, not just shared |
| Server-owned state in RSC apps | Server components + React cache | Client store is needed for interactive/optimistic UI only |
| URL-driven state (filters, pagination) | URL search params | Don't duplicate into a store |
Do not create new global state layers when local state or server-driven patterns are enough.
Enumerate every state the surface can actually reach and handle each deliberately. Loading, empty, error, and success are the baseline where applicable; add background refresh, partial, stale, permission-denied, recoverable, and terminal variants only when the data and authorization contracts can produce them. Mark inapplicable states explicitly during review. Preserve the user’s input and last safe rendered state across retries where appropriate.
Watch for:
If the bug smells like hydration, start with references/production-gotchas.md.
Minimum release gate:
tsc --noEmit or equivalent)Common AI-specific frontend failures:
Treat these as expected defects to check for, not rare edge cases. Before accepting AI-generated frontend code, verify it against the real codebase, not just its own internal plausibility: confirm every import resolves in package.json/lockfile, confirm the component/hook API used matches the installed version (not a newer or older one the model was trained on), and confirm styling and data-fetching match repo-local conventions rather than introducing a second competing pattern.
Default to one of these:
Source mapping lives in data/sources.json.
When prior decisions or pitfalls are relevant, consult learnings.consolidated.md if present; use learnings.md only for needed history or as the available fallback. Otherwise skip both.
After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Configures Claude Code hooks and Codex hooks.json/notify. Use when adding PreToolUse guards, Stop hooks, managed hooks, format-on-save, preflight, audits, or worktree/budget hooks.
日本語の概要は準備中です。原文の説明を表示しています。
Configures and hardens Claude Code and Codex MCP servers. Use when connecting databases, APIs, SaaS, building servers, or serving a clearance-filtered knowledge base.
日本語の概要は準備中です。原文の説明を表示しています。
Owns instruction files: AGENTS.md, CLAUDE.md, personal and repo rules. Use when writing, pruning, auditing them, sharing rules across Claude and Codex, or fixing ignored rules.
日本語の概要は準備中です。原文の説明を表示しています。
Creates and audits agent skills: SKILL.md, references, scripts, runtime metadata. Use when writing, validating, or security-reviewing a skill, or fixing truncated skill listings.
日本語の概要は準備中です。原文の説明を表示しています。
Adds per-skill learnings loops for dated patterns, mistakes, and domain facts. Use when wiring skill memory, consolidation, or drift audits.
日本語の概要は準備中です。原文の説明を表示しています。
Chooses subagent, team, workflow, or debate and launches it on Claude Code or Codex. Use when delegating, running agent review boards, or installing shared agents.
日本語の概要は準備中です。原文の説明を表示しています。