Agent skill

Naming

by tola-rs in tola-rs/tola-ssg

Name what a thing is, not how it is built. An agent skill from tola-rs/tola-ssg.

MITAuto-check passedFrontend & Design

Install Naming

skills CLI
$ npx skills add tola-rs/tola-ssg --skill naming -a claude-code

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

GitHub CLI
$ gh skill install tola-rs/tola-ssg naming --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/tola-rs/tola-ssg.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/naming .claude/skills/naming && 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
naming
GitHub stars
178
Token cost
~1.3k tokens
SKILL.md length
647 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Name what a thing is, not how it is built. An agent skill from tola-rs/tola-ssg.

  • Works in 3 steps: What is represented? → Who owns it? → When is it valid?
  • Frontend & Design work in your project
  • SKILL.md covers Start from the domain, Avoid, The check and Renaming
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Naming is an agent skill from tola-rs/tola-ssg. Name what a thing is, not how it is built. Use before writing, renaming, or reviewing a name in Rust code — a type, function, trait, module, file, collection, field, variable, boolean, constant, error, cache, test, CLI flag, or configuration key — and whenever a name is vague, drifts from what it holds, or hides a design nobody can state.

Its SKILL.md is about 1.3k 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 Frontend & Design. It works with Rust. The repository describes itself as: SSG for typst-based websites - keep your focus on the content. The licence is MIT.

When your agent uses it

  • Frontend & Design work in your project

Example prompts

  • “/naming”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. What is represented?
  2. Who owns it?
  3. When is it valid?

What it can do on your machine

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

    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

Naming loads about 1.3k tokens when it runs. Until then it costs about 87 tokens; SKILL.md has 647 words of instructions outside code blocks.

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

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 tola-rs/tola-ssg at commit fbb0506, republished under its MIT licence (© tola-rs). 647 words, ~1,260 tokens.

