Systems Lab

Agent skill

sno-cli

Operate the `sno` command-line tool: install, update, check, and uninstall Sno products, read the exact commands and flags of the installed version, and run the account, skills, onboarding, Station telemetry and REM commands.

activeSelf-containedActs undeclared1,000 words

Filed under Onboarding, retention and expansion.

From sno-ai/sno-station-skills · 31 skill entries · 264 · pushed 2026-10-08

What it does when it runs

Operate the `sno` command-line tool: install, update, check, and uninstall Sno products, read the exact commands and flags of the installed version, and run the account, skills, onboarding, Station telemetry and REM commands. Use when the owner or a task says "sno", "Sno CLI", "sno setup", "sno update", "sno doctor", "sno uninstall", "sno station", "telemetry consent", "rem verdict", "sno account", or "sno skills". The exact flags always come from the installed binary, never from this file. Do not use it to decide the owner's choices for them.

Automated analysis of the skill and the 2 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
None found.
Hosts it reaches
No third-party host appears in the skill or its bundled files.
Tool permissions it declares
No allowed-tools in the frontmatter. It does act, so it runs under whatever permissions your session already grants.
Actions present in the files
shell

Ask about sno-cli

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/sno-ai/sno-station-skills.git /tmp/sno-station-skills
git -C /tmp/sno-station-skills sparse-checkout set "skills/M-build-and-rollout/sno-cli/skill"
mkdir -p ~/.claude/skills/sno-cli
cp -R "/tmp/sno-station-skills/skills/M-build-and-rollout/sno-cli/skill/." ~/.claude/skills/sno-cli/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Reproduced in full from sno-ai/sno-station-skills/blob/0451ca25ab9c70aac62162becbec9a4e1e936d56/skills/M-build-and-rollout/sno-cli/skill/SKILL.md, which is licensed APACHE-2.0 (repository). 1,000 words, 11 headings.

Sno CLI

sno is one binary. This file carries the rules, the task map and the recipes. The exact commands and flags of the version that is installed are served by the binary itself, so they cannot be out of date.

Start Here

Choose the executable once and keep using it:

  • Use the absolute path the installer printed.
  • Otherwise run type -a sno (works in bash and zsh). If two sno files are listed, or the version is older than the installer said, tell the owner, use the newer absolute path, and note that a running shell may need hash -r or a new terminal.
  • If sno is not installed, say so. Do not look for its source.

In every command block, sno stands for that absolute executable. Then read the reference for this exact version, once:

sno --version
sno

sno alone prints the list of commands. Before you use a command, read sno <command> --help (for a nested command, sno <group> <command> --help). That output comes from the installed binary, so it is the authority for every flag.

Conventions

  • Pass --json when you parse the output. Stdout is then exactly one JSON value.
  • A command you typed incompletely or inexactly is completed, or answered, instead of failing:
    • Unique prefixes of subcommands and flags work: typing sno stat runs sno station.
    • A missing value gets a default, and a note says which (notes in JSON, the first line in text).
    • When nothing sensible can run, you get guidance: a JSON object with "usage": true and "executed": false, or full help plus an example, and the exit code is 0. A normal result has no executed field; a missing executed means the command ran.
  • After a command that is meant to change something, read the result before you tell the owner it worked. A value that does not match is not applied: for example sno station consent with a misspelled level only shows the current level and a note, and the exit code is still 0. Check that the returned value is the one the owner chose, and that executed is not false.
  • A real failure keeps a non-zero exit code and its message says what to do next. Report that message to the owner; do not retry in a loop.
  • Anything that changes the machine is run only when the owner asked for it.

Task map

TaskCommand
Install the default product, or a chosen onesno setup, sno setup <product>
Update the CLI and installed productsnothing to run: any sno command updates first when a newer release is out
Health of programs, skills and Stationsno doctor
Project memory and improvement recordssno project status, sno project list
Remaining model allowancesno usage
Uninstallsno uninstall, sno uninstall <product>, sno uninstall all
Machine identitysno account register, sno account claim
Agent instructions served by the binarysno skills, sno skills <name>
Reply to an optional product offersno products
Configure and prove Stationsno onboarding status, sno onboarding apply, sno onboarding verify
Telemetry choices and exportsno station consent, pause, resume, export
Verify a stored eventsno station audit
Local REM jobssno station rem-start, sno station rem-status
REM runs and verdictssno rem judge, sno rem recall, sno rem verdict

Flags are not listed here on purpose; read them from sno <command> --help.

Recipes

Report a fresh install to the owner

sno --version
sno doctor --json
sno skills core

Tell the owner the version, where it is installed, and the one next step. Station onboarding questions and product offers are put to the owner as questions; you never answer them.

Check health

sno doctor --json
sno project status --json
sno usage --json

doctor exits 0 on warnings. Read the rows whose result is failed or missing and relay each with its fix. If usage says the machine is not registered, tell the owner and offer sno account register.

Update

Never ask the owner to run sno update. Any sno command that finds the CLI or an installed product older than the latest release (checked once a day) updates first and then runs what was asked. sno update exists for manual use only.

Uninstall

sno uninstall
sno uninstall sno-station
sno uninstall sno-station --yes

The first two only list and explain; nothing is removed. Uninstalling is the one action that is asked about even when the owner just told you to do it, the same way rm -rf is: a request such as "uninstall sno-station" is not the confirmation. Run the first two, show the owner what will be removed, ask "Uninstall now?", and stop. Run the third only after the owner answers yes in a later message. If there is no later message, your answer is the plan and the question. --purge-state also deletes Reach mail state; ask for that separately.

Local REM jobs

sno station rem-start --type noop --scope persona:demo
sno station rem-status --wait --timeout 60

rem-status without an id reads the most recent job started on this machine.

Owner-only actions

Ask the owner, and wait for the answer, before you:

  • set a telemetry consent level (sno station consent <level>) or pause or resume it;
  • record an answer to a product offer (sno products <product> <answer>);
  • send a human verdict on a REM judgment (sno rem verdict);
  • run sno uninstall … --yes, or --purge-state — even when the owner's own request was to uninstall.

Reading is always fine: sno station consent with no value, sno products with no arguments (it lists), doctor, usage, skills, project.

Files bundled with it

These load only when the skill asks for them, so they cost nothing until it runs.

Other skills for the same job

Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.

Need help setting it up?

This page tells you what sno-cli does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.