Agent skill

Named Arguments

by celeriant in celeriant/celeriant-db

Design function parameters when a signature has several same-typed positional args, bare bools, optional args, many knobs, overload-like inputs, or variadic input.

Apache-2.0Auto-check passedBackend & APIs

Install Named Arguments

skills CLI
$ npx skills add celeriant/celeriant-db --skill named-arguments -a claude-code

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

GitHub CLI
$ gh skill install celeriant/celeriant-db named-arguments --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/celeriant/celeriant-db.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/named-arguments .claude/skills/named-arguments && 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
named-arguments
GitHub stars
114
Token cost
~710 tokens
SKILL.md length
366 words
Files
1
Skills in repo
13
Repo updated
First seen
Licence
Apache-2.0

At a glance

Design function parameters when a signature has several same-typed positional args, bare bools, optional args, many knobs, overload-like inputs, or variadic input.

  • Backend & APIs work in your project
  • SKILL.md covers Pick the shape, Rules and Hot paths
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Named Arguments is an agent skill from celeriant/celeriant-db. Design function parameters when a signature has several same-typed positional args, bare bools, optional args, many knobs, overload-like inputs, or variadic input. Replace them with structs, Option, From, enums, trait bounds, builders or slices. Use defaults-and-breakage when the question is which fields are required.

Its SKILL.md is about 710 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 Backend & APIs. The repository describes itself as: Fast, distributed per-aggregate event log with strict ordering and optimistic concurrency control. The licence is Apache-2.0.

When your agent uses it

  • Backend & APIs work in your project

Example prompts

  • “/named-arguments”

What it can do on your machine

Read from SKILL.md and the folder at commit d071a6d. 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

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    Links to these hosts (documentation or services it may open):

    • corrode.dev

    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

Named Arguments loads about 710 tokens when it runs. Until then it costs about 84 tokens; SKILL.md has 366 words of instructions outside code blocks.

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

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 celeriant/celeriant-db at commit d071a6d, republished under its Apache-2.0 licence (© celeriant). 366 words, ~710 tokens.

