skills/fusion-devtools/SKILL.md
Use Fusion DevTools CLI (fdev) for API testing, token acquisition, service discovery, and person lookup during development. USE FOR: calling Fusion REST APIs, getting access tokens as JSON, discovering services and environments, resolving persons, PIM role activation. DO NOT USE FOR: modifying backend service code, deploying services, infrastructure changes, CI/CD pipeline configuration, or Service Bus operations.
npx skillsauth add equinor/fusion-skills fusion-devtoolsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use when you need to interact with Fusion platform services from the command line — calling APIs, getting tokens, discovering services, or looking up persons.
Typical triggers:
Implicit triggers:
Install fdev as a .NET global tool:
dotnet tool install --global --add-source "https://statoil-proview.pkgs.visualstudio.com/Fusion%20-%20Packages/_packaging/Fusion-Public/nuget/v3/index.json" fusion-devtools
Update to latest:
dotnet tool update --global --add-source "https://statoil-proview.pkgs.visualstudio.com/Fusion%20-%20Packages/_packaging/Fusion-Public/nuget/v3/index.json" fusion-devtools
Authenticate before first use:
fdev login
Use fdev rest to call any Fusion service. Service discovery resolves the base URL and acquires a token automatically.
fdev rest <serviceKey> '<path>'
The path must be quoted in zsh/bash to prevent ? glob expansion.
Examples:
# GET from people service (production)
fdev rest people '/persons/me?api-version=3.0'
# POST with JSON body
fdev rest context '/contexts?api-version=1.0' -m post -b '{"query":"test"}'
# POST with body from file
fdev rest people '/persons/search?api-version=3.0' -m post -b @request.json
# Different environment
fdev rest people '/persons/me?api-version=3.0' -e ci
# Save response to file
fdev rest people '/persons/me?api-version=3.0' -o response.json
# Full URL mode (skip discovery)
fdev rest --url https://httpbin.org/get --no-auth
# Custom scope override
fdev rest people '/persons/me?api-version=3.0' --scope api://my-app/.default
Key options: -m method, -b body (@file supported), -e environment, --url full URL mode, --no-auth skip auth, --scope override scope, -o output file, --header KEY=VALUE.
Use fdev get-access-token for structured JSON token output, similar to az account get-access-token. Output is pipe-friendly.
# Token for a specific service (resolves scope via discovery)
fdev get-access-token --service-key people
# Token with explicit scope
fdev get-access-token --scope api://97978493-9777-4d48-b38a-67b0b9cd88d2/.default
# Extract just the token
fdev get-access-token --service-key people | jq -r '.accessToken'
Output format:
{
"accessToken": "eyJ...",
"expiresOn": "2026-05-15T12:00:00+00:00",
"expiresOnUnix": 1778846400,
"scope": "api://app-id/.default",
"tokenType": "Bearer"
}
# List all environments
fdev disc envs
# List services in an environment (JSON output)
# Note: disc subcommand uses single-dash flags (-json, -out) — this is by design
fdev disc env list fprd -json
# List services showing key and URI
fdev disc env list fprd -out ku
# Resolve by email
fdev persons resolve [email protected]
# Search by name
fdev persons search "John"
Elevate Azure access when needed for admin operations:
fdev pim azure activate
Safety: always confirm with the user before running PIM activation — this grants elevated access.
For quick clipboard-based token workflows (existing command):
fdev token # test environment token
fdev token --prod # production token
Before using any fdev command, verify it is installed:
fdev --version
If not installed, show the install command from Prerequisites. If authentication is needed, run fdev login.
| Need | Command |
|---|---|
| Call a Fusion API and see the response | fdev rest <service> '<path>' |
| Get a token for scripting/piping | fdev get-access-token --service-key <key> |
| Find available services | fdev disc env list <env> |
| Find service base URL and scope | fdev disc env list <env> -json then filter by key |
| Look up a person | fdev persons resolve <email> |
| Quick clipboard token | fdev token |
Add --verbose to any command for diagnostic output including cache hit/miss, full request/response headers, and token details.
fdev rest people '/persons/me?api-version=3.0' --verbose
Service discovery results are cached locally (environments: 24h, services: 1h). Use --no-cache to force fresh lookups:
fdev rest people '/persons/me?api-version=3.0' --no-cache
| Key | Purpose | Notes |
|---|---|---|
| ci | Continuous integration / development | Least stable, latest changes |
| fqa | Quality assurance | Pre-production validation |
| fprd | Production | Default environment |
Default environment is fprd for all commands. Override with -e <env>.
See references/ for detailed command options and workflow recipes:
command-reference.md — compact command cheat sheet with all optionsagentic-patterns.md — common agentic workflow recipes? in shell commands to prevent glob expansion--no-auth only for genuinely public endpointsfdev pim azure activate (elevated access)testing
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.
tools
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.
tools
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.
development
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.