MCPInstall

fusion-developer-app

Guides feature development in Fusion Framework React apps, including app-scoped framework research, test authoring, and test-time mocking needed to choose and verify the right integration patterns. USE FOR: building features, components, pages, hooks, services, API integrations, module configuration, and their tests. DO NOT USE FOR: issue authoring, skill authoring, CI/CD configuration, backend service changes, or general Fusion documentation unrelated to app implementation.

Installs
1.1K
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-developer-app
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads fusion-developer-app automatically when relevant.

  3. 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.

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 / hook / service / page for ..."
  • "Wire up the API"
  • "Configure a Fusion module"
  • "Which Fusion Framework hook / package should this app use?"
  • "Persist this preference as an app setting"
  • "Add bookmark / analytics / feature flag support"
  • "Add a chart / people picker / person column to AG Grid"
  • "How do I write a custom Fusion Framework module?"
  • "Should this be a Fusion module or a React context?"
  • "Write tests for this Fusion component / hook / route"
  • "Mock auth, context, feature flags, or HTTP in this test"

Implicit triggers:

  • Building in src/
  • References Fusion Framework modules, EDS, @equinor/fusion-react-*, or styled-components
  • References app settings, bookmarks, analytics, app.config.ts
  • Adding route, page, or data-fetching layer
  • Adding or updating *.test.ts / *.test.tsx, vitest.config.ts, or Fusion test fixtures
  • References charting: @equinor/fusion-framework-react-ag-charts, chart.js, react-chartjs-2

When not to use

Do not use this skill for:

  • Issue authoring/triage → fusion-issue-authoring
  • Skill authoring → fusion-skill-authoring
  • Backend/service changes (separate repo)
  • CI/CD or deployment config
  • Architecture docs (use ADR template)

For Fusion Framework package ownership, hook behavior, or example discovery → use fusion-research first.

Required inputs

Mandatory

  • What to build: feature, component, hook, or service description
  • Where it fits: layer (component, hook, service, type) and parent/sibling context

For ambiguous requests, consult assets/follow-up-questions.md 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
  • Expected test layer: pure logic, hook, component, route, complete app, or module graph
  • External boundaries tests must seed: auth, context, services, feature flags, bookmarks, or HTTP

Instructions

Step 1 — Discover project conventions

Inspect target repo before writing code:

  1. Read package.json — package manager (bun/pnpm/npm), scripts, dependencies.
  2. Read tsconfig.json — TypeScript settings, path aliases.
  3. Scan src/ — directory layout, layer structure.
  4. Check docs/adr/ or contribute/ for project-specific code standards.
  5. Check formatter/linter config (biome.json, .eslintrc, prettier).
  6. Read app.config.ts and app.manifest.ts — endpoints, environment setup.
  7. Delegate uncertain Fusion Framework behavior, package ownership, or cookbook examples to fusion-research before writing code.

Adapt to discovered conventions. references/ patterns are defaults — defer to project-specific rules when they differ.

Step 2 — Plan the implementation

New app from scratch → use assets/new-app-checklist.md.

  1. Break into discrete files/changes.
  2. Map to correct directory. Typical Fusion app:
    • src/components/ — React components (presentation layer)
    • src/hooks/ — Custom React hooks (state and side-effect logic)
    • src/api/ — API clients, data transforms, business logic
    • src/types/ — TypeScript interfaces, type aliases, enums
    • src/routes.ts — Route definitions (when using Fusion Router)
    • src/config.ts — Fusion module configuration
    • src/App.tsx — Root component, layout shell
  3. Identify shared types early — define before referencing.
  4. Project uses routing → follow references/using-router.md for DSL + page patterns.
  5. Different structure → follow it.

Step 3 — Implement following code conventions

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.

Step 4 — Style with styled-components, EDS, and Fusion React components

Follow references/styled-components.md, references/styling-with-eds.md, references/using-fusion-react-components.md:

  • Use styled-components for custom styling (Fusion convention).
  • No CSS Modules, global CSS, Tailwind, or alternative CSS-in-JS unless project uses them.
  • Use Styled object pattern for co-located styled components.
  • Prefer EDS (@equinor/eds-core-react) for standard UI.
  • Use EDS design tokens (@equinor/eds-tokens) for colors, spacing, typography.
  • Extend EDS with styled() for customization.
  • Use @equinor/fusion-react-* for domain needs not in EDS (person display/selection, side sheets, progress).
  • Inline style props: one-off tweaks only.
  • For page/view structure (shell composition, layout zones, empty/loading states), invoke agents/design.md. For component-level EDS styling, invoke agents/styling.md.

Step 5 — Wire up data fetching (when applicable)