Download SKILL.mdSave it as .claude/skills/named-arguments/SKILL.md (or your agent's skills folder).
name
named-arguments
description
Design function parameters when a signature has several same-typed positional args, bare bools, optional args, many knobs, overload-like inputs, or variadic input. Replace them with structs, Option, From, enums, trait bounds, builders or slices. Use defaults-and-breakage when the question is which fields are required.

Named arguments at home

Rust has no named arguments. Types do the job better: the names live on the type, not in every function's calling convention.

Source: https://corrode.dev/blog/named-arguments-at-home/

Pick the shape

Signature smellReplace with
Several related params, easy to swap (u32, u32, u32, u32)Struct with named fields
One optional paramOption<T> in the signature
Several optional paramsStruct of Option fields, every field spelled out at the call site
Bare bool or mode flagTwo-variant enum named for the behavior
Fundamentally different input kindsEnum, with From impls for terse call sites
Same meaning, different input typesTrait bound: impl AsRef<str>, impl Into<T>
Construction needs validation or conditional stepsBuilder
Variable count of same-typed args&[T] or impl IntoIterator<Item = T>

Rules

  • Group params into a struct when a caller can swap two of them without a compile error.
  • Name the struct for the domain concept it reveals (Rect, ConnectionOptions), not for the function (CropArgs). A missing concept is the usual reason a signature grew.
  • Put optionality in the type. No sentinel values (0, -1, empty string) meaning "not set".
  • No Default and no ..Default::default() for param structs. Every field is written at the call site; an explicit None is the point. See defaults-and-breakage for constructor shape.
  • Use From impls to convert domain values into param types or enum variants, so call sites stay terse without hiding choices.
  • Use field-init shorthand (Options { timeout, retries }) so struct construction costs no more than keyword args.
  • Enforce invariants in the struct's constructor, not in every function that takes it.
  • Reach for a builder last. Prefer a plain struct; build only when a step validates, converts, or depends on a runtime condition. Required values go in builder(...), not in setters.
  • Borrow in enum and struct fields where the value is only read for the call (&str, not String).
  • Prefer impl IntoIterator over &[T] when callers would otherwise collect into a Vec just to call.
Show full SKILL.md (45 more words)Show less

Hot paths

  • Pass small param structs by value; they are plain stack data and cost nothing over positional args.
  • Use generic bounds (impl Into<T>), never Box<dyn Trait>, for input flexibility.
  • No builder that allocates on a hot path. Build once at setup, reuse the result.

© celeriant, 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/named-arguments of celeriant/celeriant-db.

Open the folder on GitHubat commit d071a6d

Compare with similar skills

Named Arguments 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.

Named Arguments compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Named Arguments this skillceleriant/celeriant-db114—~710Automated safety check: PassApache-2.0
Configuring Horizoncoollabsio/coolify63k4 repos~898Automated safety check: PassMIT
Nestjs Best Practicesrolling-scopes/rsschool-app10k6 repos~1.2kAutomated safety check: PassMIT
Sub2API AdminWei-Shaw/sub2api43k1 repos~717Automated safety check: PassLGPL-3.0
Firecrawl Build Onboardingfirecrawl/firecrawl190k1 repos~1.4kAutomated safety check: NotesISC
Obsidian BasesAtmosphere/atmosphere3.8k22 repos~3.2kAutomated safety check: PassApache-2.0

Similar skills

  • Configuring Horizon

    coollabsio/coolify

    A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.

    63k GitHub starsUsed in 4 repos~898 tokens
    Backend & APIsAuto-check passed
  • Nestjs Best Practices

    rolling-scopes/rsschool-app

    NestJS best practices and architecture patterns for building production-ready applications.

    10k GitHub starsUsed in 6 repos~1.2k tokens
    Backend & APIsAuto-check passed
  • Sub2API Admin

    Wei-Shaw/sub2api

    Manages a Sub2API deployment from the command line: accounts, redeem and invitation codes, groups, proxies, imports, exports and raw admin API calls.

    43k GitHub starsUsed in 1 repo~717 tokens
    Backend & APIsAuto-check passed
  • Firecrawl Build Onboarding

    firecrawl/firecrawl

    Gets Firecrawl working in a project: signs you in through the browser, saves FIRECRAWL_API_KEY to .env and picks the first SDK or REST path.

    190k GitHub starsUsed in 1 repo~1.4k tokens
    Backend & APIsAuto-check: notes
  • Obsidian Bases

    Atmosphere/atmosphere

    Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries.

    3.8k GitHub starsUsed in 22 repos~3.2k tokens
    Backend & APIsAuto-check passed
  • Fortify Development

    coollabsio/coolify

    ACTIVATE when the user works on authentication in Laravel. An agent skill from coollabsio/coolify.

    63k GitHub starsUsed in 4 repos~1.9k tokens
    Backend & APIsAuto-check passed

More from celeriant/celeriant-db

All 13 skills in this repo
  • Error Handling

    celeriant/celeriant-db

    Error handling patterns in Celeriant. An agent skill from celeriant/celeriant-db.

    114 GitHub stars~550 tokensUpdated 9 days ago
    Auto-check passed
  • Testing

    celeriant/celeriant-db

    How to write and run tests in Celeriant. An agent skill from celeriant/celeriant-db.

    114 GitHub stars~951 tokensUpdated 9 days ago
    Auto-check passed
  • Understanding Celeriant Structure

    celeriant/celeriant-db

    Celeriant codebase architecture, crate responsibilities, and how they fit together.

    114 GitHub stars~803 tokensUpdated 9 days ago
    Auto-check passed
  • Extract A Type

    celeriant/celeriant-db

    Refactor a named Rust type or its surrounding code with an agreed scope.

    114 GitHub stars~934 tokensUpdated 9 days ago
    Auto-check passed
  • Client Server Protocol

    celeriant/celeriant-db

    Celeriant's client-server protocol invariants, network behavior, failure modes, and shard routing.

    114 GitHub stars~1.6k tokensUpdated 9 days ago
    Auto-check passed
  • Database Architecture

    celeriant/celeriant-db

    Core architecture invariants for Celeriant. An agent skill from celeriant/celeriant-db.

    114 GitHub stars~1.5k tokensUpdated 9 days ago
    Auto-check passed

Categories

Questions about Named Arguments

What does Named Arguments do?

Design function parameters when a signature has several same-typed positional args, bare bools, optional args, many knobs, overload-like inputs, or variadic input. Named Arguments is an agent skill from celeriant/celeriant-db. Design function parameters when a signature has several same-typed positional args, bare bools, optional args, many knobs, overload-like inputs, or variadic input.

When should I use Named Arguments?

Named Arguments fits situations like: backend & APIs work in your project.

How do I install Named Arguments in Claude Code?

Run `npx skills add celeriant/celeriant-db --skill named-arguments -a claude-code`. Or copy the skill folder (.claude/skills/named-arguments in celeriant/celeriant-db) into .claude/skills/named-arguments in your project. Claude Code loads it when a task matches its description.

How do I install Named Arguments in Codex?

Run `npx skills add celeriant/celeriant-db --skill named-arguments -a codex`. Or copy the skill folder (.claude/skills/named-arguments in celeriant/celeriant-db) into .agents/skills/named-arguments in your project. Codex loads it when a task matches its description.

Can I use Named Arguments 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 celeriant/celeriant-db --skill named-arguments -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/named-arguments, .gemini/skills/named-arguments, .github/skills/named-arguments and .opencode/skills/named-arguments in your project.

What does Named Arguments need to run?

SKILL.md names no scripts, command-line tools or credentials: Named Arguments is instructions for the agent only.

Does Named Arguments access the network?

SKILL.md names 1 domain. As links in the text: corrode.dev. This is read from the text; nothing was executed.

Is Named Arguments 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 Named Arguments use?

Named Arguments 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 Named Arguments use?

About 710 tokens (SKILL.md is roughly 2.8k 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 Named Arguments?

Skills that share tags, products or a category with Named Arguments: Configuring Horizon (coollabsio/coolify, 63k stars), Nestjs Best Practices (rolling-scopes/rsschool-app, 10k stars), Sub2API Admin (Wei-Shaw/sub2api, 43k stars) and Firecrawl Build Onboarding (firecrawl/firecrawl, 190k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Named Arguments?

celeriant (a GitHub organization) maintains it in celeriant/celeriant-db, which has 114 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on September 28, 2026.

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