Get started

Quickstart

Five steps take you from nothing to a team with an evaluated, published skill. Each is a command or two, with a pointer to the page that covers it in full.

What you need

git and Node.js 22.12 or later. To create a team on GitHub, a logged-in GitHub CLI (gh auth login); joining a team needs none. To run evals, Claude Code installed and logged in. Install has the full list.

Every eval runs real Claude Code sessions billed to your own account, and a single eval shows no estimate before it starts.

The five steps

  1. Run setup

    Create a team with bare setup, or join one by naming its repository.

    npx -y terum-skills@latest setup
    npx -y terum-skills@latest setup <org>/<repo>

    Creating makes a private GitHub repository under your account, records you as its first member, and invites the teammates you name. Joining accepts your invitation, clones the team repository and prints Joined <team> as <handle>. On macOS and Windows, setup opens the desktop app and continues there. See Create a team and Join a team.

  2. Find and install a team skill

    ls lists the members and shared skills, and search matches a term against each skill’s name, description and category. Both read your local clone.

    npx -y terum-skills@latest search <term>
    npx -y terum-skills@latest install <skill>

    install copies the latest version into Global (~/.claude/skills) or into a project you registered, and asks which. Joining installs nothing on its own. A team you just created has no skills yet, so go on to step 3 with one of your own. See Install and manage.

  3. Evaluate a skill

    Pick any folder in your Library: the skill you just installed, or one of yours.

    npx -y terum-skills@latest eval <skill>

    Missing test cases and trigger prompts are generated into the folder first. Each case then runs in fresh sandboxes: without the skill (the baseline), with your folder (the candidate), and with the team’s most recently evaluated version (the incumbent) when there is one. The verdict is banded on net lift against the baseline: PASS at or above +1/3, FAIL at or below -1/3, NEUTRAL between. A run costs cases × k × arms sessions, with k defaulting to 1; --triggers-only is the cheapest look. When the bytes are already a published version, as an unedited installed copy’s are, the receipt goes straight to the team. See How evals work.

  4. Publish one of your own skills

    The folder must be in Global or a project you registered.

    npx -y terum-skills@latest publish <skill>

    Publish adds the team’s managed fields to your SKILL.md, runs the hygiene checks, and commits the folder as the next immutable version, skills/<name>/v<N>/. It attaches any local receipt for exactly those bytes, and asks first if the newest one is a FAIL. A first publish prints Published deploy-check as Version 1 to the acme marketplace. Attached 0 eval run(s). Your folder now holds the published bytes, so an eval of it afterwards shares its receipt with the team. See Publish a skill.

  5. Stay current

    Reads never fetch, so a teammate’s publish reaches you when something runs sync.

    npx -y terum-skills@latest sync

    Sync fetches the team repository and places nothing. The session hook, if you accepted it, fetches when a Claude Code session starts, at most once an hour; the desktop app fetches when its window regains focus, at most once a minute. To take a newer version of a skill you installed, run install again. See Claude Code integration.

Where to go next

Full reference on GitHub