Agent skill

Project Conventions

by canton-network in canton-network/splice

Repo-wide coding conventions enforced by pre-commit (copyright headers, scalafmt, Daml warts, TS formatting) so generated code matches on the first pass.

Apache-2.0Auto-check passedLegal & Compliance

Install Project Conventions

skills CLI
$ npx skills add canton-network/splice --skill project-conventions -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install canton-network/splice project-conventions --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/canton-network/splice.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/project-conventions .claude/skills/project-conventions && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
project-conventions
GitHub stars
118
Token cost
~845 tokens
SKILL.md length
375 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
Apache-2.0

At a glance

Repo-wide coding conventions enforced by pre-commit (copyright headers, scalafmt, Daml warts, TS formatting) so generated code matches on the first pass.

  • Legal & Compliance work in your project
  • SKILL.md covers All languages, Scala, Daml and TypeScript / frontend, plus 2 more sections
  • Calls make

What it does

Project Conventions is an agent skill from canton-network/splice. Repo-wide coding conventions enforced by pre-commit (copyright headers, scalafmt, Daml warts, TS formatting) so generated code matches on the first pass.

Its SKILL.md is about 850 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Legal & Compliance. It works with npm. The licence is Apache-2.0.

When your agent uses it

  • Legal & Compliance work in your project

Example prompts

  • “/project-conventions”

What it can do on your machine

Read from SKILL.md and the folder at commit a58ac6d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • make

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Project Conventions loads about 845 tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 375 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~43
When it runs · the whole SKILL.md, loaded when a task matches
~845

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from canton-network/splice at commit a58ac6d, republished under its Apache-2.0 licence (© canton-network). 375 words, ~845 tokens.

