fusion-skill-authoring
Original:🇺🇸 English
Translated
Create or scaffold a new skill in a repository with valid metadata, clear activation cues, standard resource folders, safety boundaries, and validation evidence.
18installs
Sourceequinor/fusion-skills
Added on
NPX Install
npx skill4agent add equinor/fusion-skills fusion-skill-authoringTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Create Skill
When to use
Use this skill when you need to create a new skill under and want a valid, maintainable .
skills/SKILL.mdTypical triggers:
- "Create a skill for ..."
- "Scaffold "
skills/<name>/SKILL.md - "Add a new skill with proper metadata and guardrails"
- "Help me create a skill that helps create other skills"
When not to use
Do not use this skill for:
- Editing product/application code outside
skills/ - Large refactors of existing skills unless explicitly requested
- Running destructive commands or making unrelated repository changes
Required inputs
Collect before writing files:
- Base skill name in kebab-case (, without prefix)
<skill-name> - Prefix choice (ask explicitly; suggest by default unless the repository has its own convention)
custom- - Final skill name (unless the user chooses a different prefix or none)
custom-<skill-name> - Target path (,
skills/<final-skill-name>/, orskills/.experimental/<final-skill-name>/)skills/.curated/<final-skill-name>/ - Initial semantic version for frontmatter metadata (, default
MAJOR.MINOR.PATCHfor skills created in this repository)0.0.0 - License for frontmatter (by default, or repository-specific choice)
MIT - One-sentence purpose for frontmatter
description - Expected output (files, commands, summary)
- Safety boundaries
Validate metadata constraints:
- : <= 64 chars, lowercase letters/numbers/hyphens only, no XML tags, and no platform-reserved words
name - : non-empty, <= 1024 chars, no XML tags, includes both what it does and when to use it
description - : semantic version string (
metadata.version) in quoted YAML formatMAJOR.MINOR.PATCH - : primarily string key/value map; arrays allowed for explicit relationship fields, avoid nested objects
metadata- :
metadata.roleor"orchestrator"(subordinates cannot run without their orchestrator)"subordinate" - : required orchestrator skill name (subordinates only)
metadata.orchestrator - : list of subordinate skill names (orchestrators only)
metadata.skills - : optional list of lowercase kebab-case strings for discoverability
metadata.tags - : optional map for MCP server needs (
metadata.mcpandrequiredlists)suggested
- and
license: optional top-level frontmatter fields (not insidecompatibility)metadata
If required inputs are missing, ask concise targeted questions first.
Use as the default question bank.
assets/follow-up-questions.mdInstructions
- Check whether an existing skill already covers the request:
- Run
npx -y skills add . --list - If an existing skill matches, recommend using/updating that skill instead of creating a duplicate
- If a skill almost matches, open/recommend a repository issue to request tweaks to that existing skill instead of creating a new custom skill
- Prioritize reuse of repository skills to avoid proliferation of one-off custom skills
- Run
- Confirm scope, base skill name, prefix choice, and target path.
- Derive from prefix choice.
<final-skill-name> - Create .
<target>/<final-skill-name>/SKILL.md - Create resource directories as needed:
- for longer guidance and detailed docs
references/ - for templates/checklists/static resources
assets/ - only when deterministic automation is required
scripts/
- Write frontmatter (,
name) that satisfies constraints.description - Add the core sections:
- When to use
- When not to use
- Required inputs
- Instructions
- Expected output
- Safety & constraints
- Keep concise; move long guidance/examples to
SKILL.md.references/ - Use for templates, sample files, and static resources used by the skill.
assets/ - Add only when deterministic automation is required.
scripts/ - When inputs are missing, ask from and proceed once answered.
assets/follow-up-questions.md
Expected output
Return:
- Created/updated file paths
- Validation command(s) run
- Pass/fail result with interpretation
- Any required follow-up actions
- Any unresolved follow-up questions (if user input was still missing)
- Whether an existing skill was reused, and if an issue was created/recommended for an almost-match
For a newly scaffolded skill, the default structure should be:
text
skills/<final-skill-name>/
├── SKILL.md
├── references/
└── assets/Use this baseline for generated files:
SKILL.mdmarkdown
---
name: <final-skill-name>
description: <what it does + when to use it>
license: MIT
metadata:
version: "<initial-version>"
---
# <Skill Title>
## When to use
## When not to use
## Required inputs
## Instructions
## Expected output
## Safety & constraintsValidation
Run from repo root:
bash
npx -y skills add . --listPass criteria:
- Exit code is
0 - New skill appears discoverable/valid
- No metadata/path errors
If validation fails:
- Fix frontmatter (,
name)description - Verify path and existence
SKILL.md - Re-run and report final status
Ready-to-merge checklist
Use as a lightweight PR gate.
assets/ready-to-merge-checklist.mdSafety & constraints
Never:
- Request or expose secrets/credentials
- Run destructive commands without explicit user confirmation
- Invent validation results
- Modify unrelated files outside requested scope
- Add hidden network-fetch or unsafe script guidance without explicit request