fusion-help-docs
Skill2 starsChanged 2 months agoMITView on GitHub
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.
In this repository31 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- caveman-compressSkill
- fusion-core-servicesSkill
- fusion-dependency-reviewSkill
- fusion-designSkill
- fusion-framework-mockingSkill
- fusion-framework-testingSkill
- fusion-github-review-resolutionSkill
- fusion-issue-solvingSkill
- fusion-issue-task-planningSkill
- fusion-mcpSkill
- fusion-package-scribeSkill
- fusion-pm-mcpSkill
- fusion-backend-devSkill
- fusion-developer-appSkill
- fusion-developer-portalSkill
- fusion-devtoolsSkill
- fusion-help-apiSkill
- fusion-help-integrationSkill
- fusion-infra-cliSkill
- fusion-issue-authoringSkill
- fusion-roles-cliSkill
- fusion-rulesSkill
- fusion-skill-authoringSkill
- fusionSkill
- fusion-skillsSkill
- equinor-design-systemSkill
- fusion-code-conventionsSkill
- fusion-researchSkill
- fusion-rule-authorSkill
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 4 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 23
Write help article for Fusion app
- Distinctive: line 24
Create/update release notes
- Distinctive: line 53
Look in "Admins" section — must be listed as admin to publish.
- Very specific: line 77
Create help-articles.json (tells CLI which articles to sync):
- Very specific: line 109
Create markdown files in the articles root folder.
- Distinctive: line 113
Write for end-users of the Fusion app
- Very specific: line 114
Use ##, ### for structure — avoid # (title comes from config)
- Very specific: line 115
Place images in images/; reference with !Alt text
- Very specific: line 151
Create help-release-notes.json if team publishes release notes:
- Very specific: line 251
Test in ci before promoting to fqa then fprd.
- Very specific: line 375
Test in ci before publishing to fprd
- Very specific: line 378
Never commit access tokens — use az login or pipeline service principals
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
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-validationwithout 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
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

