skills/fusion-skill-authoring/SKILL.md
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.
npx skillsauth add equinor/fusion-skills fusion-skill-authoringInstall 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.
Activate when creating a new skill under skills/, or when an existing skill needs a material authoring refresh.
Typical triggers:
skills/<name>/SKILL.md"Implicit triggers:
skills/If required inputs are missing, ask concise targeted questions first.
Use assets/follow-up-questions.md as the default question bank.
Collect before drafting:
custom-<base-skill-name> unless repo has different conventionCollect when relevant:
metadata.orchestrator for subordinates, metadata.skills for orchestratorsactive, experimental, deprecated, archived)compatibility text when skill has real environment constraintsmetadata.mcp.required / metadata.mcp.suggested)agents/ would sharpen scoping, review, or trigger tuningscripts/ directoryCapture if useful:
metadata.sponsor as backup accountability if catalog uses itValidate before writing files:
name: 1-64 characters, lowercase letters/numbers/hyphens only, must match the folder name, no leading/trailing hyphen, no consecutive hyphens, no XML tags, and no reserved wordscustom-<base-skill-name>description: non-empty, <= 1024 chars, third-person, no XML tags, states both what the skill does and when to use it
USE FOR: and DO NOT USE FOR: cuesdescription: 'Drafts release notes from validated repository context. USE FOR: release summaries, changelog preparation. DO NOT USE FOR: publishing releases or editing product code.'metadata.version: follow the target catalog's starting-version rule; if no local rule exists, "0.0.0" is a safe default for a new skillmetadata.owner: include only when the target catalog requires explicit ownership; use a stable GitHub identity or equivalent team handlemetadata.status: include only when the target catalog tracks lifecycle state; if used, keep it to active, experimental, deprecated, or archivedmetadata.tags: keep tags relevant, lowercase, and kebab-casemetadata: use simple key/value metadata unless a relationship field explicitly needs a list or maplicense: optional top-level fieldcompatibility: optional top-level field; only include it when the skill has real runtime, network, tool, or product constraintsRepository-specific prefix rules, ownership/lifecycle requirements, release policy, and validation commands belong in repo-local instructions or catalog docs, not in the portable skill package.
Capture at least three representative requests before writing long instructions:
Use these as acceptance criteria. If you can't define realistic requests, the scope is underspecified or not reusable enough to become a skill.
Decide skill type:
capability uplift: packages domain knowledge, tools, or reference materialworkflow / encoded preference: packages sequencing, review gates, style rules, or mutation orderDecide composition:
standalone: no coordinating skill requiredorchestrator: routes to companion skills, owns shared gatessubordinate: runs only under its orchestrator — document that dependencyChoose minimum folder structure:
SKILL.md alwaysreferences/ for long guidance, examples, tables, or platform-specific detailsassets/ for templates, checklists, sample outputs, and static filesagents/ for specialized helper roles when runtime supports skill-local agentsscripts/ only when deterministic automation materially improves safety or reliabilityKeep references one level deep. Don't create nested chains that force partial reads.
SKILL.mdWrite the smallest useful main document first:
When to use and When not to useRequired inputsInstructionsExpected outputSafety & constraintsKeep under 300 lines. Different runtimes have different context limits — files over 300 lines risk degradation on smaller runtimes and trigger CI warnings. Files over 500 lines fail CI. Move overflow to references/ early.
Prefer concise, specific instructions over background explanation. Assume the agent is capable; only add context it won't reliably infer.
Set degree of freedom intentionally:
Include at least one concrete example in SKILL.md or link to one in references/.
Move long or specialized content out of SKILL.md:
references/ for deep guidance, large examples, API/platform notes, or long checklistsassets/ for templates and reusable artifactsagents/ for helper set when runtime supports skill-local agents and workflow benefits from scoped second opinionscripts/ for deterministic operations that should be executed instead of regeneratedIf you add scripts:
If runtime ignores bundled helper agents, follow the same roles inline.
If skill depends on MCP, declare in metadata.mcp and document client-specific tool naming in skill content.
Run validation supported by the target environment after authoring changes:
If no dedicated skill tooling:
SKILL.md and every directly referenced file end-to-endUse representative requests from Step 2 to review:
If subagents are available:
agents/scoper.md before drafting to decide create vs update vs not-a-skillagents/devils-advocate.md during scoping and drafting to surface key concerns, or full structured interview when user asks to be grilled or significant ambiguity detectedagents/reviewer.md after drafting to review discovery, structure, safety, and validation evidenceagents/trigger-tuner.md when the main risk is weak activation cuesAfter portable package is correct, apply any repository-specific release or versioning rules.
Return authoring result as explicit contract:
SKILL.mdBorrowed from Anthropic skill-creator pattern but narrowed to Fusion-specific scoping, review, and trigger tuning.
agents/scoper.md — decide new skill vs update vs not a skill; choose smallest folder structureagents/reviewer.md — review drafted skill against discovery, structure, safety, and validationagents/trigger-tuner.md — sharpen description wording; compare activation-cue variantsagents/devils-advocate.md — always-on quality collaborator; moderate mode during authoring, interrogator mode when asked or significant ambiguity detectedIf runtime offers no subagents, keep the same review loop inline.
SKILL.md, and add assets/ only if templates are needed.fusion-skill-authoring."
Return:
See references/skill-template-baseline.md for default folder structure and baseline template.
See references/validation-signals.md for success signals, failure signals, and recovery steps.
Use assets/skill-readiness-checklist.md as final-quality checklist. Repository-specific PR requirements belong in repository instructions, not in the installable skill asset.
Never:
Always:
SKILL.md concise; move overflow to direct referencestools
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.
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.
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.