skills/fusion-developer-app/SKILL.md
Guides feature development in Fusion Framework React apps, including app-scoped framework research needed to choose the right hooks, modules, packages, and integration patterns before implementation. USE FOR: building new features, adding components or pages, creating hooks and services, wiring up API endpoints, extending Fusion module configuration, and answering app implementation questions about which Fusion Framework surface to use. DO NOT USE FOR: issue authoring, skill authoring, CI/CD configuration, backend service changes, or general Fusion documentation that is not tied to app implementation.
npx skillsauth add equinor/fusion-skills fusion-developer-appInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when developing features, components, hooks, services, or types for a Fusion Framework React application.
Typical triggers:
Implicit triggers:
src/@equinor/fusion-react-*, or styled-componentsapp.config.ts@equinor/fusion-framework-react-ag-charts, chart.js, react-chartjs-2Do not use this skill for:
fusion-issue-authoringfusion-skill-authoringFor Fusion Framework package ownership, hook behavior, or example discovery → use fusion-research first.
For ambiguous requests, consult assets/follow-up-questions.md before implementing.
Inspect target repo before writing code:
package.json — package manager (bun/pnpm/npm), scripts, dependencies.tsconfig.json — TypeScript settings, path aliases.src/ — directory layout, layer structure.docs/adr/ or contribute/ for project-specific code standards.biome.json, .eslintrc, prettier).app.config.ts and app.manifest.ts — endpoints, environment setup.fusion-research before writing code.Adapt to discovered conventions. references/ patterns are defaults — defer to project-specific rules when they differ.
New app from scratch → use assets/new-app-checklist.md.
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 shellreferences/using-router.md for DSL + page patterns.Follow project code standards from Step 1. For naming, TSDoc, inline comments, type patterns, code style, error handling → defer to fusion-code-conventions.
For convention questions during implementation, invoke fusion-code-conventions directly.
Follow references/styled-components.md, references/styling-with-eds.md, references/using-fusion-react-components.md:
styled-components for custom styling (Fusion convention).Styled object pattern for co-located styled components.@equinor/eds-core-react) for standard UI.@equinor/eds-tokens) for colors, spacing, typography.styled() for customization.@equinor/fusion-react-* for domain needs not in EDS (person display/selection, side sheets, progress).style props: one-off tweaks only.agents/design.md. For component-level EDS styling, invoke agents/styling.md.Follow references/configure-services.md, references/using-react-query.md, references/configure-mocking.md:
configureHttpClient in config.ts or app.config.ts.useHttpClient(name) from @equinor/fusion-framework-react-app/http.@equinor/fusion-framework-react-app/* hooks over direct module access. Reserve framework.modules.* for non-React contexts.useQuery in thin custom hooks.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 |
| AG Charts (standalone) | references/using-ag-charts.md |
| AG Grid integrated charts | references/using-ag-grid-charts.md |
| EDS + Fusion React components | references/using-fusion-react-components.md |
| People service (search, display, pick) | references/using-people-service.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 |
| Custom module authoring | references/using-custom-modules.md |
config.ts via AppModuleInitiator callback.useAppModule, useHttpClient, useCurrentContext.app.config.ts for new API integrations.enableNavigation in config.ts when app uses routing.layout, index, route, prefix) for auto code splitting.fusion-research before choosing implementation pattern.Use assets/review-checklist.md as post-generation checklist.
bun run typecheck or pnpm typecheck) — zero errors.src/ files following project layer structure.Optional helpers in agents/. Use for focused review or mid-implementation guidance. Runtimes without skill-local agents apply criteria inline.
Companion skill: fusion-research for source-backed Fusion ecosystem research when implementation is blocked by uncertainty.
agents/framework.md — Fusion Framework integration: modules, HTTP clients, bootstrap, runtime config, settings, bookmarks, analytics. Prefers mcp_fusion_search_framework; falls back to mcp_fusion_search_docs. Consult when wiring config.ts, app.config.ts, or framework module access.agents/styling.md — EDS component selection, styled-components, design tokens, accessibility. Prefers mcp_fusion_search_eds. Consult when building/modifying visual components.agents/design.md — page/view structure: Fusion Portal shell composition, layout zones, side panel usage, empty/loading state patterns. References equinor-design-system for layout ground truth. Delegates component-level checks to agents/styling.md. Consult when scaffolding new pages or layout wrappers.agents/data-display.md — AG Grid vs AG Charts, module setup, column defs, chart options, integrated charting. Prefers mcp_fusion_search_framework. Consult for grids, charts, dashboards. Use assets/charts-decision-matrix.md for library selection.agents/person-components.md — @equinor/fusion-react-person: PersonAvatar, PersonCard, PersonListItem, PersonPicker, PeoplePicker, PeopleViewer, PersonCell (AG Grid). DOM event pattern, valueGetter setup, pitfalls. Consult for any person display, search, or selection UI.agents/code-quality.md — delegates convention checks (naming, TSDoc, TS strictness, intent comments) to fusion-code-conventions, aggregates findings. Run on every new/modified file before finalizing.any types — TypeScript strict mode standard.feat:, fix:, refactor:, etc.).tools
Use Fusion DevTools CLI (fdev) for API testing, token acquisition, service discovery, and person lookup during development. USE FOR: calling Fusion REST APIs, getting access tokens as JSON, discovering services and environments, resolving persons, PIM role activation. DO NOT USE FOR: modifying backend service code, deploying services, infrastructure changes, CI/CD pipeline configuration, or Service Bus operations.
testing
Main Copilot skill gate for the Fusion ecosystem — cross-domain router. USE FOR: routing between different Fusion domains (skills, issues, PRs, reviews) when the right domain skill is unclear; getting install guidance for missing skills. DO NOT USE FOR: skill lifecycle operations (use fusion-skills directly), tasks where a specific Fusion skill is already active.
tools
Entrypoint for all Fusion skill lifecycle operations. USE FOR: finding, installing, updating, syncing, or greenkeeping skills; setting up skill automation; creating or authoring a new skill; reporting a bug with a skill. DO NOT USE FOR: resolving GitHub issues, reviewing PRs, planning task breakdowns, or authoring GitHub issues — those are handled by other Fusion skills.
tools
Creates or modernizes repository skills with clear activation cues, purposeful support files, and practical review loops. USE FOR: creating a new skill, tightening an existing skill, improving discovery wording, and structuring references/assets/optional helper agents when they genuinely add value. DO NOT USE FOR: product-code changes, routine copy edits outside skills/, or documentation that should not become an installable skill.