
fusion-app-react-dev
DEPRECATED — use fusion-developer-app instead. Guides feature development in Fusion Framework React apps.
- Installs
- 509
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/equinor/fusion-skills --skill fusion-app-react-dev- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads fusion-app-react-dev automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Deprecated — This skill has been renamed to
fusion-developer-app. Install the replacement:npx -y skills add equinor/fusion-skills --skill fusion-developer-appThis skill will be removed in a future release.
Fusion App Development
When to use
Use this skill when developing features, components, hooks, services, or types for a Fusion Framework React application.
Typical triggers:
- "Add a component for ..."
- "Create a hook that ..."
- "Wire up the API"
- "Build a page for ..."
- "Add a service to fetch ..."
- "Configure a Fusion module"
- "Which Fusion Framework hook should this app use?"
- "What is the right package or module for this app integration?"
- "Find the correct Fusion Framework example before implementing this app change"
- "Persist this preference as an app setting"
- "Add bookmark support for this view"
- "Read runtime config or environment variables"
- "Instrument this page with analytics"
- "Add a feature flag to this app"
- "How do I use the useFeature hook in a Fusion app?"
- "Implement a feature for ..."
Implicit triggers:
- The user asks to build something in
src/ - The user references Fusion Framework modules, EDS components, Fusion React components (
@equinor/fusion-react-*), or styled-components patterns - The user references app settings, bookmarks, analytics, or
app.config.ts - The user wants to add a new route, page, or data-fetching layer
When not to use
Do not use this skill for:
- Issue authoring or triage (use
fusion-issue-authoring) - Skill authoring (use
fusion-skill-authoring) - Backend/service changes (separate repository)
- CI/CD pipeline or deployment configuration
- Architecture documentation (use ADR template)
When the request is primarily about Fusion Framework package ownership, hook behavior, or example discovery rather than app implementation, use the companion skill fusion-research first and then return here for code changes.
Required inputs
Mandatory
- What to build: a clear description of the feature, component, hook, or service
- Where it fits: which layer (component, hook, service, type) and any parent/sibling context
If the user's request is ambiguous or missing critical details, consult assets/follow-up-questions.md for domain-specific clarifying questions before implementing.
Conditional
- API endpoint details when the feature involves data fetching
- Design/layout specifics when building visual components
- Fusion module name when extending module configuration
- Whether state should persist per-user, be shareable via bookmark, or stay runtime-only
Instructions
Step 1 — Discover project conventions
Before writing any code, inspect the target repository to learn its specific setup:
- Read
package.jsonto identify the package manager (bun/pnpm/npm), available scripts, and installed dependencies. - Read
tsconfig.jsonto confirm TypeScript settings and path aliases. - Scan
src/to understand the current directory layout and layer structure. - Check for ADRs (
docs/adr/) or acontribute/directory for project-specific code standards. - Check for formatter/linter config (biome.json, .eslintrc, prettier config).
- Read
app.config.tsandapp.manifest.tsto understand existing endpoint and environment setup. - If the implementation depends on uncertain Fusion Framework behavior, exact package ownership, or cookbook examples, delegate that research to
fusion-researchbefore writing code.
Adapt all subsequent steps to the conventions discovered here. The patterns in references/ are defaults — defer to project-specific rules when they differ.
Step 2 — Plan the implementation
If scaffolding a new app from scratch, use assets/new-app-checklist.md as a progress tracker.
- Break the work into discrete files/changes.
- Map each piece to the correct directory. A typical Fusion app uses:
src/components/— React components (presentation layer)src/hooks/— Custom React hooks (state and side-effect logic)src/api/— API clients, data transforms, business logicsrc/types/— TypeScript interfaces, type aliases, enumssrc/routes.ts— Route definitions (when using Fusion Router)src/config.ts— Fusion module configurationsrc/App.tsx— Root component, layout shell
- Identify shared types early — define them before referencing.
- If the project uses routing, follow
references/using-router.mdfor the DSL and page patterns. - If the project uses a different structure, follow it.
Step 3 — Implement following code conventions
Follow the project's code standards (discovered in Step 1). For all convention rules — naming, TSDoc, inline comments, type patterns, code style, and error handling — defer to the fusion-code-conventions skill.
When convention questions arise during implementation, invoke fusion-code-conventions directly. It routes to the correct language agent and returns the authoritative rule with an example.
Step 4 — Style with styled-components, EDS, and Fusion React components
Follow references/styled-components.md, references/styling-with-eds.md, and references/using-fusion-react-components.md:
- Use
styled-componentsfor custom styling — this is the Fusion ecosystem convention. - Do not introduce CSS Modules, global CSS files, Tailwind, or alternative CSS-in-JS unless the project explicitly uses them.
- Use the
Styledobject pattern for co-located styled components. - Prefer EDS components from
@equinor/eds-core-reactas the base for standard UI elements. - Use EDS design tokens (CSS custom properties or
@equinor/eds-tokens) for colors, spacing, and typography. - Extend EDS components with
styled()when customization is needed. - Use Fusion React components (
@equinor/fusion-react-*) for domain-specific needs not covered by EDS — person display/selection, Fusion side sheets, and progress indicators. - Inline
styleprops are acceptable for one-off tweaks only.
Step 5 — Wire up data fetching (when applicable)
Follow references/configure-services.md, references/using-react-query.md, and references/configure-mocking.md for data-fetching and local dev mocking patterns:
- Register HTTP clients via
configureHttpClientinconfig.tsor viaapp.config.tsendpoints. - Access clients in components with
useHttpClient(name)from@equinor/fusion-framework-react-app/http. - Always prefer
@equinor/fusion-framework-react-app/*hooks (useHttpClient,useCurrentContext, etc.) over direct module access. Reserveframework.modules.*for non-React contexts like route loaders. - When the project uses React Query (
@tanstack/react-query), create thin custom hook wrappers arounduseQuery. - Use query keys derived from API path + parameters.
- Keep client UI state in React state/context, not in server-state libraries.
Step 6 — Configure Fusion modules (when applicable)
Identify which module the user needs, then read only the matching reference:
| Need | Reference |
|---|---|
| HTTP clients / API integration | references/configure-services.md |
| Context module | references/using-context.md |
| Router and pages | references/using-router.md |
| AG Grid | references/using-ag-grid.md |
| EDS + Fusion React components | references/using-fusion-react-components.md |
| Settings | references/using-settings.md |
| Bookmarks | references/using-bookmarks.md |
| Analytics | references/using-analytics.md |
| Runtime config / environment | references/using-assets-and-environment.md |
| Feature flags | references/using-feature-flags.md |
| General framework modules | references/using-framework-modules.md |
- Add module setup in
config.tsusing theAppModuleInitiatorcallback. - Access modules in components via hooks:
useAppModule,useHttpClient,useCurrentContext. - Register HTTP client endpoints in
app.config.tswhen adding new API integrations. - Enable navigation with
enableNavigationinconfig.tswhen the app uses routing. - Define routes using the Fusion Router DSL (
layout,index,route,prefix) for automatic code splitting. - When the right framework API is unclear, use
fusion-researchto gather a source-backed answer before choosing an implementation pattern.
Step 7 — Validate
Use assets/review-checklist.md as a comprehensive post-generation checklist.
- Run the project's typecheck command (e.g.
bun run typecheckorpnpm typecheck) — zero errors required. - Run the project's lint/format check — zero violations.
- Verify every new exported symbol has TSDoc.
- Confirm styling follows the project's conventions.
- Confirm no new dependencies unless justified or explicitly approved.
Expected output
- New or modified source files in
src/following the project's layer structure. - All files pass typecheck and lint.
- Every exported function, component, hook, and type has TSDoc.
- Styling follows project conventions (typically styled-components + EDS + Fusion React components where applicable).
- A brief summary of what was created or changed and why.
Helper agents
This skill includes three optional helper agents in agents/. Use them for focused review after implementing changes, or consult them during implementation for specific guidance. If the runtime does not support skill-local agents, apply the same review criteria inline.
This skill also has a companion skill, fusion-research, for source-backed Fusion ecosystem research. Use it when implementation work is blocked by uncertainty about framework behavior, EDS component APIs, or skill catalog questions.
agents/framework.md— reviews Fusion Framework integration: module configuration, HTTP clients, bootstrap lifecycle, runtime config, settings, bookmarks, analytics, and hook usage. Prefersmcp_fusion_search_frameworkfor API lookups; falls back tomcp_fusion_search_docsfor general platform guidance. Consult when wiring upconfig.ts,app.config.ts, or any component that accesses framework modules.agents/styling.md— reviews EDS component selection, styled-components patterns, design token usage, and accessibility. Prefersmcp_fusion_search_edsfor component docs, props, and examples. Consult when building or modifying visual components.agents/code-quality.md— delegates convention checks (naming, TSDoc, TypeScript strictness, intent comments) tofusion-code-conventions, then aggregates findings in Fusion app context. Run on every new or modified file before finalizing.
Safety & constraints
- No new dependencies without explicit user approval.
- No direct DOM manipulation — use React patterns.
- No
anytypes — TypeScript strict mode is standard for Fusion apps. - No secrets or credentials in source files.
- Conventional commits for all changes (
feat:,fix:,refactor:, etc.). - Do not modify infrastructure files (docker-compose, CI config) unless explicitly asked.
FAQ
What does the fusion-app-react-dev skill do?
DEPRECATED — use fusion-developer-app instead. Guides feature development in Fusion Framework React apps.
How do I install fusion-app-react-dev?
Run npx skills add https://github.com/equinor/fusion-skills --skill fusion-app-react-dev in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/fusion-app-react-dev/ (personal) or .claude/skills/fusion-app-react-dev/ (project).
Which AI agents can use fusion-app-react-dev?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is fusion-app-react-dev safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains fusion-app-react-dev?
It is published by equinor in equinor/fusion-skills. It has 509 recorded installs.
More from equinor/fusion-skills
fusion-issue-authoring
equinor/fusion-skills
Classify issue type, activate the matching agent mode for type-specific drafting, and enforce shared safety gates before GitHub mutation.
fusion-github-review-resolution
equinor/fusion-skills
Resolves unresolved GitHub PR review threads end-to-end: evaluates whether each review comment is correct, applies a targeted fix when valid, replies with rationale when not, commits, and resolves the thread. USE FOR: unresolved review threads, PR review feedback, changes requested PRs, PR review URLs (pullrequestreview-...), fix the review comments, close the open threads, address PR feedback. DO NOT USE FOR: summarizing feedback without code changes, creating new PRs, or read-only branches.
fusion-issue-solving
equinor/fusion-skills
Handles GitHub issue resolution end-to-end for prompts like "solve 123", "lets solve 123", "work on 123", "work on https://github.com/owner/repo/issues/123", or by pasting a direct GitHub issue URL as the request. USE FOR: solve 123, continue work on issue 123, work on https://github.com/owner/repo/issues/123, paste a GitHub issue URL for implementation work. DO NOT USE FOR: issue drafting only, PR review only, or non-implementation research.
fusion-code-conventions
equinor/fusion-skills
Applies and explains code conventions across TypeScript, React, C, and Markdown. Enforces naming rules, file naming patterns, TSDoc and XML doc standards, inline comment intent (the why, not the what), code structure, error handling, async patterns, and dead code policy. Also enforces ADR and contributor doc decisions, and flags decisions that appear stale or misaligned with current tooling. USE FOR: convention questions, code review against project standards, applying naming rules, auditing intent comments, checking TSDoc completeness, enforcing recorded ADR decisions, and flagging stale architectural decisions. DO NOT USE FOR: security vulnerability scanning, performance profiling, runtime debugging, or generating net-new code without a review target.
fusion-dependency-review
equinor/fusion-skills
Review dependency PRs with structured research, existing-PR-discussion capture, multi-lens analysis (security, code quality, impact), and a repeatable verdict template. USE FOR: dependency update PRs, Renovate/Dependabot PRs, library upgrade reviews, "review this dependency PR", "should we merge this update". DO NOT USE FOR: feature PRs, application code reviews, dependency automation/bot configuration, or unattended merge without confirmation.
fusion-mcp
equinor/fusion-skills
Explain what Fusion MCP is and guide users through setting it up when they need Fusion-aware MCP capabilities in Copilot workflows.
Popular frontend & design skills
setup-matt-pocock-skills
mattpocock/skills
Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
frontend-design
anthropics/skills
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
hyperframes-animation
heygen-com/hyperframes
All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.
prototype
mattpocock/skills
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
hyperframes-core
heygen-com/hyperframes
The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.
vercel-react-best-practices
vercel-labs/agent-skills
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.