
Fusion Research
- 1.1k installs
- 1 repo stars
- Updated August 4, 2026
- equinor/fusion-skills
fusion-research is a research orchestration skill that runs structured, high-signal investigations with parallel agent threads for developers who need evidence before choosing a feature or product direction.
About
fusion-research is a skill from equinor/fusion-skills that structures pre-commitment research using multiple parallel agent threads. Listed on skills.sh with 569 installs, fusion-research targets developers evaluating new features, integrations, or product bets who want breadth and depth before writing code. The workflow emphasizes high-signal findings over shallow summaries by fanning research across concurrent threads. Developers reach for fusion-research at the start of discovery when competing approaches, market context, or technical feasibility must be compared systematically.
- Orchestrates multiple specialized research agents in parallel
- Synthesizes findings into concise, actionable insight reports
- Reduces open-ended research time by structuring queries and sources
- Works across any domain or decision point in the builder journey
- Designed as a reusable capability within the Fusion skill collection
Fusion Research by the numbers
- 1,080 all-time installs (skills.sh)
- +22 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #447 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/equinor/fusion-skills --skill fusion-researchAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1.1k |
|---|---|
| repo stars | ★ 1 |
| Last updated | August 4, 2026 |
| Repository | equinor/fusion-skills ↗ |
How do you research a feature direction before building?
Run structured, high-signal research with multiple parallel agent threads before committing to any new feature or product direction.
Who is it for?
Engineering teams and tech leads evaluating new features, APIs, or architectures who want parallelized research before sprint commitment.
Skip if: Developers who already have a locked spec, need code implementation, or want a single quick web search answer.
When should I use this skill?
The user is exploring a new feature, product bet, or technical direction and needs structured multi-thread research first.
What you get
Structured research briefs with parallel-thread findings and decision-ready signals for feature direction.
- structured research findings
- direction comparison notes
By the numbers
- 569 installs on skills.sh
- Rank 8618 on skills.sh catalog
Files
Fusion Research
When to use
Use this skill when a user needs a source-backed answer about the Fusion ecosystem.
Typical triggers:
- "Research this Fusion Framework hook and show me the supporting source."
- "What props does this EDS component accept?"
- "Which skill handles X in a Fusion workflow?"
- "Find a source-backed example for…"
- "Which Fusion package or module owns this API?"
- "Is there an EDS design token for this value?"
- "How can I persist user preferences in a Fusion app?"
- "What's the recommended pattern for X in Fusion?"
- "Show me a Fusion Framework example for building X."
- "What are the design tokens for color and spacing in EDS?"
- "How does Fusion handle X at the platform level?"
- "What is the Fusion platform guidance on Y?"
- "How do I onboard to Fusion?"
- "What are the guidelines for Z in the Fusion platform?"
When not to use
Do not use this skill for:
- implementing code changes — use
fusion-app-react-devor the relevant dev skill; if the research is for a specific app you are actively building, usefusion-app-react-devfirst — it will call this skill when needed - finding, installing, updating, or removing skills — use
fusion-discover-skills; use this skill only to understand a skill's scope, relationships, or catalog fit — not to discover what to install - creating or editing skill files — use
fusion-skill-authoringfor authoring-time research - Fusion MCP installation or troubleshooting — use
fusion-mcp; once MCP is running, return here for research - pure conceptual Fusion questions with no specific artifact name (hook, component, package, token, or platform topic) — ask the user for a concrete artifact reference or platform topic first
Instructions
Step 0 — Sharpen scope (optional)
Before classifying, you may use the domain-specific follow-up questions to narrow the user's exact need:
- Framework scope: assets/framework.follow-up.md
- EDS scope: assets/eds.follow-up.md
- Skills catalog scope: assets/skills.follow-up.md
- Docs scope: assets/docs.follow-up.md
Skip this step if the question already names a specific artifact (hook, component, package, token, or skill).
Step 1 — Classify the research question
Determine which domain the question belongs to:
| Domain | Indicators | Agent |
|---|---|---|
| Framework | Fusion Framework hooks, packages, modules, TypeScript APIs, cookbook examples | `agents/framework.agent.md` |
| EDS | EDS component props, usage examples, accessibility, design tokens | `agents/eds.agent.md` |
| Skills | Skill catalog lookup, scope boundaries, companion/orchestrator relationships | `agents/skills.agent.md` |
| Docs | Fusion platform concepts, onboarding, platform operations, governance, non-implementation guidance | `agents/docs.agent.md` |
| Backend Code | C# service implementations, interfaces, CQRS patterns, authorization, validation, cross-service APIs | `agents/backend-code.agent.md` |
If the question spans multiple domains, answer each domain separately using the appropriate agent in sequence.
Step 2 — Dispatch to the correct agent
- Framework questions → follow `agents/framework.agent.md`.
- EDS questions → follow `agents/eds.agent.md`.
- Skills questions → follow `agents/skills.agent.md`.
- Docs questions → follow `agents/docs.agent.md`.
- Backend code questions → follow `agents/backend-code.agent.md`.
If the runtime supports skill-local agents, invoke the agent directly. Otherwise, apply the agent's instructions inline.
Step 3 — Return the source-backed answer
Use the structure in assets/source-backed-answer-template.md:
- State which domain and agent was used.
- Include one to three source-backed evidence bullets.
- End with any remaining assumptions, uncertainty, or the next verification step.
Research agents
This skill includes five research agents in agents/. Each covers one Fusion research domain with its own query patterns and evidence checklist.
- [`agents/framework.agent.md`](agents/framework.agent.md) — source-backed answers about Fusion Framework hooks, packages, modules, and cookbook examples. Uses
mcp_fusion_search_framework. - [`agents/eds.agent.md`](agents/eds.agent.md) — source-backed answers about EDS component props, usage, accessibility, and design tokens. Uses
mcp_fusion_search_eds. - [`agents/skills.agent.md`](agents/skills.agent.md) — source-backed answers about the Fusion skill catalog: what skills exist, their scope, and how they relate. Uses
mcp_fusion_search_skills. - [`agents/docs.agent.md`](agents/docs.agent.md) — source-backed answers about Fusion platform concepts, onboarding, operations, and governance. Uses
mcp_fusion_search_docs. - [`agents/backend-code.agent.md`](agents/backend-code.agent.md) — source-backed answers about Fusion backend service implementations: C# services, interfaces, CQRS patterns, authorization, and cross-service integrations. Uses
mcp_fusion_search_backend_code.
Assets
- assets/source-backed-answer-template.md
- assets/framework.follow-up.md — pre-dispatch scope questions for Framework research
- assets/eds.follow-up.md — pre-dispatch scope questions for EDS research
- assets/skills.follow-up.md — pre-dispatch scope questions for skills catalog research
- assets/docs.follow-up.md — pre-dispatch scope questions for Docs platform research
Safety & constraints
Never:
- invent Fusion Framework hooks, EDS props, or skill catalog entries
- claim evidence exists when MCP is unavailable or results are weak
- keep refining indefinitely — state uncertainty after one refinement pass per agent
- implement code changes or mutate repositories during a research flow
Always:
- classify the question before choosing an agent
- capture the source path and supporting excerpt before finalizing any claim
- state explicitly which agent and source backed each part of the answer
Backend Code Research Agent
Role
Use this agent when the research question is about Fusion backend implementation: C# services, class hierarchies, interfaces, implementation patterns, or architectural decisions in backend repositories.
When the question belongs to Framework TypeScript APIs, use agents/framework.agent.md. When it belongs to platform concepts or onboarding, use agents/docs.agent.md.
MCP tooling
Prefer mcp_fusion_search_backend_code for all backend code questions. This searches across:
- C# service implementations (fusion-core-services)
- Shared library interfaces (fusion-libraries)
- Function implementations (fusion-functions)
- Integration patterns (fusion-integration-lib)
- Core infrastructure (fusion-dev-tools, fusion-mcp)
Search lanes
Recommended search patterns by question type:
| Lane | Pattern | Example Query |
|---|---|---|
| Interface/Contract | Service interface, method signatures, abstractions | "IPeopleApiClient interface" |
| Implementation | Class implementation, MediatR handlers, service logic | "How does People service update profiles" |
| Pattern/Architecture | CQRS handlers, authorization, validation, middleware | "MediatR command pattern in services" |
| Dependency Graph | Service dependencies, API integrations, cross-service calls | "How does Org service call People API" |
| Error Handling | Exception handling, validation, response mapping | "How are validation errors handled in services" |
Process
1. Confirm the question is about backend implementation (C#, services, infrastructure), not Framework or platform concepts. 2. Choose the search lane above that matches the question type. 3. Call mcp_fusion_search_backend_code with the user's wording plus relevant service name, interface name, or architectural term. 4. Start small — top: 3 to top: 5. Capture metadata.repository, metadata.service, metadata.filePath, the excerpt, and any declaration details. 5. If the first pass is weak or ambiguous, do one refinement pass only:
- Add the exact class or interface name.
- Narrow the service (people, org, context, etc.).
- Switch lanes (interface → implementation, or single service → cross-service call).
6. If still weak after refinement, stop and state uncertainty plainly. 7. Build the answer from evidence only.
- Prefer one to three sources.
- Separate confirmed facts from inference.
- Quote the exact method signature or implementation snippet when relevant.
- Note any inherited or composed dependencies.
Evidence checklist
Before including a source in the answer:
- captured
metadata.repository(which Fusion repo the code lives in) - captured
metadata.service(which service/package, e.g., "Fusion.Services.People") - captured
metadata.filePath(path to the file within the repo) - extracted the minimal code snippet that supports the claim
- noted any interface or base class dependencies
Safety
Never:
- invent service methods, interfaces, or behaviors not found in retrieved sources
- claim backend implementation evidence exists when MCP is unavailable or results are weak
- use Framework or platform docs as proof of backend architectural decisions
- assume behavior from similar code — verify the exact implementation in context
Docs Research Agent
Role
Use this agent when the research question is about Fusion platform guidance: concepts, onboarding, platform operations, and governance topics.
When the question belongs to Fusion Framework implementation (hooks, packages, APIs), use agents/framework.agent.md. When it belongs to EDS, use agents/eds.agent.md. When it belongs to the skill catalog, use agents/skills.agent.md.
MCP tooling
Use mcp_fusion_search_docs for all platform documentation questions.
Do not fall back to mcp_fusion_search_framework or other indexes. If the docs index yields no results after one refinement pass, stop and state uncertainty plainly. If the question turns out to be framework-specific, dispatch to agents/framework.agent.md as a multi-domain question rather than mixing framework sources into a docs-domain answer.
Query patterns
See references/docs.query.md for the full lane table, proven examples, and evidence checklist.
Summary:
- Platform concepts —
<concept> Fusion platform overview - Onboarding —
<role or task> onboarding Fusion setup - Operations —
<operation or process> Fusion platform configuration - Governance —
<policy or guideline> Fusion guidelines governance
Process
1. Confirm the question is about Fusion platform guidance, not framework implementation or EDS components.
- If the question names a specific hook, function, package, or component, redirect to
agents/framework.agent.mdoragents/eds.agent.md.
2. Choose the query lane above. 3. Call mcp_fusion_search_docs with the user's wording plus known platform, domain, or process terms. 4. Start small — top: 3 to top: 5. Capture metadata.source, the excerpt, and any scope or context metadata. 5. If the first pass is weak or ambiguous, do one refinement pass only:
- Rephrase using synonyms or alternate terminology.
- Broaden the scope (drop specific qualifiers, try the parent concept).
- Split compound questions into simpler sub-queries.
6. If still weak after refinement, stop and state uncertainty plainly. 7. Build the answer from evidence only.
- Prefer one to three sources.
- Separate confirmed guidance from inference.
- When results are sparse, note that explicitly and suggest the user verify against the full Fusion documentation portal.
Evidence checklist
Before including a source in the answer:
- captured
metadata.source - extracted the minimal excerpt that supports the claim
- noted the platform domain or context from the result (e.g., onboarding, access management, portal operations)
Safety
Never:
- invent Fusion platform guidance not found in retrieved sources
- claim docs evidence exists when MCP is unavailable or results are weak
- use framework or EDS results as documentation platform proof
- redirect the user to external URLs that were not present in retrieval results
EDS Research Agent
Role
Use this agent when the research question is about EDS: component props and behavior, usage patterns, accessibility guidance, or design tokens.
When the question belongs to Fusion Framework implementation, use agents/framework.agent.md. When it belongs to the skills catalog, use agents/skills.agent.md.
MCP tooling
Prefer mcp_fusion_search_eds for all EDS questions.
Query patterns
See references/eds.query.md for the full pattern table, proven examples, and evidence checklist.
Summary:
- props and API —
<ComponentName> props API interface - usage example —
<ComponentName> usage example how to - accessibility —
<ComponentName> accessibility ARIA keyboard - design token —
<purpose> token color spacing typography
Process
1. Confirm the question is about EDS, not Fusion Framework or skills. 2. Choose the query pattern above. 3. Call mcp_fusion_search_eds with the component name plus relevant context terms. 4. Start small — top: 3 to top: 5. Capture the source path, component or token name, and the excerpt that supports the claim. 5. If the first pass is weak or ambiguous, do one refinement pass only:
- Add the component name explicitly.
- Narrow to a specific prop, token, or accessibility concern.
- Switch from props lookup to usage or accessibility pattern.
6. If still weak after refinement, stop and state uncertainty plainly. 7. Build the answer from evidence only.
- Prefer one to three sources.
- Separate confirmed props and tokens from inferred behavior.
- The EDS index contains extracted docs — usage examples and component API excerpts may not cover every edge case. Note what still needs local verification.
Evidence checklist
Before including a source in the answer:
- captured the source path
- identified the component or token name
- extracted the minimal excerpt that supports the claim
- noted whether it is a prop, usage example, accessibility note, or design token
Safety
Never:
- invent EDS component props, tokens, or behaviors not found in retrieved sources
- claim EDS evidence exists when MCP is unavailable or results are weak
- use Fusion Framework or docs results as EDS component proof
Framework Research Agent
Role
Use this agent when the research question is about Fusion Framework implementation: hooks, packages, modules, TypeScript APIs, bootstrap lifecycle, or cookbook examples.
When the question belongs to EDS, use agents/eds.agent.md. When it belongs to the skills catalog, use agents/skills.agent.md.
MCP tooling
Prefer mcp_fusion_search_framework for all framework questions. Use mcp_fusion_search_docs only when redirecting to general platform or onboarding guidance.
Search lanes
See references/framework.query.md for the full lane table, proven examples, and evidence checklist.
Summary:
type: tsdoc— exact hooks, functions, classes, or symbolstype: markdown— package or module overviewstype: cookbook— how-to and implementation examplestype: storybook— framework-owned UI usage
Process
1. Confirm the question is about Fusion Framework implementation, not EDS or skill catalog. 2. Choose the search lane above. 3. Call mcp_fusion_search_framework with the user's wording plus known symbol, package, or domain terms. 4. Start small — top: 3 to top: 5. Capture metadata.source, metadata.type, the excerpt, and any package metadata. 5. If the first pass is weak or ambiguous, do one refinement pass only:
- Add the exact symbol or package name.
- Narrow the
type. - Switch lanes (API → package markdown, or overview → cookbook example).
6. If still weak after refinement, stop and state uncertainty plainly. 7. Build the answer from evidence only.
- Prefer one to three sources.
- Separate confirmed facts from inference.
- When the result is from a
cookbooklane, it contains raw source code — compare it directly against the user's code if relevant. - When the result is from
tsdocormarkdown, the index contains extracted docs only, not source — note what still needs local verification.
Evidence checklist
Before including a source in the answer:
- captured
metadata.source - captured
metadata.type - extracted the minimal excerpt that supports the claim
- noted any package or symbol context from
metadata.attributes
Safety
Never:
- invent hooks, packages, or behaviors not found in retrieved sources
- claim framework evidence exists when MCP is unavailable or results are weak
- use
fusion-docsor EDS results as framework implementation proof
Skills Research Agent
Role
Use this agent when the research question is about the Fusion skill catalog: which skills exist, what they do, how they relate, and when to use them.
Do not install, update, create, or remove skills from this agent. When the question belongs to Fusion Framework implementation, use agents/framework.agent.md. When it belongs to EDS, use agents/eds.agent.md.
MCP tooling
Use both tools in sequence:
1. `mcp_fusion_search_skills` — source-backed semantic and lexical search over the local skills index and cloned repository. Start here for every catalog research question. 2. `mcp_fusion_skills` — agentic reasoning tool that can interpret intent, reason about skill relationships, and retrieve advisory context. Use this when mcp_fusion_search_skills results are weak, ambiguous, or insufficient.
Fall back to local SKILL.md files or GitHub-backed catalog content only when both MCP tools are unavailable or still insufficient.
Query patterns
See references/skills.query.md for the full pattern table, proven examples, and evidence checklist.
Summary:
- capability fit —
<topic or workflow> skill - scope boundary —
<skill-name> when to use scope - companion relationship —
<skill-name> companion orchestrator related - usage boundary —
<skill-name> when not to use do not use
Process
1. Confirm the question is catalog research, not a lifecycle operation or an implementation question.
- If the user wants to install, update, or remove a skill, redirect to
fusion-discover-skills. - If the user wants to create or edit skill files, redirect to
fusion-skill-authoring.
2. Choose the query intent above. 3. Call mcp_fusion_search_skills with the user's wording plus known skill names. 4. Start small — top: 3 to top: 5. Capture the skill name, description excerpt, and any relationship metadata. 5. If the first pass is weak or ambiguous, do one refinement pass:
- Add the exact skill name.
- Try a narrower capability keyword.
6. If results are still insufficient after refinement, call mcp_fusion_skills to reason about the question — it can infer intent, resolve ambiguous skill names, and surface advisory context not captured in the search index. 7. Fall back to local SKILL.md files or GitHub-backed catalog content only when both MCP tools are unavailable or yield no useful signal. 8. After all fallbacks, if evidence is still insufficient, stop and state uncertainty plainly. 9. Build the answer from evidence only.
- Label the source explicitly:
mcp_fusion_search_skills,mcp_fusion_skills, localSKILL.md, or GitHub-backed catalog. - Call out scope overlaps and intended usage boundaries when two skills are compared.
Evidence checklist
Before including a source in the answer:
- captured the skill name
- noted the source label (
mcp_fusion_search_skills,mcp_fusion_skills, localSKILL.md, or GitHub-backed catalog) - extracted the excerpt that supports the claim
- noted companion, orchestrator, or overlap metadata when the question involves relationships
Safety
Never:
- install, update, create, or remove skills or skill files
- mutate any repository or MCP server state during catalog research
- claim catalog evidence exists when MCP is unavailable and no fallback source confirms it
Follow-Up Questions — Docs Research
Clarifying questions to sharpen the research scope before dispatching to agents/docs.agent.md. Pick the relevant section and skip questions already answered.
Scope
- Is this a question about a Fusion platform concept, or about a process or operation?
- Is the user looking for onboarding guidance, operational procedures, or governance policies?
- Does the question involve a specific platform service, environment, or role?
- Is the user verifying that their understanding matches documented guidance, or discovering how something works?
Inputs
- Which Fusion platform domain is involved, if known (e.g., access management, app framework, portal, service discovery)?
- Is there a specific audience context (e.g., app developer, platform admin, end user)?
- Does the question involve a specific environment (e.g.,
ci,fqa,fprd)?
Evidence requirements
- Is a direct excerpt from the docs source required, or is a paraphrase sufficient (with clear source backing either way)?
- What form of attribution is preferred (source title, URL, section heading, and/or excerpt)? Attribution is always required.
- If results are sparse after one refinement pass, should uncertainty be reported immediately?
Follow-Up Questions — EDS Research
Clarifying questions to sharpen the research scope before dispatching to agents/eds.agent.md. Pick the relevant section and skip questions already answered.
Scope
- Is this a question about a specific component's props, a usage example, accessibility guidance, or a design token?
- Is the component name already known, or does it need to be discovered first?
- Should the answer include a concrete code example, or is a prop table sufficient?
- Is there existing code that should be compared against the EDS recommendation?
Inputs
- Which EDS component or token family is involved, if known?
- Is there a specific prop, variant, or state that needs clarification?
- Is accessibility compliance (ARIA, keyboard, screen reader) part of the requirement?
- What level of depth is needed: quick prop lookup, full usage pattern, or accessibility deep-dive?
Evidence requirements
- Is a link to the EDS source required in the final answer, or is a paraphrase sufficient?
- Should the answer cover both the component API and a usage example, or just one?
- If results are weak after one refinement pass, should uncertainty be reported immediately, or is a related component fallback acceptable?
Follow-Up Questions — Framework Research
Clarifying questions to sharpen the research scope before dispatching to agents/framework.agent.md. Pick the relevant section and skip questions already answered.
Scope
- Is this a question about a specific hook, function, or class — or about a package/module boundary?
- Is there an exact symbol name already known, or does the symbol need to be discovered first?
- Should the answer include a concrete usage example, or is an API definition enough?
- Is the question about current framework behavior, or about verifying that existing code matches it?
Inputs
- Which Fusion Framework package or module is involved, if known?
- If a cookbook example is needed, is there existing code that should be compared against it?
- What level of depth is needed: quick lookup, package overview, or full cookbook example?
- Are there related symbols, hooks, or modules that should be cross-referenced?
Evidence requirements
- Is a reference to
metadata.sourcerequired in the final answer, or is a paraphrase sufficient? - Should the answer include a direct excerpt from the source, or just a summary?
- If results are weak after one refinement pass, should uncertainty be reported immediately, or is a fallback to docs acceptable?
Follow-Up Questions — Skills Research
Clarifying questions to sharpen the research scope before dispatching to agents/skills.agent.md. Pick the relevant section and skip questions already answered.
Scope
- Is this a capability fit question (does a skill for X exist?), a scope boundary question (what does skill Y cover?), a companion relationship question, or a usage guidance question?
- Is the skill name already known, or does it need to be discovered first?
- Is the user looking for a single skill or a combination of skills for a workflow?
- Is the question about what a skill does, or about what it explicitly does not do?
Inputs
- Which skill names are already known, if any?
- What workflow or capability is the user trying to cover?
- Are companion or orchestrator relationships part of what needs to be confirmed?
- Should the answer compare two or more skills, or focus on one?
Evidence requirements
- Should the source label (
mcp_fusion_skills, localSKILL.md, or GitHub-backed catalog) be included in the final answer? - Is a direct excerpt from the skill's description or metadata required, or is a summary sufficient?
- If the first MCP pass and the fallback both yield insufficient results, should uncertainty be reported immediately?
Source-Backed Answer Template
Use this structure when returning a Fusion research answer.
Scope
- Domain: framework / EDS / skills / redirected
- Agent used:
agents/framework.agent.md/agents/eds.agent.md/agents/skills.agent.md - Refinement used: yes / no
Answer
- Give the shortest answer that is actually supported by the evidence.
Evidence
- Source:
<metadata.source or skill name or SKILL.md path> - Why it matters:
<what this source confirms> - Excerpt:
<the minimal excerpt or paraphrase needed> - Source:
<optional second source> - Why it matters:
<optional second angle> - Excerpt:
<the minimal excerpt or paraphrase needed>
Assumptions or uncertainty
- State what is confirmed.
- State what is inferred.
- If results stayed weak after one refinement pass, say that explicitly.
Next step
- If still in scope: name the next symbol, component, token, or skill to verify.
- If out of scope: redirect to
fusion-app-react-dev(implementation),fusion-discover-skills(lifecycle),fusion-skill-authoring(create/edit), orfusion-mcp(MCP setup).
Changelog
0.4.1 - 2026-05-07
patch
- Compress backend-code.query and framework.query references
0.4.0 - 2026-04-22
minor
- Add backend-code domain classification and agent dispatch guidance
- Add backend-code research agent for C# and backend service implementation questions
- Add backend-code query reference with evidence-first search lanes
- Extend compatibility and MCP suggestions with backend code search support
0.3.0 - 2026-03-21
minor
- Add
agents/docs.agent.mdrouting platform documentation questions tomcp_fusion_search_docs - Add
assets/docs.follow-up.mdfor pre-dispatch scope questions - Add
references/docs.query.mdwith proven query lanes for docs retrieval - Update SKILL.md description, classification table, dispatch table, agents list, and assets list to cover the new Docs domain
- Docs domain covers: Fusion platform concepts, onboarding, platform operations, and governance
Resolves equinor/fusion-core-tasks#411
0.2.0 - 2026-03-21
minor
- #106 `1f8a01d` - Rename
fusion-research-frameworktofusion-researchand expand into a multi-domain research orchestrator.
- rename skill from
fusion-research-frameworktofusion-research - expand scope from framework-only to three research domains: Framework, EDS, and skill catalog
- add
agents/framework.agent.md— source-backed Fusion Framework API and cookbook research viamcp_fusion_search_framework - add
agents/eds.agent.md— source-backed EDS component props, usage, accessibility, and design token research viamcp_fusion_search_eds - add
agents/skills.agent.md— source-backed skill catalog lookup, scope boundary, and companion relationship research viamcp_fusion_skills - add
assets/framework.follow-up.md,assets/eds.follow-up.md,assets/skills.follow-up.md— pre-dispatch scope-sharpening questions per domain - add
references/framework.query.md,references/eds.query.md,references/skills.query.md— repeatable query patterns and evidence checklists per domain - update
assets/source-backed-answer-template.mdto cover all three domains - connect to
fusion-mcpas next-step redirect when MCP is not yet running - tighten discovery contract: description, trigger phrases, and "When not to use" boundaries
- apply council review fixes: remove erroneous
cookbooklane reference from EDS agent, orphan follow-up assets linked from SKILL.md,mcp_fusion_search_docsadded to suggested MCP list
Resolves equinor/fusion-core-tasks#837 Resolves equinor/fusion-core-tasks#838
patch
- #107 `d75d8c6` - Switch skills catalog agent to
mcp_fusion_search_skillsfor source-backed retrieval.
- update
agents/skills.agent.mdto usemcp_fusion_search_skills(semantic search over local skills index) instead of the advisorymcp_fusion_skills - update
mcp.suggestedlist in metadata: replacemcp_fusion_skillswithmcp_fusion_search_skills - update compatibility line and agent description to reflect the correct tool
- update source labels in
references/skills.query.mdevidence checklist
Resolves equinor/fusion-core-tasks#834
0.1.0 - 2026-03-20
minor
- #103 `06b664d` - Add the
fusion-research-frameworkskill underskills/.system/for source-backed Fusion Framework implementation lookup through MCP.
- route framework research to the framework-focused MCP index
- define repeatable search lanes for APIs, package docs, and cookbook examples
- require source-path and excerpt evidence before finalizing answers
- limit refinement to one pass and redirect out-of-scope requests cleanly
resolves equinor/fusion-core-tasks#410
Backend Code Search Reference
Overview
C# implementation search across Fusion services, libraries, and infrastructure. Use for service implementations, API contracts, architectural patterns, and cross-service interactions.
Search lanes
| Lane | Focus | Example Queries | Evidence Type |
|---|---|---|---|
| Interface/Abstraction | Service interfaces, contract definitions, API abstractions | "IPeopleApiClient", "IAuthorizationService", "interface definition" | C# interface declaration with method signatures and XML docs |
| Class Implementation | Concrete implementations, controllers, handlers, business logic | "PeopleService implementation", "PersonController", "class that handles" | C# class with implementation details, inheritance chain, dependencies |
| CQRS Handler | MediatR commands, queries, notifications and their handlers | "GetPersonCommand handler", "CreatePositionCommand", "query that retrieves" | C# command/query with handler, validation, authorization |
| Authorization Pattern | Role-based checks, authorization requirements, security validation | "How authorization works", "role check", "authorization requirement" | Authorization code, requirement definitions, role checks |
| Validation Pattern | FluentValidation rules, input validation, business rules | "Person validation", "validate email", "validation rules" | Validator classes, validation pipelines, error messages |
| Cross-Service Call | API client usage, service-to-service communication, HttpClient patterns | "How Org service calls People API", "calls to external service", "integration" | API client interface, method calls with URL/parameter construction |
| Configuration | Startup configuration, dependency injection, options patterns | "How is authentication configured", "options binding", "DI setup" | Startup.cs snippets, AddOptions patterns, ServiceCollection extensions |
| Database Query | Entity Framework queries, repository patterns, data access | "How person data is queried", "database access", "query performance" | EF Core queries, LINQ expressions, migration context |
| Event Handling | Domain events, service bus integration, event subscription patterns | "How events are published", "event subscription", "async integration" | Event classes, handlers, publish/subscribe code |
Proven search starters
Start with high-level intent when service/method is unknown:
"How does fusion-core-services handle authorization for sensitive endpoints"
→ Returns authorization handlers, requirement definitions, Startup config
"What's the pattern for validating input in fusion services"
→ Returns FluentValidation classes, validator registrations, error handling
"How do Fusion services integrate with external APIs"
→ Returns HttpClient setup, API client interfaces, authentication patterns
"How is the People service structured"
→ Returns Controllers, CQRS handlers, Domain models, DbContextQuery construction tips
1. Use service names: "fusion-core-services", "fusion-libraries", "people", "org", "context" 2. Use architectural terms: "IRequest handler", "command", "query", "validator", "controller" 3. Use intent verbs: "how is X implemented", "what pattern does Y use", "does X support Z" 4. Add context: specific API version, scenario, or related entity helps narrow results
Evidence capture
Capture for backend code answers:
| Metadata | Meaning | Captured Example |
|---|---|---|
repository | Fusion repository name | fusion-core-services |
service | Service/package name | Fusion.Services.People |
filePath | Path to file in repo | src/Fusion.Services.People/Controllers/PeopleController.cs |
declarationName | Type, method, or symbol | GetPersonById |
declarationKind | C# declaration type | method, class, interface |
| Code snippet | Minimal code that proves the claim | The actual code lines quoted |
Weak signal indicators
State uncertainty if:
- Search returns no results for the service/method you're looking for
- Results are from unrelated services (e.g., Org service results when querying People service)
- Code snippets are incomplete (truncated methods, missing context)
- Results don't clearly answer the "how" or "why" part of the question after one refinement
Example: _"I found references to PeopleService but not the specific implementation of profile update logic. To complete this answer, I'd need to verify the UpdateProfile method locally."_
Lane examples by question type
"How does the authorization work?"
Lane: Authorization Pattern Query: "authorization requirement in fusion-core-services" + "role-based access" Expected result types:
- Authorization handler classes
- Requirement builder extensions
- Startup configuration showing authorization pipelines
- Example authorize attributes on controllers
"How do services call external APIs?"
Lane: Cross-Service Call Query: "how fusion services integrate with external API" + "HttpClient" OR "API client abstraction" Expected result types:
- API client interface definitions
- HttpClient factory setup
- Example service-to-service calls with URL construction
- Authentication header injection
"What's the pattern for validating user input?"
Lane: Validation Pattern Query: "FluentValidation" + "fusion-core-services" OR "validation rule" Expected result types:
- Validator classes inheriting from AbstractValidator<T>
- Validation pipeline registration in Startup
- Error response mappings
- Example rule chains
"How are domain events published?"
Lane: Event Handling Query: "domain event" + "publish" + "async messaging" OR "INotification" Expected result types:
- Domain event classes
- MediatR notification definitions
- Event handler implementations
- Service Bus or event bus integration code
Query Patterns
Use these repeatable search lanes when researching Fusion platform documentation through MCP.
Start with the smallest lane that fits
| Need | Query shape | Good outcome |
|---|---|---|
| Platform concept or overview | <concept> Fusion platform overview | result explains the concept and its role in the platform |
| Onboarding guidance | <role or task> onboarding Fusion setup | result describes steps or prerequisites for getting started |
| Platform operations | <operation or process> Fusion platform configuration | result describes how to configure or operate the platform capability |
| Governance or policy | <policy or guideline> Fusion guidelines governance | result states the policy, who it applies to, and any constraints |
Proven examples
- Concept lookup:
Fusion context model platform overview - Onboarding:
app developer onboarding Fusion setup access - Operations:
service discovery Fusion platform configuration environment - Governance:
access control Fusion platform guidelines governance
One refinement pass only
If the first pass is weak or ambiguous:
1. Rephrase using synonyms or alternate terminology. 2. Broaden the scope by dropping specific qualifiers and trying the parent concept. 3. Split compound questions into simpler sub-queries and run them separately. 4. Stop after the second pass and report uncertainty if the evidence is still weak.
Evidence checklist
Before using a result in the final answer, capture:
metadata.source- the excerpt that supports the point
- the platform domain or context (e.g., onboarding, access management, portal operations)
EDS Query Patterns
Use these repeatable query patterns when researching EDS through MCP.
Start with the pattern that fits
| Need | Query shape |
|---|---|
| Component props and API | <ComponentName> props API interface |
| Usage or composition example | <ComponentName> usage example how to |
| Accessibility guidance | <ComponentName> accessibility ARIA keyboard |
| Design token | <purpose> token color spacing typography |
Proven examples
- Props:
Button variant disabled onClick props - Example:
NativeSelect usage form label controlled - Accessibility:
Dialog accessibility focus trap keyboard - Token:
interactive primary color token eds
One refinement pass only
If the first pass is weak or ambiguous:
1. Add the component name explicitly. 2. Narrow to a specific prop, token, or accessibility concern. 3. Switch from props lookup to usage or accessibility pattern. 4. Stop after the second pass and report uncertainty if the evidence is still weak.
Evidence checklist
Before using a result in the final answer, capture:
- the source path
- the component or token name
- the minimal excerpt that supports the claim
- whether it is a prop definition, usage example, accessibility note, or design token
Prefer a second source only when it adds missing context, not just volume.
Query Patterns
Search lanes for researching Fusion Framework implementation via MCP.
Start with the smallest lane that fits
| Need | Start with | Query shape | Good outcome |
|---|---|---|---|
| Exact hook, function, class, or symbol | type: tsdoc | <symbol> <package or domain> hook function class | result names the symbol and explains behavior directly |
| Package or module overview | type: markdown | <package or module> README API overview | result explains ownership, purpose, and main API surface |
| How-to or implementation example | type: cookbook | <workflow> example <symbol or module> | result shows a concrete pattern to adapt |
| Framework-owned UI usage | type: storybook | <component> props usage framework | result shows framework-owned UI behavior, not generic EDS docs |
Proven examples
- API lookup:
useFramework useFrameworkModule hook React framework context - Package overview:
FrameworkConfigurator init Fusion modules API - Example lookup:
router loader fusion.modules.http createHttpClient example
One refinement pass only
If the first pass is weak or ambiguous:
1. Add the exact symbol, package, or module name. 2. Narrow the type when the lane is still broad. 3. Switch lanes when needed:
- API lookup ->
markdownfor package context - package overview ->
tsdocfor an exact symbol - example search ->
cookbook
4. Stop after the second pass and report uncertainty if the evidence is still weak.
Evidence checklist
Capture before using a result:
metadata.sourcemetadata.type- the excerpt that supports the point
- any useful package or symbol metadata from
metadata.attributes
Important: cookbook results are indexed raw and contain actual source code — compare directly with user code when relevant. tsdoc and markdown results contain extracted docs only; note what still needs local verification.
Skills Query Patterns
Use these repeatable query patterns when researching the Fusion skill catalog through MCP.
Start with the intent that fits
| Intent | Query shape |
|---|---|
| Does a skill exist for this capability? | <topic or workflow> skill |
| What does a specific skill do? | <skill-name> when to use scope |
| Which skills work together? | <skill-name> companion orchestrator related |
| What is off-limits for a skill? | <skill-name> when not to use do not use |
| How do two skills differ? | <skill-a> <skill-b> difference scope |
Proven examples
- Capability fit:
github pull request review skill - Scope:
fusion-skill-authoring when to use scope - Companion:
fusion-app-react-dev companion skills metadata
One refinement pass, then fallback
If the first pass is weak or ambiguous:
1. Add the exact skill name. 2. Try a narrower capability keyword. 3. Fall back to reading local SKILL.md files or GitHub-backed catalog content when MCP remains weak. 4. Stop after the fallback and report uncertainty if evidence is still insufficient.
Evidence checklist
Before using a result in the final answer, capture:
- the skill name
- the source label (
mcp_fusion_search_skills,mcp_fusion_skills, localSKILL.md, or GitHub-backed catalog) - the excerpt that supports the claim
- any companion, orchestrator, or overlap metadata when the question involves relationships
Prefer a second source only when it adds missing context — scope boundaries, companion relationships, or usage guidance not in the first result.
Related skills
How it compares
Choose fusion-research for parallel pre-build discovery rather than root-cause debugging or diagram documentation skills.
FAQ
What does fusion-research do?
fusion-research orchestrates structured, high-signal research using parallel agent threads so developers can compare options and gather evidence before committing to a new feature or product direction.
How popular is fusion-research on skills.sh?
fusion-research from equinor/fusion-skills shows 569 installs on skills.sh, indicating active use for pre-implementation research workflows among agent-assisted developers.