This is Fusion’s shared catalog of GitHub Copilot Agent Skills — reusable, versioned “mini playbooks” that help you run common workflows consistently.
Skills are designed to be:
- 🧭 Actionable: they guide you through a specific task (not generic chat)
- 📎 Concrete: they state what the agent will produce (files/commands/summary)
- 🔒 Safer by default: they call out constraints and avoid risky automation
If you just want to use the skills, start with Quick start.
For Fusion issue-authoring with GitHub Copilot, use the explicit agent-targeted install command:
npx skills add equinor/fusion-skills \
--skill fusion-issue-authoring \
--agent github-copilot \
-yFor GitHub Copilot project installs, skills are placed in .agents/skills.
See https://skills.sh for CLI behavior and agent support details.
Tip
Use project installs as the default for team sharing and reproducible onboarding.
| Step | Command | Scope | Typical use |
|---|---|---|---|
| Discover | npx skills add equinor/fusion-skills --list |
Project | See available skills |
| Install | npx skills add equinor/fusion-skills |
Project | Add skills to the repo |
| Restore | npx skills experimental_install |
Project | Rehydrate from skills-lock.json (fresh clones/CI) |
| Remove | npx skills remove |
Project | Remove installed skills |
Optional: global install and global update checks
Install for your user (local experimentation):
npx skills add equinor/fusion-skills -gCheck if global updates are available:
npx skills checkUpdate globally installed skills:
npx skills updateNote
npx skills check and npx skills update currently read the global lock file (~/.agents/.skill-lock.json).
This repository provides a GitHub Actions workflow you can copy into your repo for automated skill updates — like Dependabot for GitHub Copilot Agent Skills.
Important
Current CLI lock scope differs by command:
npx skills experimental_installrestores from projectskills-lock.jsonnpx skills checkandnpx skills updateread the global lock file (~/.agents/.skill-lock.json)
The workflow automatically:
- Detects available skill updates from this skills catalog (
equinor/fusion-skills) - Creates a pull request only when skills actually change
- Includes per-skill changelog summaries in the PR description
In your repository's .github/workflows/ directory, create a workflow file (e.g., skills-update.yml):
name: Upgrade Agent Skills
on:
schedule:
# Run weekdays at 8 AM UTC
- cron: '0 8 * * 1-5'
workflow_dispatch: # Allow manual trigger
permissions:
contents: write
pull-requests: write
jobs:
upgrade:
uses: equinor/fusion-skills/.github/workflows/skills-update.yml@main-
Schedule: Adjust the cron expression to your preferred frequency. Examples:
0 2 * * 1— Every Monday at 2 AM UTC0 0 * * 0— Every Sunday at midnight UTC0 9 * * 1-5— Every weekday at 9 AM UTC
-
Version pinning: Replace
@mainwith a specific release tag to pin to a version:uses: equinor/fusion-skills/.github/workflows/skills-update.yml@v1.0.0
-
Manual-only updates: If you prefer manual-only triggers, remove the
schedule:section and keep onlyworkflow_dispatch:. -
Permissions: The workflow requires write access to:
contents— to commit skill updatespull-requests— to create and manage pull requests
-
Concurrency: This workflow does not use concurrency limits. If you run multiple concurrent updates (e.g., from both scheduled and manual triggers), they may update the same PR. This is safe—later commits will overwrite earlier ones on the branch. If you prefer stricter control, add a concurrency block at the job level:
concurrency: group: skills-upgrade cancel-in-progress: true
This repository also provides a separate reusable workflow for discovering new skills and creating one PR per skill.
The workflow compares:
npx skills add --list equinor/fusion-skillsnpx skills add --list .
Then it filters ignored skills from .github/skills-ignore.json, and opens one branch/PR per remaining skill.
Create .github/workflows/skills-discovery.yml:
name: Discover New Agent Skills
on:
schedule:
- cron: '0 8 * * 1-5'
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
discover:
uses: equinor/fusion-skills/.github/workflows/skills-discovery.yml@mainOptional inputs:
jobs:
discover:
uses: equinor/fusion-skills/.github/workflows/skills-discovery.yml@main
with:
source: equinor/fusion-skills
ignore-file: .github/skills-ignore.json
draft-prs: false
skip-if-rejected-pr-exists: trueOptional ignore list in your repository at .github/skills-ignore.json:
{
"ignored": [
"fusion-example-skill"
]
}If the ignore file exists, the workflow validates this shape before continuing.
If a skill already has an open PR from branch chore/skills-discovery/<skill>, the workflow updates that PR.
skip-if-rejected-pr-exists blocks re-proposing skills where a previous PR from that skill branch was closed without merge.
The update workflow also scans installed skills for metadata.status: deprecated or archived in their SKILL.md frontmatter. For each such skill it creates a separate removal PR that:
- Removes the skill via
npx skills remove - Includes successor recommendation and migration guidance when available
- Respects previously-rejected removal PRs (won't re-propose)
This runs automatically as part of the update workflow above. To customize or disable:
jobs:
upgrade:
uses: equinor/fusion-skills/.github/workflows/skills-update.yml@main
with:
skip-deprecation-cleanup: false # set true to disable
draft-deprecation-prs: false # set true for draft PRs
skip-if-rejected-pr-exists: true # respect rejected PRsThis repo contains reusable skills for common workflows (planning, triage, reviews, runbooks, etc.).
Each skill should tell you:
- when to use it (and when not to),
- what it will produce (files/commands/summary),
- what inputs it needs,
- and what safety constraints apply.
Skills live under skills/. The structure inside a skill is intentionally flexible, but most skills have an entry file:
skills/fusion-<skill-name>/SKILL.md
In this repository, use fusion-<skill-name> as the default skill naming convention.
skills/👍 default, generally available skillsskills/.experimental/🧪 preview / in-development skillsskills/.curated/👌 curated, broadly reusable skillsskills/.system/⚙️ internal/system skills and shared building blocks
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.
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.
⚙️ fusion-code-conventions@0.1.1
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.
Guides integrations across Fusion Core service APIs from a single installable skill. USE FOR: service discovery across apps, people, context, roles, notifications, reports, tasks, and other Fusion Core APIs; cross-service integration planning; choosing the right endpoint/model guidance for a workflow. DO NOT USE FOR: modifying Fusion backend source code, non-Fusion APIs, or generic cloud architecture work without a Fusion service integration target.
🧪 fusion-dependency-review@0.1.2
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-github-review-resolution@0.1.5
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.
Guides developers and admins through direct interaction with the Fusion Help REST API — reading articles, FAQs, release notes, searching content, and managing help documentation programmatically. USE FOR: fetch help articles from API, integrate help content in app, search help content, manage help documentation via API, automate help content, build help tooling. DO NOT USE FOR: using the fhelp CLI tool (use fusion-help-docs skill), modifying Fusion.Services.Help backend code, or non-help-API tasks.
Guides app teams through authoring, structuring, and publishing help documentation (articles, release notes, FAQs) using the fusion-help-cli. USE FOR: write help articles, create release notes, set up help docs, publish documentation, sync articles, configure help config file, maintain app help content. DO NOT USE FOR: building the CLI itself, modifying Fusion.Services.Help internals, or non-documentation tasks.
👍 fusion-help-integration@0.0.1
Wires Fusion Help Center into app pages — creates article slug constants, adds useHelpCenter hook, and connects PageLayout props so users can open contextual help articles. USE FOR: add help button to page, wire useHelpCenter, create helpArticles constants, integrate Fusion Help in app, connect PageLayout to help center, add openHelpArticle to page. DO NOT USE FOR: authoring markdown help articles (use fusion-help-docs), direct Help REST API calls (use fusion-help-api), modifying @fra/ui shared components.
👍 fusion-issue-authoring@0.3.1
Classify issue type, activate the matching agent mode for type-specific drafting, and enforce shared safety gates before GitHub mutation.
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-issue-task-planning@0.1.4
Plan and break down user-story issues into ordered, traceable task issue drafts with explicit publish gates.
Explain what Fusion MCP is and guide users through setting it up when they need Fusion-aware MCP capabilities in Copilot workflows.
Source-backed research orchestrator for the Fusion ecosystem. Routes to the correct research agent based on question type. Returns source-backed evidence only; will not invent Framework behavior, component APIs, skill catalog relationships, or platform guidance. USE FOR: any research question needing source-backed evidence about Fusion Framework APIs, EDS components, the Fusion skill catalog, or Fusion platform documentation. DO NOT USE FOR: implementing code changes, installing or editing skills, MCP setup or troubleshooting, or inventing Fusion behavior without evidence.
Support skill providing the workflow, templates, and references for AI coding assistant rule authoring. Invoked by fusion-rules gateway agents — not intended for direct use.
Entrypoint for AI coding assistant rule authoring across GitHub Copilot, Cursor, and Claude Code. USE FOR: setting up rules, reviewing existing rules, scaffolding instruction files, or asking which editor format to use. DO NOT USE FOR: authoring skills (SKILL.md), agent definitions (.agent.md), or CI enforcement of rule files.
👍 fusion-skill-authoring@0.3.2
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.
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.
For predictable consumer upgrades with npx skills add|update:
- Use git tags with semantic versioning for releases (
vMAJOR.MINOR.PATCH) - Treat
mainas latest stable-ish; use prerelease tags for experiments (v1.3.0-beta.1) - Pin production installs to a tag:
npx skills add equinor/fusion-skills@v1.2.3
See CHANGELOG.md for release notes.
If you are developing or maintaining skills in this repository, use CONTRIBUTING.md for changesets, release automation, and validation workflows.
Where do skills get installed?
- For GitHub Copilot project installs, skills land in
.agents/skills/in the current repo. - Personal installs use your Copilot user-level skills location.
Caution
- Never paste secrets (tokens/keys/credentials) into prompts, logs, or docs
- Only install skills from sources you trust; skills may include executable commands or scripts
- Treat
skills/**/scripts/as security-sensitive code; review and verify before execution - Confirm side effects before running commands (especially destructive operations)
For details and reporting guidance, see SECURITY.md.
Warning
- This is NOT a general Fusion documentation site (keep long-form docs in the relevant product repos)
- This is NOT a place for secrets, tokens, or environment-specific configuration
- This is NOT a dumping ground for one-off prompts — skills should be owned and maintained
Want to contribute or review changes? See CONTRIBUTING.md.
Are you an agent making changes in this repo? See AGENTS.md.