Download SKILL.mdSave it as .claude/skills/project-conventions/SKILL.md (or your agent's skills folder).
name
project-conventions
description
Repo-wide coding conventions enforced by pre-commit (copyright headers, scalafmt, Daml warts, TS formatting) so generated code matches on the first pass.
user-invocable
false

splice project conventions

These are enforced by .pre-commit-config.yaml and CI; matching them up front avoids pre-commit failures and review churn.

All languages

  • Every source file (.daml, .scala, .sh, .py, .tsx, .rst) needs the SPDX copyright header (see scripts/rename.sh, headerCreate sbt task). Copy the header from a neighboring file in the same directory rather than inventing one.
  • No trailing whitespace (check-trailing-whitespace.sh).

Scala

  • Format with scalafmt rules in .scalafmt.conf; don't hand-format against them.
  • Follow .scalafix.conf rules where applicable.
  • After adding, deleting or renaming a test suite under **/test/**/*.scala, run sbt updateTestConfigForParallelRuns and commit the test*.log files it changes. Static checks regenerate them and fail on any diff (build.static_tests.yml, "Verify no changes in SBT test files").

Daml

  • No illegal cross-package Daml references (scripts/rename.sh no_illegal_daml_references) — don't import across module boundaries that aren't part of the public API.
  • Avoid Daml warts flagged by scripts/check-daml-warts.sh (e.g. unsafe patterns the repo has banned).
  • All Daml return types must satisfy scripts/check-daml-return-types.sh — avoid inferred/implicit return types where the script expects explicit ones.
  • Changing daml.yaml or .daml files requires the dars_lock file to stay in sync (damlDarsLockFileUpdate).
  • Frontend packages depend on generated JS bindings pinned by version, e.g. @daml.js/splice-wallet in apps/package.json (file:common/frontend/daml.js/splice-wallet-0.1.23). Bumping a Daml package version means regenerating and re-pinning these — check apps/package.json and the relevant frontend package.json for stale versions after Daml model changes.
Show full SKILL.md (159 more words)Show less

TypeScript / frontend

  • Format via scripts/fix-ts.py, not raw prettier — it wraps prettier with repo-specific behavior. Skip *.prettierrc.cjs files.
  • Each frontend app (ans, scan, splitwell, sv, validator, wallet) under apps/ has its own openapi-ts-client package generated from the app's OpenAPI spec — don't hand-edit generated client code; regenerate instead.
  • ESLint runs with --max-warnings=0 — warnings fail the build, not just errors.
  • Workspaces are declared in apps/package.json; new frontend packages must be added there.

Shell / CI / infra

  • Shellcheck applies to all *.sh except under canton/ and .envrc (-e SC1091 globally ignored).
  • Changes under .github/** are checked by scripts/actionlint.sh.
  • Changes to cluster/pulumi/**/*.ts or any cluster/**/*.{yaml,yml} trigger make cluster/pulumi/test — verify Pulumi tests pass locally before proposing infra changes.
  • Grafana dashboard JSON under cluster/pulumi/observability/grafana-dashboards/ is validated by scripts/check-grafana-dashboards.sh.

AI-assisted contributions

Per AI_POLICY.md: the human author is fully accountable for AI-assisted contributions and must be able to explain every line. Don't pad PRs or review comments with unreviewed AI output — self-review before handing anything to a human reviewer.

© canton-network, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/project-conventions of canton-network/splice.

Open the folder on GitHubat commit a58ac6d

Compare with similar skills

Project Conventions next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Project Conventions compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Project Conventions this skillcanton-network/splice118—~845Automated safety check: PassApache-2.0
Analyzing Dependenciesjeremylongshore/tons-of-skills-marketplace2.8k—~1.7kAutomated safety check: PassMIT
Make Git Escrowinternet-court/internet-court-skill6.4k2 repos~922Automated safety check: NotesMIT
Fulfill Git Escrowinternet-court/internet-court-skill6.4k1 repos~1.2kAutomated safety check: NotesMIT
Dependency Auditoralirezarezvani/claude-skills28k—~1.1kAutomated safety check: PassMIT
Dependency Managementaiskillstore/marketplace4301 repos~1.1kAutomated safety check: PassNone

Similar skills

  • Analyzing Dependencies

    jeremylongshore/tons-of-skills-marketplace

    Analyze dependencies for known security vulnerabilities and outdated versions.

    2.8k GitHub stars~1.7k tokensUpdated today
    Legal & ComplianceAuto-check passed
  • Make Git Escrow

    internet-court/internet-court-skill

    Create a new git escrow bounty for a test suite. An agent skill from internet-court/internet-court-skill.

    6.4k GitHub starsUsed in 2 repos~922 tokens
    Testing & QAAuto-check: notes
  • Fulfill Git Escrow

    internet-court/internet-court-skill

    Fulfill a git escrow bounty by writing a solution or submitting an existing one.

    6.4k GitHub starsUsed in 1 repo~1.2k tokens
    DevelopmentAuto-check: notes
  • Dependency Auditor

    alirezarezvani/claude-skills

    Audit and manage dependencies across multi-language projects.

    28k GitHub stars~1.1k tokensUpdated 1 mo ago
    Legal & ComplianceAuto-check passed
  • Dependency Management

    aiskillstore/marketplace

    Dependency management specialist. An agent skill from aiskillstore/marketplace.

    430 GitHub starsUsed in 1 repo~1.1k tokens
    DevelopmentAuto-check passed
  • Brand Name Checker

    luongnv89/skills

    Check product and brand names for conflicts across trademarks, domains, social handles, and package registries.

    131 GitHub stars~2.6k tokensUpdated yesterday
    Legal & ComplianceAuto-check passed

More from canton-network/splice

  • CI Triage

    canton-network/splice

    Triage a failed splice GitHub Actions job (cn-test-failures ref) into a reproducible evidence packet - fetch job log and artifact, isolate the flagged lines, check the known flake families for…

    118 GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Works with

Questions about Project Conventions

What does Project Conventions do?

Repo-wide coding conventions enforced by pre-commit (copyright headers, scalafmt, Daml warts, TS formatting) so generated code matches on the first pass. Project Conventions is an agent skill from canton-network/splice. Repo-wide coding conventions enforced by pre-commit (copyright headers, scalafmt, Daml warts, TS formatting) so generated code matches on the first pass.

When should I use Project Conventions?

Project Conventions fits situations like: legal & Compliance work in your project.

How do I install Project Conventions in Claude Code?

Run `npx skills add canton-network/splice --skill project-conventions -a claude-code`. Or copy the skill folder (.claude/skills/project-conventions in canton-network/splice) into .claude/skills/project-conventions in your project. Claude Code loads it when a task matches its description.

How do I install Project Conventions in Codex?

Run `npx skills add canton-network/splice --skill project-conventions -a codex`. Or copy the skill folder (.claude/skills/project-conventions in canton-network/splice) into .agents/skills/project-conventions in your project. Codex loads it when a task matches its description.

Can I use Project Conventions in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add canton-network/splice --skill project-conventions -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/project-conventions, .gemini/skills/project-conventions, .github/skills/project-conventions and .opencode/skills/project-conventions in your project.

What does Project Conventions need to run?

Going by SKILL.md and its folder, Project Conventions needs the command-line tools its instructions call (make).

Does Project Conventions access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Project Conventions safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Project Conventions use?

Project Conventions is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Project Conventions use?

About 845 tokens (SKILL.md is roughly 3.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Project Conventions?

Skills that share tags, products or a category with Project Conventions: Analyzing Dependencies (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Make Git Escrow (internet-court/internet-court-skill, 6.4k stars), Fulfill Git Escrow (internet-court/internet-court-skill, 6.4k stars) and Dependency Auditor (alirezarezvani/claude-skills, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Project Conventions?

canton-network (a GitHub organization) maintains it in canton-network/splice, which has 118 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 8, 2026.

Source: canton-network/splice on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.