Fusion Rule Author
Support skill providing the workflow, templates, and references for AI coding assistant rule authoring. Invoked by fusion-rules gateway agents — not intended for direct use.
- Skill ID
- equinor/fusion-skills/fusion-rule-author
- Publisher
- equinor
- Repository
- fusion-skills
- Installs
- 0
- Files
- 10
- License
- MIT
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
equinor/fusion-skills/fusion-rule-authorInstalls these files- CHANGELOG.md
- SKILL.md
- assets/claude-rule-template.md
- assets/copilot-instructions-template.md
- assets/creation-follow-up.md
- assets/cursor-rule-template.mdc
- assets/frontmatter-scenarios.md
- assets/quality-checklist.md
- assets/scoped-rule-template.md
- references/examples.md
What this skill tells the agent
Rule Author
Canonical workflow, templates, and references for authoring AI coding assistant rules. Supports GitHub Copilot, Cursor, and Claude Code.
Internal skill. Users interact via the fusion-rules gateway, which routes to editor-specific agents that follow the workflow defined here.Scope
This skill provides:
- Workflow (Steps 1–7 below) — the guided authoring process
- Templates (
assets/) — starter files for each editor format - References (
references/) — tech-stack examples
It does not provide agents. Agents live in fusion-rules/agents/ and reference this skill's assets and workflow.
Required inputs
Mandatory
- [ ] Repository context (working directory or repo URL)
Gathered during interview
- [ ] Tech stack (languages, frameworks, build tools)
- [ ] Code conventions (naming, formatting, patterns)
- [ ] Testing expectations (framework, coverage, style)
- [ ] Documentation preferences (comments, TSDoc/JSDoc, README standards)
- [ ] Commit and PR conventions
- [ ] Error handling patterns
- [ ] Security or compliance constraints
- [ ] File/path-specific conventions that need scoped rules
Instructions
Step 1 — Assess current state
Check the repository for existing rule files:
.github/copilot-instructions.md
.github/instructions/*.instructions.md
.cursor/rules/*.md
.cursor/rules/*.mdc
.cursor/rules/**/*.md
.cursor/rules/**/*.mdc
CLAUDE.md
.claude/CLAUDE.md
.claude/rules/*.md
.claude/rules/**/*.mdReport what exists, what is missing, and whether updates or new files are needed.
Step 2 — Scan repository
Before interviewing, scan for existing documentation and configuration that encodes conventions. Extract actionable directives from:
Documentation files:
README.md— project overview, setup, tech stackCONTRIBUTING.md— code style, PR workflow, commit conventionsAGENTS.md,CLAUDE.md— existing AI instructionsdocs/adr/**,adr/**,docs/decisions/**— Architecture Decision Recordsdocs/**/*.md— developer guides, onboarding docs, style guidesSECURITY.md— security policiesCODE_OF_CONDUCT.md— collaboration guidelines (rarely rule-relevant)
Configuration files:
package.json/pyproject.toml/*.csproj— tech stack, scripts, dependenciestsconfig.json/jsconfig.json— language settings, strictnessbiome.json/.eslintrc*/.prettierrc*/ruff.toml/.editorconfig— formatting and linting.github/workflows/*.yml— CI checks, required validations, test commandsDockerfile/docker-compose.yml— runtime environmentMakefile/Justfile/Taskfile.yml— build and task commands
Code patterns (sample, don't exhaustively read):
- Entry points (
src/index.*,src/main.*,app.*) — architecture patterns - Test files — testing framework, naming conventions, file placement
- Directory structure — architectural boundaries, feature organization
For each source, extract:
- Concrete conventions that can become imperative directives
- Build/test/lint commands the AI should know
- Architecture boundaries or patterns to follow
- Explicit "do this / don't do that" rules
Skip:
- Implementation details that change frequently
- Content that restates language/framework defaults
- Aspirational rules not enforced by CI or team practice
Present summary of discovered conventions to the developer, organized by area, before proceeding to the interview.
Step 3 — Interview (fill gaps)
Use scan results to skip areas already well-documented. Ask focused questions only for gaps. Cover these areas one at a time:
- Tech stack — languages, frameworks, runtime, package manager
- Code style — naming conventions, formatting rules, import ordering
- Architecture — project structure, key patterns (MVC, hexagonal, etc.)
- Testing — framework, conventions, coverage expectations
- Documentation — inline comments style, doc generation, README standards
- Git workflow — branch naming, commit message format, PR expectations
- Security — sensitive data handling, auth patterns, compliance rules
- Path-specific concerns — directories or file types needing specialized guidance
For each area, present what the scan found and ask: "Is this accurate? Anything to add or correct?" Don't re-ask for information already captured.
For each convention needing deeper context, use follow-up questions in assets/creation-follow-up.md — purpose, exceptions, boundaries, voice.
Step 4 — Classify guidance
Separate the gathered conventions into buckets:
GitHub Copilot:
| Bucket | Target file | When it activates |
|---|---|---|
| Always-on conventions | .github/copilot-instructions.md | Every Copilot interaction |
| Scoped conventions | .github/instructions/<name>.instructions.md | Only when matching files are open/referenced |
Cursor:
| Bucket | Target file | When it activates |
|---|---|---|
| Always-on conventions | .cursor/rules/<name>.mdc with alwaysApply: true | Every Cursor Agent session |
| Auto-attached conventions | .cursor/rules/<name>.mdc with globs | When matching files are in context |
| Agent-selected conventions | .cursor/rules/<name>.mdc with description only | When the Agent decides it is relevant |
| Manual conventions | .cursor/rules/<name>.mdc (no alwaysApply, no globs) | Only when @-mentioned in chat |
Claude Code:
| Bucket | Target file | When it activates |
|---|---|---|
| Always-on conventions | CLAUDE.md or .claude/CLAUDE.md | Every Claude Code session |
| Scoped conventions | .claude/rules/<name>.md with paths frontmatter | When Claude reads matching files |
| Unconditional rule | .claude/rules/<name>.md (no paths) | Every session (like always-on) |
Decision rule: If a convention applies to all files in the repo, it belongs in root / always-on instructions. If it applies only to specific paths or file types, create a scoped rule.
When targeting multiple editors, generate parallel files with equivalent content — do not duplicate guidance within a single editor's files.
Step 5 — Draft rule files
Generate files using templates in assets/:
GitHub Copilot:
- Root instructions: use
assets/copilot-instructions-template.md - Scoped instructions: use
assets/scoped-rule-template.mdwith correctapplyToglob
Cursor:
- Use
assets/cursor-rule-template.mdcand set frontmatter accordingly
Claude Code:
- Project instructions: use
assets/claude-rule-template.md - Scoped rules: place in
.claude/rules/withpathsfrontmatter
Quality rules (enforced during drafting):
- Keep instructions concise — actionable directives, not explanations
- Use imperative voice ("Use camelCase for variables", not "Variables should use camelCase")
- Avoid duplicating guidance between root and scoped files
- Validate
applyTo/globs/pathsglob patterns match intended files - Warn if total root instructions exceed ~80 lines (risk of context dilution)
- Warn if scoped instruction file exceeds ~50 lines (GitHub Copilot), ~500 lines (Cursor), ~200 lines (Claude Code CLAUDE.md)
- See
references/examples.mdfor concrete good/bad examples - See
assets/quality-checklist.mdfor full checklist
Step 6 — Review and refine
Present drafted files to the developer. For each file:
- Show full content
- Highlight quality warnings (length, broad globs, duplication)
- Ask for approval or edits
Step 7 — Write files
After approval, write rule files to the repository. Create .github/instructions/, .cursor/rules/, and/or .claude/rules/ directories as needed.
Confirm final file list and paths before writing.
Expected output
.github/copilot-instructions.md— root instructions file (created or updated)
More from equinor
Use this skill in a project
Open any RiverX project, search the Skills panel for equinor/fusion-skills/fusion-rule-author, and install it in one click.
