
fusion-code-conventions
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.
- Installs
- 2.2K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/equinor/fusion-skills --skill fusion-code-conventions- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads fusion-code-conventions automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Code Conventions
When to use
Use when code needs review, writing, or explanation against project conventions. Applies at two layers:
- Language conventions — naming, file naming, type system, TSDoc/XML doc standards, code structure, error handling, async patterns, dead code policy. Each language has a dedicated agent and authoritative reference doc.
- Cross-cutting conventions — applied on every review: intent capture (every non-obvious decision must be documented well enough that code could be regenerated from comments alone) and constitution enforcement (ADRs and contributor docs are law; deviations require a new decision record; stale decisions flagged).
Typical triggers:
- "what are the naming conventions for this project?"
- "how should I write TSDoc for this function?"
- "does this file follow our code style?"
- "review this for convention violations"
- "what comment style should I use here?"
- "is this idiomatic TypeScript / React / C# / Markdown?"
- "apply code conventions to this file"
- "are these inline comments good enough?"
- "does this violate any ADR?"
- "is this ADR still current?"
- "we have a CONTRIBUTING.md — check if this change follows it"
When not to use
- Security vulnerability scanning (use a dedicated security review skill)
- Performance profiling or benchmarking
- High-level architecture or system design decisions
- Generating net-new code without a review target
- Mutating files without explicit user confirmation
Precedence and applicability
This skill provides org-wide baseline conventions. When installed in a repository with its own conventions, precedence (highest wins):
- Repository-level policy —
CONTRIBUTING.md, contributor guides (contribute/), ADRs,.github/copilot-instructions.md,AGENTS.md, or equivalent - Tooling configuration —
biome.json,tsconfig.json,.editorconfig, linter configs - This skill — all rules in
references/*.conventions.mdand agent modes
When a repository explicitly narrows, relaxes, or contradicts a rule from this skill, the repository policy wins. Don't flag code that conforms to repo's documented conventions, even if it deviates from the skill baseline.
If conflict is undocumented (no ADR, no contributor note, no config), treat the skill rule as default and recommend the team record their intent.
For maintainers: record convention overrides in
CONTRIBUTING.md, a contributor guide, or an ADR so both humans and agents discover them consistently.
Agent modes
| 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.md
Required inputs
If required inputs are missing or ambiguous, ask before proceeding.
- Target code (inline snippet or file path) or a specific convention question
- Language or file type (inferred from content if not provided)
- For constitution checks: path to ADR directory and/or contributor docs (inferred from common locations —
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. Ask only 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)
Instructions
Step 1 — Classify and route
Detect the primary language, then activate the matching language agent:
- TypeScript (
.ts, non-component.tsx) →agents/typescript.agent.md - React (
.tsxwith JSX or hooks, component files) →agents/react.agent.md - Mixed
.tsx(TypeScript type concerns + React component concerns) → both agents in parallel - C# (
.cs,.csproj) →agents/csharp.agent.md - Markdown (
.md,.mdx) →agents/markdown.agent.md
Always activate in parallel on any code review:
agents/intent.agent.md— every review, regardless of languageagents/constitution.agent.md— when project has ADRs (docs/adr/,adr/) or contributor docs (CONTRIBUTING.md,contribute/,.github/copilot-instructions.md)
If language cannot be determined, ask before proceeding.
Step 2 — Apply or explain conventions
Each language agent reads its authoritative reference file first, then:
- For convention questions: answers with rule explanation and corrected code example
- For code review: identifies deviations, states the rule, shows corrected version
- Does not flag patterns the project has explicitly configured in
biome.jsonor.editorconfig
The intent and constitution agents run in parallel and contribute findings to the combined report.
Step 3 — Present findings
Organise all findings from all agents into a unified report:
- Required — must fix: naming violations, missing TSDoc on exports,
anytypes, constitutional violations - Recommended — should fix: weak intent comments, undocumented magic values, unjustified suppressions
- Advisory — consider: missing decision records, stale ADRs, implicit exceptions to formalise
For each finding: state the rule, affected code, and corrected version or recommended action.
Step 4 — Apply corrections
Apply only corrections the user explicitly approves. Edit files using workspace tools. Don't rewrite entire files unless under 50 lines.
Expected output
- For convention questions: a rule explanation with a corrected code or markup example
- For code review: a unified findings report (Required / Recommended / Advisory) covering language conventions, intent quality, and constitutional compliance
- Offered corrections with the user's explicit approval before any file is mutated
Safety & constraints
- Never mutate files without explicit user confirmation.
- Don't flag style choices the project has opted into via
biome.jsonor.editorconfig. - Don't invent ADR content — only enforce and challenge what is actually documented.
FAQ
What does the fusion-code-conventions skill do?
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.
How do I install fusion-code-conventions?
Run npx skills add https://github.com/equinor/fusion-skills --skill fusion-code-conventions in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/fusion-code-conventions/ (personal) or .claude/skills/fusion-code-conventions/ (project).
Which AI agents can use fusion-code-conventions?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is fusion-code-conventions safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains fusion-code-conventions?
It is published by equinor in equinor/fusion-skills. It has 2,192 recorded installs.
More from equinor/fusion-skills
fusion-issue-authoring
equinor/fusion-skills
Classify issue type, activate the matching agent mode for type-specific drafting, and enforce shared safety gates before GitHub mutation.
fusion-github-review-resolution
equinor/fusion-skills
Resolves unresolved GitHub PR review threads end-to-end: evaluates whether each review comment is correct, applies a targeted fix when valid, replies with rationale when not, commits, and resolves the thread. USE FOR: unresolved review threads, PR review feedback, changes requested PRs, PR review URLs (pullrequestreview-...), fix the review comments, close the open threads, address PR feedback. DO NOT USE FOR: summarizing feedback without code changes, creating new PRs, or read-only branches.
fusion-issue-solving
equinor/fusion-skills
Handles GitHub issue resolution end-to-end for prompts like "solve 123", "lets solve 123", "work on 123", "work on https://github.com/owner/repo/issues/123", or by pasting a direct GitHub issue URL as the request. USE FOR: solve 123, continue work on issue 123, work on https://github.com/owner/repo/issues/123, paste a GitHub issue URL for implementation work. DO NOT USE FOR: issue drafting only, PR review only, or non-implementation research.
fusion-dependency-review
equinor/fusion-skills
Review dependency PRs with structured research, existing-PR-discussion capture, multi-lens analysis (security, code quality, impact), and a repeatable verdict template. USE FOR: dependency update PRs, Renovate/Dependabot PRs, library upgrade reviews, "review this dependency PR", "should we merge this update". DO NOT USE FOR: feature PRs, application code reviews, dependency automation/bot configuration, or unattended merge without confirmation.
fusion-mcp
equinor/fusion-skills
Explain what Fusion MCP is and guide users through setting it up when they need Fusion-aware MCP capabilities in Copilot workflows.
fusion-skill-authoring
equinor/fusion-skills
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.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.