Download SKILL.mdSave it as .claude/skills/naming/SKILL.md (or your agent's skills folder).
name
naming
description
Name what a thing is, not how it is built. Use before writing, renaming, or reviewing a name in Rust code — a type, function, trait, module, file, collection, field, variable, boolean, constant, error, cache, test, CLI flag, or configuration key — and whenever a name is vague, drifts from what it holds, or hides a design nobody can state.

Naming

Scope: names in Rust code. Typst sources — the embedded @tola/* packages, generated scaffolding, and site recipes — follow Typst's conventions and the site vocabulary the tola skill records.

A name carries 3 facts: what represented, who owns it, when valid. Cannot answer all 3 from name + owner → wrong name.

Start from the domain

Name the entity or invariant, not the storage technique: SourceSnapshot holds frozen source identity; BytesBlob says only how bytes are kept.

  • Type: the entity or invariant it represents.
  • General term: earned by breadth carried, never by default — the precise word when several distinct things really share it (one Diagnostic for the record every producer emits; one Source for every file the compiler reads). Narrowed to one concrete thing, an earned word still describes it; an unearned one collapses — was filler all along.
  • Function: the operation, and the value produced when not obvious.
  • Module/file: one cohesive responsibility — not a phase of work, not a bucket for unrelated code.
  • Collection: what members are: DeclaredOutputs, not outputList.
  • Boolean: reads as the predicate held: is_draft, not draft_flag.
  • Transformation: names input and output: normalize_path, not process_path.
  • Error: the contract that failed: MissingPackageRoot, not InvalidInput.
  • Cache: the reusable value + boundary where it stops being valid.

Avoid

  • Never catalog in Tola-owned identifiers, modules, files, directories — incl case variants and compounds (PackageCatalog, package_catalog). Name the actual entity: PublishedPackages, PackageVersions, IconCollections. Another vague container word does not fix it. Preserve user-authored names and upstream-API spellings; do not adopt them for Tola's own.
  • Placeholder/abstraction nouns: data, info, item, object, context, state, result, policy, entry, record, element, input, fixture, probe. Name what the value holds or decides: ReferenceLevel not ReferencePolicy; SlugSeparator not SeparatorPolicy; ImportPath not Input; a test helper named for the value it returns (html_page, asset_route), never the technique that builds it.
  • Gerund for a value the domain already names: reading for a pronunciation or compiler read; processing/handling for the thing they produce. Established term wins — pronunciation, read, read evidence.
  • Role suffixes hiding a design nobody can name: Manager, Processor, Handler, Helper, Util.
  • Participant the value does not depend on: authored, provided, handled, processed, managed. Name states the relationship carried (configured, resolved, declared), not who/what produced it. Participant earns its place only when it changes meaning — imported_by for a diagnostic raised inside a package.
  • Test either word: state the relationship as a rule another file could follow. resolved passes — the filesystem's own spelling, symlinks followed. authored fails — no rule distinguishes it from path.
  • Near-synonym for a word the repo already uses. Established term wins.
  • Abstraction whose boundary and invariant cannot be said in its name.
  • Type named by listing what it holds: ResolvedSiteConfigWithSiteDirectory names a field pair, not the invariant making the pair necessary (OwnedSiteConfig). Conjunction only when both parts are domain data that must travel together and no single noun covers them; when one part is plumbing merely keeping the other valid, name the invariant instead. Longer is the symptom, not the fix.
  • Stutter with the owner that gives context: routes::routes, Route::route_path, Connection::connect_connection. Inside routes, a function states the operation (site_routes, respond), a type the entity (Route); the module already said where they live.
Show full SKILL.md (129 more words)Show less

Existing vague names do not license new ones.

The check

Before accepting a name, answer from name + owner alone:

  1. What is represented?
  2. Who owns it?
  3. When is it valid?

Needs the implementation → change the name.

Four standards, all: concise — as short as the entity allows; clear — those 3 answers, without the implementation; rigorous — no filler noun, no role suffix, no word another concept owns; correct — states what the value is, and a rename leaves no old spelling behind.

Renaming

Rename when the name lies, drifts from what the value holds, or hides a design that cannot be stated. Do it whole: declaration, every call site, imports, strings that spell it, assertions that expect it, comments that mention it. No alias, wrapper, or old spelling stays behind.

© tola-rs, MIT. 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 .agents/skills/naming of tola-rs/tola-ssg.

Open the folder on GitHubat commit fbb0506

Compare with similar skills

Naming 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.

Naming compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Naming this skilltola-rs/tola-ssg178—~1.3kAutomated safety check: PassMIT
Ask Sonnerleepokai/Codync2324 repos~1.8kAutomated safety check: WarnApache-2.0
Gpui KitStudentWeis/ropy1941 repos~5.6kAutomated safety check: PassMIT
Tauri Config Ipcifer47/markeron1.2k—~1kAutomated safety check: PassMIT
Servo Fetchkonippi/servo-fetch157—~1.9kAutomated safety check: PassApache-2.0
Reactflow Workflowveloxbase/veloxdb652—~897Automated safety check: PassMIT

Similar skills

  • Ask Sonner

    leepokai/Codync

    Guide to Sonner, the React toast library — install and wire up the Toaster, pick the right toast() call, promise and loading toasts, updating, dismissing and persisting toasts, styling, theming and…

    232 GitHub starsUsed in 4 repos~1.8k tokens
    Frontend & DesignAuto-check: warnings
  • Gpui Kit

    StudentWeis/ropy

    How to build desktop applications with GPUI Kit, the Rust framework published as the gpui-kit crate (GPUI plus gpuikit::component, gpuikit::base, gpuikit::assets).

    194 GitHub starsUsed in 1 repo~5.6k tokens
    Frontend & DesignAuto-check passed
  • Tauri Config Ipc

    ifer47/markeron

    Extend MarkerOn settings, persisted config, or Tauri IPC commands.

    1.2k GitHub stars~1k tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed
  • Servo Fetch

    konippi/servo-fetch

    Fetch and render web pages using the Servo browser engine — a single binary with JS execution, CSS layout, screenshots, and content extraction.

    157 GitHub stars~1.9k tokensUpdated 7 days ago
    Frontend & DesignAuto-check passed
  • Reactflow Workflow

    veloxbase/veloxdb

    Build and harden React Flow diagram surfaces in VeloxDB using @xyflow/react patterns (nodes, edges, viewport, controls, interactions, performance).

    652 GitHub stars~897 tokensUpdated 10 days ago
    Frontend & DesignAuto-check passed
  • Worklog Design

    regisx001/Worklog

    Design and UI skill for the Worklog desktop project manager.

    261 GitHub stars~3.3k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed

More from tola-rs/tola-ssg

All 10 skills in this repo
  • Trim

    tola-rs/tola-ssg

    Shrink code, tests, comments, and docs to what carries meaning — delete dead paths, redundant states, and refactor-dragging tests outright, then hold the survivors to the four bars.

    178 GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • Tola

    tola-rs/tola-ssg

    Build and maintain Tola websites and documentation. An agent skill from tola-rs/tola-ssg.

    178 GitHub stars~6k tokensUpdated yesterday
    Auto-check passed
  • Concurrency And Failure

    tola-rs/tola-ssg

    Design and review work that runs concurrently, waits, retries, or owns resources.

    178 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Friendly Report

    tola-rs/tola-ssg

    Report progress to the human. An agent skill from tola-rs/tola-ssg.

    178 GitHub stars~634 tokensUpdated yesterday
    Auto-check passed
  • Refactoring

    tola-rs/tola-ssg

    Restructure code while keeping observable behavior identical, and prove it with difference testing.

    178 GitHub stars~659 tokensUpdated yesterday
    Auto-check passed
  • Subagent Delegation

    tola-rs/tola-ssg

    Run work through subagents instead of the main thread. An agent skill from tola-rs/tola-ssg.

    178 GitHub stars~924 tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Naming

What does Naming do?

Name what a thing is, not how it is built. An agent skill from tola-rs/tola-ssg. Naming is an agent skill from tola-rs/tola-ssg. Name what a thing is, not how it is built.

When should I use Naming?

Naming fits situations like: frontend & Design work in your project.

How do I install Naming in Claude Code?

Run `npx skills add tola-rs/tola-ssg --skill naming -a claude-code`. Or copy the skill folder (.agents/skills/naming in tola-rs/tola-ssg) into .claude/skills/naming in your project. Claude Code loads it when a task matches its description.

How do I install Naming in Codex?

Run `npx skills add tola-rs/tola-ssg --skill naming -a codex`. Or copy the skill folder (.agents/skills/naming in tola-rs/tola-ssg) into .agents/skills/naming in your project. Codex loads it when a task matches its description.

Can I use Naming 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 tola-rs/tola-ssg --skill naming -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/naming, .gemini/skills/naming, .github/skills/naming and .opencode/skills/naming in your project.

What does Naming need to run?

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

Does Naming 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 Naming 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 Naming use?

Naming is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Naming use?

About 1.3k tokens (SKILL.md is roughly 5k 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 Naming?

Skills that share tags, products or a category with Naming: Ask Sonner (leepokai/Codync, 232 stars), Gpui Kit (StudentWeis/ropy, 194 stars), Tauri Config Ipc (ifer47/markeron, 1.2k stars) and Servo Fetch (konippi/servo-fetch, 157 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Naming?

tola-rs (a GitHub organization) maintains it in tola-rs/tola-ssg, which has 178 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 9, 2026.

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