Follow references/configure-services.md, references/using-react-query.md, references/configure-mocking.md:

  • Register HTTP clients via configureHttpClient in config.ts or app.config.ts.
  • Access clients with useHttpClient(name) from @equinor/fusion-framework-react-app/http.
  • Prefer @equinor/fusion-framework-react-app/* hooks over direct module access. Reserve framework.modules.* for non-React contexts.
  • React Query: wrap useQuery in thin custom hooks.
  • Query keys: derived from API path + parameters.
  • Keep client UI state in React state/context, not server-state libs.

Step 6 — Configure Fusion modules (when applicable)

Identify which module the user needs, then read only the matching reference:

NeedReference
HTTP clients / API integrationreferences/configure-services.md
Context modulereferences/using-context.md
Router and pagesreferences/using-router.md
AG Gridreferences/using-ag-grid.md
AG Charts (standalone)references/using-ag-charts.md
AG Grid integrated chartsreferences/using-ag-grid-charts.md
EDS + Fusion React componentsreferences/using-fusion-react-components.md
People service (search, display, pick)references/using-people-service.md
Settingsreferences/using-settings.md
Bookmarksreferences/using-bookmarks.md
Analyticsreferences/using-analytics.md
Runtime config / environmentreferences/using-assets-and-environment.md
Feature flagsreferences/using-feature-flags.md
General framework modulesreferences/using-framework-modules.md
Custom module authoringreferences/using-custom-modules.md
  • Module setup in config.ts via AppModuleInitiator callback.
  • Access modules via hooks: useAppModule, useHttpClient, useCurrentContext.
  • Register HTTP endpoints in app.config.ts for new API integrations.
  • Enable navigation with enableNavigation in config.ts when app uses routing.
  • Define routes via Fusion Router DSL (layout, index, route, prefix) for auto code splitting.
  • Unclear framework API → use fusion-research before choosing implementation pattern.

Step 7 — Add or update tests

Follow references/testing.md. Use agents/testing.md for focused test creation, maintenance, and execution. It routes framework setup/rendering to fusion-framework-testing and module/HTTP state to fusion-framework-mocking.

Step 8 — Validate

Use assets/review-checklist.md as post-generation checklist.

  1. Run typecheck (bun run typecheck or pnpm typecheck) — zero errors.
  2. Run lint/format check — zero violations.
  3. Every new exported symbol has TSDoc.
  4. Styling follows project conventions.
  5. No new dependencies unless justified/approved.

Expected output

  • New/modified src/ files following project layer structure.
  • All files pass typecheck + lint.
  • Every exported function, component, hook, and type has TSDoc.
  • Styling follows project conventions.
  • Tests cover changed behavior using fusion-framework-testing; test-time Fusion state uses fusion-framework-mocking where needed.
  • Brief summary of what changed and why.

Helper agents

Optional helpers in agents/. Use for focused review or mid-implementation guidance. Runtimes without skill-local agents apply criteria inline.

Companion skills:

  • fusion-research for source-backed Fusion ecosystem research when implementation is blocked by uncertainty.

  • fusion-framework-testing for Fusion Framework React test setup, fixtures, rendering, and troubleshooting.

  • fusion-framework-mocking for deterministic module state and HTTP/OpenAPI boundaries in tests.

  • agents/testing.md — creates, maintains, and executes app tests; routes to testing/mocking companion skills. Use for changed behavior, test files, fixtures, config, or failures.

  • 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.

Safety & constraints

  • No new dependencies without explicit approval.
  • No direct DOM manipulation — use React patterns.
  • No any types — TypeScript strict mode standard.
  • No secrets or credentials in source files.
  • Conventional commits (feat:, fix:, refactor:, etc.).
  • No infrastructure files (docker-compose, CI config) unless explicitly asked.

FAQ

What does the fusion-developer-app skill do?

Guides feature development in Fusion Framework React apps, including app-scoped framework research, test authoring, and test-time mocking needed to choose and verify the right integration patterns. USE FOR: building features, components, pages, hooks, services, API integrations, module configuration, and their tests. DO NOT USE FOR: issue authoring, skill authoring, CI/CD configuration, backend service changes, or general Fusion documentation unrelated to app implementation.

How do I install fusion-developer-app?

Run npx skills add https://github.com/equinor/fusion-skills --skill fusion-developer-app 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-developer-app/ (personal) or .claude/skills/fusion-developer-app/ (project).

Which AI agents can use fusion-developer-app?

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-developer-app 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-developer-app?

It is published by equinor in equinor/fusion-skills. It has 1,125 recorded installs.

More from equinor/fusion-skills

View all →

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.

2.8K installs

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.

AI & Agents2K installs

Popular testing & qa skills

View category →

tdd

mattpocock/skills

Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.

Testing & QA1.2M installs

grilling

mattpocock/skills

Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.

Testing & QA996.2K installs

migrate-to-shoehorn

mattpocock/skills

Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.

Testing & QA484.1K installs

run-train

lllllllama/rigorpilot-skills

Rigor Train skill for deep learning research repositories. Use when a documented or selected training command should be run conservatively for startup verification, short-run verification, full kickoff, or resume, with command, config, seed, log, checkpoint, status, and metric evidence written to standardized trainoutputs/. Do not use for environment setup, exploratory sweeps, speculative idea implementation, or end-to-end orchestration.

Testing & QA337.8K installs

test-driven-development

obra/superpowers

Use when implementing any feature or bugfix, before writing implementation code

Testing & QA261.8K installs

Use when implementation is complete, all tests pass, and you need to decide how to integrate the work

Testing & QA216.8K installs