
Fusion Help Docs
- 800 installs
- 1 repo stars
- Updated August 4, 2026
- equinor/fusion-skills
fusion-help-docs is a Claude Code skill that authors, structures, and publishes Fusion app help articles, release notes, and FAQs through the official fusion-help CLI for developers maintaining Equinor Fusion in-product
About
fusion-help-docs is a Documentation skill at version 0.0.2 owned by @equinor/fusion-core that guides app teams through Fusion help content lifecycle. The skill uses fusion-help-cli to write help articles, create release notes, configure help config files, sync articles, and publish FAQs into Fusion.Services.Help without modifying CLI internals. MIT-licensed and marked active, it triggers on requests to write help articles, set up help docs, publish documentation, or maintain app help content. Developers on Equinor Fusion platforms reach for fusion-help-docs when shipping user-facing guidance alongside feature releases instead of maintaining disconnected wikis.
- Guides creation of help articles, release notes, and FAQ entries
- Automates docs folder structure, config, and markdown formatting for the Fusion help system
- Handles publishing and syncing of documentation to Fusion environments
- Supports setting up CI/CD pipelines for automatic help content publication
- Requires valid app key with admin rights before any operation
Fusion Help Docs by the numbers
- 800 all-time installs (skills.sh)
- +41 installs in the week ending Jul 27, 2026 (Skillselion tracking)
- Ranked #304 of 1,879 Documentation 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-help-docsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 800 |
|---|---|
| repo stars | ★ 1 |
| Last updated | August 4, 2026 |
| Repository | equinor/fusion-skills ↗ |
How do you publish Fusion app help docs with fhelp CLI?
Quickly author, structure, and publish help articles, release notes, and FAQs for Fusion apps using the official fhelp CLI.
Who is it for?
Fusion app developers who must ship in-product help articles, release notes, and FAQs through the official fusion-help-cli pipeline.
Skip if: Teams outside the Equinor Fusion ecosystem, contributors modifying Fusion.Services.Help internals, or general static-site documentation with no fhelp CLI.
When should I use this skill?
A user asks to write Fusion help articles, create release notes, configure help config, sync articles, or publish app FAQs.
What you get
Help articles, release notes, FAQ entries, and synced fusion-help-cli configuration
- Help articles
- Release notes
- FAQ entries
By the numbers
- Skill metadata version 0.0.2
- Covers 3 content types: articles, release notes, and FAQs
Files
Fusion Help Documentation
Author, structure, and publish help docs (articles, release notes, FAQs) via fhelp CLI.
When to use
- Write help article for Fusion app
- Create/update release notes
- Set up docs folder structure + config
- Structure markdown for help system
- Publish/sync docs to Fusion environment
- Add FAQ entries
- Set up CI/CD pipeline to auto-publish
When not to use
- Modifying
fusion-help-clisource (tooling/fusion-help-cli/) - Changing Fusion.Services.Help backend API
- General markdown editing unrelated to Fusion Help
- Non-documentation tasks
Required inputs
Collect before creating:
| Input | Required | Description |
|---|---|---|
| App key | Yes | The Fusion app key (e.g. my-app, resource-allocation-landingpage). User must be admin for this app. |
| Content type | Yes | articles, release-notes, or faqs |
| Docs root path | Yes | Where the team stores their docs (e.g. docs/help/) |
| Target environment | For publish | ci, fqa, tr, or fprd |
Unknown app key → check app admin:
- CI:
https://fusion.ci.fusion-dev.net/apps/app-admin - Production:
https://fusion.equinor.com/apps/app-admin
Look in "Admins" section — must be listed as admin to publish.
Instructions
1. Set up docs folder structure
Create folder layout:
docs/
help/
articles/ # Markdown article files
images/ # Article images (PNG format)
release-notes/ # Markdown release note files
images/ # Release note images (PNG format)
faqs/ # Optional: markdown FAQ body overrides
help-articles.json # Article config
help-release-notes.json # Release notes config (if using release notes)Folder and config names are flexible — must match what you pass to fhelp.2. Create the article config file
Create help-articles.json (tells CLI which articles to sync):
{
"articles": [
{
"slug": "my-app-getting-started", // Must match the .md filename (without extension)
"title": "Getting Started", // Display title in Fusion Help
"appKey": "my-app", // Your Fusion app key
"sortOrder": 1.0, // Controls display order (lower = first)
"summary": "Learn how to get started.", // Short description shown in article list
"tags": ["getting-started", "onboarding"],// Searchable tags
"relevantApps": [] // Optional: other app keys where this shows
}
]
}Config field reference
| Field | Required | Type | Description |
|---|---|---|---|
slug | Yes | string | Unique identifier. Must match a {slug}.md file in the articles root folder. Use kebab-case. |
title | Yes | string | Human-readable title displayed in Fusion Help. |
appKey | Yes | string | Fusion app key this article belongs to. You must be admin for this app. |
sortOrder | No | number | Controls display order. Lower numbers appear first. Default varies. Use decimals (1.0, 1.1, 2.0) for flexible ordering. |
summary | Yes | string | Short description shown in article listings. |
tags | No | string[] | Searchable tags for categorization. |
relevantApps | No | string[] | Additional app keys where this article should appear. |
3. Write article content
Create markdown files in the articles root folder. The filename (without .md) must match the slug in the config.
Article writing guidelines:
- Write for end-users of the Fusion app
- Use
##,###for structure — avoid#(title comes from config) - Place images in
images/; reference with - CLI auto-uploads images + rewrites paths to CDN
- Images must be PNG (CLI limitation)
- One topic per article
- Link related articles by title (platform handles deep linking)
Example article (docs/help/articles/my-app-getting-started.md):
## Overview
This guide walks you through the basics of using My App.
## Prerequisites
Before you begin, make sure you have:
- Access to the Fusion portal
- The correct role assigned to your user
## Step 1: Navigate to the app
Open Fusion and search for "My App" in the app launcher.

