skills/.system/fusion-code-conventions/SKILL.md
Applies and explains code conventions across TypeScript, React, C#, and Markdown. Enforces naming rules, file naming patterns, TSDoc and XML doc standards, inline comment intent (the *why*, not the *what*), code structure, error handling, async patterns, and dead code policy. Also enforces ADR and contributor doc decisions, and flags decisions that appear stale or misaligned with current tooling. USE FOR: convention questions, code review against project standards, applying naming rules, auditing intent comments, checking TSDoc completeness, enforcing recorded ADR decisions, and flagging stale architectural decisions. DO NOT USE FOR: security vulnerability scanning, performance profiling, runtime debugging, or generating net-new code without a review target.
npx skillsauth add equinor/fusion-skills fusion-code-conventionsInstall 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 this skill whenever code needs to be reviewed, written, or explained against project conventions. It applies at two layers:
Typical triggers:
Do not use this skill for:
This skill provides org-wide baseline conventions. When it is installed in a repository that also documents its own conventions, the following precedence applies (highest wins):
CONTRIBUTING.md, contributor guides (for example under contribute/), ADRs (wherever they are stored, for example docs/adr/), .github/copilot-instructions.md, AGENTS.md, or equivalent repo-specific filesbiome.json, tsconfig.json, .editorconfig, and linter configs wherever they are definedreferences/*.conventions.md and agent modesWhen a repository explicitly narrows, relaxes, or contradicts a rule from this skill, the repository policy wins. Agents must not flag code that conforms to the repo's documented conventions, even if it deviates from the skill baseline.
If the conflict is not documented anywhere (no ADR, no contributor note, no config), treat the skill rule as the default and recommend the team record their intent — either adopt the baseline or add an explicit override.
For maintainers: record convention overrides in
CONTRIBUTING.md, a contributor guide, or an ADR so that both humans and agents discover them consistently.
| Agent | Activated for |
|---|---|
| agents/typescript.agent.md | TypeScript naming, TSDoc, type system, code style, error handling |
| agents/react.agent.md | React component structure, hooks rules, accessibility, keys |
| agents/csharp.agent.md | C# naming, CQRS patterns, async/await, null safety, testing |
| agents/markdown.agent.md | Markdown structure, frontmatter, links, callouts, GitHub-specific syntax |
| agents/intent.agent.md | Intent capture — applied in parallel on every code review |
| agents/constitution.agent.md | ADR and contributor doc enforcement — applied in parallel when project has decision records |
Convention references (authoritative rules per language):
references/typescript.conventions.mdreferences/react.conventions.mdreferences/csharp.conventions.mdreferences/markdown.conventions.mdIf required inputs are missing or ambiguous, ask before proceeding.
docs/adr/, CONTRIBUTING.md, contribute/ — if not provided)When the developer's context or persona is known, consult the matching follow-up file in assets/ for targeted clarifying questions before reviewing. Ask only the relevant unanswered questions.
assets/framework-core-developer.follow-up.md — Fusion Framework internals, shared libraries, framework APIsassets/react-app.follow-up.md — Fusion React app developmentassets/core-service.follow-up.md — Fusion Core backend services (C# / .NET)Detect the primary language of the target code or question, then activate the matching language agent:
.ts, non-component .tsx) → agents/typescript.agent.md.tsx with JSX or hooks, component files) → agents/react.agent.md.tsx (TypeScript type concerns + React component concerns) → both agents in parallel.cs, .csproj) → agents/csharp.agent.md.md, .mdx) → agents/markdown.agent.mdAlways activate in parallel on any code review:
agents/intent.agent.md — every review, regardless of languageagents/constitution.agent.md — when the project has ADRs (docs/adr/, adr/) or contributor docs (CONTRIBUTING.md, contribute/, .github/copilot-instructions.md)If the language cannot be determined from context, ask before proceeding.
Each language agent reads its authoritative reference file first, then:
biome.json or .editorconfigThe intent and constitution agents run in parallel and contribute their findings to the combined report.
Organise all findings from all agents into a unified report:
any types, constitutional violationsFor each finding: state the rule, the affected code, and the corrected version or recommended action.
Apply only corrections the user explicitly approves. Edit files using workspace tools. Do not rewrite entire files unless the file is under 50 lines.
biome.json or .editorconfig.tools
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.
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.