## Step 2: Create your first item
Click the **New** button in the toolbar to create your first item.
## Need help?
Contact the team on Teams or check the FAQ section.4. Create the release notes config file (optional)
Create help-release-notes.json if team publishes release notes:
{
"releaseNotes": [
{
"slug": "my-app-v2-release", // Must match the .md filename
"title": "Version 2.0 Release", // Display title
"appKey": "my-app", // Your Fusion app key
"publishedDate": "2026-03-14T00:00:00Z", // Publication date (ISO 8601)
"tags": ["release", "v2"], // Searchable tags
"relevantApps": [] // Optional: other app keys
}
]
}Release notes config field reference
| Field | Required | Type | Description |
|---|---|---|---|
slug | Yes | string | Unique identifier. Must match a {slug}.md file in the release notes root folder. |
title | Yes | string | Release note title. |
appKey | Yes | string | Fusion app key. You must be admin. |
publishedDate | Yes | ISO 8601 date | When the release was published. |
tags | No | string[] | Searchable tags. |
relevantApps | No | string[] | Additional app keys. |
Example release note (docs/help/release-notes/my-app-v2-release.md):
## What's new in Version 2.0
### New dashboard
We've completely redesigned the dashboard with new charts and filtering capabilities.

### Performance improvements
- Page load times reduced by 40%
- Search results now appear in under 1 second
### Bug fixes
- Fixed an issue where filters would reset on navigation
- Corrected date formatting in the export feature5. Install and authenticate the CLI
Install from the Fusion Public feed:
dotnet tool install --global --add-source "https://statoil-proview.pkgs.visualstudio.com/Fusion%20-%20Packages/_packaging/Fusion-Public/nuget/v3/index.json" Fusion.Help.CliUpdate an existing installation:
dotnet tool uninstall --global Fusion.Help.Cli
dotnet tool install --global --add-source "https://statoil-proview.pkgs.visualstudio.com/Fusion%20-%20Packages/_packaging/Fusion-Public/nuget/v3/index.json" Fusion.Help.CliAuthenticate via Azure CLI:
az loginCLI uses DefaultAzureCredentials — picks up az login session automatically.
6. Publish documentation
Sync articles:
fhelp article sync -f docs/help/help-articles.json -r docs/help/articles -e ci -vSync release notes:
fhelp releasenotes sync -f docs/help/help-release-notes.json -r docs/help/release-notes -e ci -vCommand flags:
| Flag | Description |
|---|---|
-f, --file | Path to the JSON config file |
-r, --root | Path to the folder containing markdown files |
-e, --env | Target environment: ci, fqa, tr, fprd |
-t, --token | Override the access token (optional) |
-v, --verbose | Show detailed logging output |
--no-validation | Skip source system check — use with caution, can overwrite UI-created content |
Environment promotion order: ci → fqa → fprd (skip tr unless testing infrastructure).
Test in ci before promoting to fqa then fprd.
7. Set up CI/CD pipeline (recommended)
Automate publishing via Azure DevOps or GitHub Actions.
Azure DevOps pipeline example:
parameters:
- name: environment
type: string
default: ci
values: [ci, fqa, fprd]
- name: azureSubscription
type: string
steps:
- checkout: self
- script: |
dotnet tool install --global --add-source "https://statoil-proview.pkgs.visualstudio.com/Fusion%20-%20Packages/_packaging/Fusion-Public/nuget/v3/index.json" Fusion.Help.Cli
displayName: "Install fusion help CLI"
- task: AzureCLI@2
displayName: "Sync help articles"
inputs:
azureSubscription: ${{ parameters.azureSubscription }}
scriptType: pscore
scriptLocation: inlineScript
inlineScript: |
fhelp article sync `
-f ./docs/help/help-articles.json `
-r ./docs/help/articles `
-e "${{ parameters.environment }}" `
-v
- task: AzureCLI@2
displayName: "Sync release notes"
inputs:
azureSubscription: ${{ parameters.azureSubscription }}
scriptType: pscore
scriptLocation: inlineScript
inlineScript: |
fhelp releasenotes sync `
-f ./docs/help/help-release-notes.json `
-r ./docs/help/release-notes `
-e "${{ parameters.environment }}" `
-vGitHub Actions example:
name: Sync Help Documentation
on:
push:
branches: [main]
paths: ['docs/help/**']
jobs:
sync-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
- name: Install fusion help CLI
run: |
dotnet tool install --global \
--add-source "https://statoil-proview.pkgs.visualstudio.com/Fusion%20-%20Packages/_packaging/Fusion-Public/nuget/v3/index.json" \
Fusion.Help.Cli
- name: Azure Login
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: '3aa4a235-b6e2-48d5-9195-7fcf05b459b0'
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: Sync articles
run: |
fhelp article sync \
-f ./docs/help/help-articles.json \
-r ./docs/help/articles \
-e ci -v8. FAQs (supplementary)
FAQs use an Excel-based workflow and require app-level access. This is a temporary solution best suited for scenarios where FAQs span multiple apps.
fhelp faq sync -f docs/help/faqs.xlsx -e ci -vFor most teams, managing FAQs through the Fusion Help Admin UI at https://fusion.equinor.com/apps/fusion-help-admin is simpler.
Expected output
docs/help/folder with articles, images, and config- Markdown article file(s) with proper content
- Valid
help-articles.json(+ optionalhelp-release-notes.json) - How to install, auth, and run
fhelp - CI/CD pipeline snippet (optional)
Troubleshooting
| Problem | Cause | Solution |
|---|---|---|
DefaultAzureCredential failed to retrieve a token | Not authenticated | Run az login |
403 Forbidden | Not an admin for the app key | Check admin list at the app admin page, or verify the appKey in your config |
| Article not created (skipped) | No matching .md file in root folder | Ensure filename matches slug exactly: {slug}.md |
| Source system mismatch warning | Article was created via UI, CLI won't overwrite | Use --no-validation carefully, or use a different slug |
| Images not uploading | Wrong format | Images must be PNG format |
Safety & constraints
- Never use `--no-validation` without understanding — can overwrite UI-created content
- Test in
cibefore publishing tofprd sourceSystemauto-set toFusion.Help.Cli; CLI and UI articles have different source systems and won't conflict unless--no-validationis used- Slugs must be globally unique — use app-specific prefix (e.g.
my-app-getting-started) - Never commit access tokens — use
az loginor pipeline service principals
Overview
{{Brief description of what the app does and who it's for.}}
Prerequisites
Before you begin, make sure you have:
- Access to the Fusion portal
- {{Any role or permission requirements}}
Step 1: Open the app
Navigate to Fusion and search for "{{App Name}}" in the app launcher, or open it directly via the sidebar.
Step 2: {{First key action}}
{{Describe the first thing a new user should do.}}
Step 3: {{Second key action}}
{{Describe the next step.}}
Tips
- {{Helpful tip for new users}}
- {{Another tip}}
Need help?
Check the FAQ section or contact the team on {{Teams channel / email}}.
{
"articles": [
{
"slug": "{{app-prefix}}-getting-started",
"title": "Getting Started",
"appKey": "{{app-key}}",
"sortOrder": 1.0,
"summary": "Learn how to get started with {{App Name}}.",
"tags": ["getting-started", "onboarding"],
"relevantApps": []
},
{
"slug": "{{app-prefix}}-key-concepts",
"title": "Key Concepts",
"appKey": "{{app-key}}",
"sortOrder": 2.0,
"summary": "Understand the core concepts behind {{App Name}}.",
"tags": ["concepts", "overview"],
"relevantApps": []
}
]
}
{
"releaseNotes": [
{
"slug": "{{app-prefix}}-v1-0-initial-release",
"title": "Version 1.0 — Initial Release",
"appKey": "{{app-key}}",
"publishedDate": "{{YYYY-MM-DDT00:00:00Z}}",
"tags": ["release", "v1.0"],
"relevantApps": []
}
]
}
What's new in {{Version}}
{{Feature 1 heading}}
{{Description of the feature. Include screenshots where helpful.}}
{{Feature 2 heading}}
{{Description.}}
Improvements
- {{Improvement 1}}
- {{Improvement 2}}
Bug fixes
- {{Fix 1}}
- {{Fix 2}}
Known issues
- {{Known issue, if any}}
Changelog
0.0.2 - 2026-05-07
patch
- Drop articles, filler, hedging from SKILL.md activation body
- Compress cli-reference reference
0.0.1 - 2026-03-17
patch
- Guides app teams through authoring and publishing help documentation using fusion-help-cli
- Covers articles, release notes, and FAQs
fusion-help-cli Reference
Installation
# Install from Fusion Public feed
dotnet tool install --global --add-source "https://statoil-proview.pkgs.visualstudio.com/Fusion%20-%20Packages/_packaging/Fusion-Public/nuget/v3/index.json" Fusion.Help.Cli
# Update (uninstall + reinstall)
dotnet tool uninstall --global Fusion.Help.Cli
dotnet tool install --global --add-source "https://statoil-proview.pkgs.visualstudio.com/Fusion%20-%20Packages/_packaging/Fusion-Public/nuget/v3/index.json" Fusion.Help.CliAuthentication
Uses DefaultAzureCredential. Simplest method:
az loginCI/CD: use service principal:
az login --service-principal -u <app-id> -p <client-secret> --tenant 3aa4a235-b6e2-48d5-9195-7fcf05b459b0Or pass JWT token via --token flag.
Commands
fhelp article sync
Syncs article markdown files to the Fusion Help API.
fhelp article sync -f <config-file> -r <articles-root> -e <environment> [-t <token>] [--no-validation] [-v]| Flag | Required | Description |
|---|---|---|
-f, --file | Yes | Path to the articles JSON config file |
-r, --root | Yes | Root folder containing .md article files and images/ |
-e, --env | Yes | Fusion environment: ci, fqa, tr, fprd |
-t, --token | No | Override the access token |
--no-validation | No | Skip source system validation (can overwrite UI content) |
-v, --verbose | No | Enable verbose/information-level logging |
Behavior: 1. Reads the config JSON and iterates each article entry 2. Looks for {root}/{slug}.md — skips if file not found 3. Scans markdown for image references, uploads any local images to the Help assets API 4. Rewrites image paths to the Fusion CDN (/help-proxy/assets/resources/images/{slug}/processed.webp) 5. Checks if the article already exists on the server (by slug) 6. Creates (POST) if new, patches (PATCH) if changed, skips if unchanged 7. Validates sourceSystem matches — refuses to overwrite UI-created articles unless --no-validation is set
fhelp releasenotes sync
Syncs release note markdown files to the Fusion Help API.
fhelp releasenotes sync -f <config-file> -r <release-notes-root> -e <environment> [-t <token>] [--no-validation] [-v]Same flags/behavior as article sync; uses releaseNotes array, includes publishedDate.
fhelp faq sync
Syncs FAQs from Excel. Temporary solution for multi-app FAQs.
fhelp faq sync -f <excel-file> -e <environment> [-r <faq-root>] [-p <slug-prefix>] [-t <token>] [--no-validation] [-v]| Flag | Required | Description |
|---|---|---|
-f, --file | Yes | Path to the Excel file with FAQ data |
-e, --env | Yes | Fusion environment |
-r, --root | No | Root folder for optional markdown body overrides (looks for faq-{identifier}.md) |
-p, --prefix | No | Prefix for generated FAQ slugs |
Note: FAQ sync requires APP ACCESS via internal API functions — not available to all users.
Environments
| Environment | Purpose | URL pattern |
|---|---|---|
ci | Continuous integration / development testing | https://help.ci.api.fusion-dev.net |
fqa | QA / acceptance testing | https://help.fqa.api.fusion-dev.net |
tr | Infrastructure testing (rarely used for docs) | https://help.tr.api.fusion-dev.net |
fprd | Production | https://help.fprd.api.fusion-dev.net |
Promotion order: ci → fqa → fprd
Source system
The CLI stamps all content with sourceSystem: "Fusion.Help.Cli". Content created via Fusion Help Admin UI has source fusion-help-admin. CLI will not overwrite content from a different source system unless --no-validation is used.
Image handling
- Images must be PNG format
- Place images in an
images/subfolder under the article/release-notes root - Reference them in markdown with standard syntax:
 - The CLI hashes each image and creates a unique slug (
img-{article-slug}-{hash}) - Images are only uploaded if they don't already exist (based on the hash slug)
- After upload, markdown paths are rewritten to
/help-proxy/assets/resources/images/{slug}/processed.webp
Slug naming conventions
Slugs must be globally unique across all apps. Pattern:
{app-prefix}-{topic}Examples:
fra-getting-startedmy-app-new-featuresmy-app-v2-release
Related skills
FAQ
What content types does fusion-help-docs cover?
fusion-help-docs guides authoring and publishing of help articles, release notes, and FAQs through fusion-help-cli. Agents also help configure help config files and sync articles to Fusion.Services.Help.
What should fusion-help-docs not be used for?
fusion-help-docs explicitly excludes building or modifying fusion-help-cli itself and changing Fusion.Services.Help internals. The skill focuses on app-team documentation authoring and publish workflows.