Systems Lab

Agent skill

medic

Check that this machine's agent team can work and say what is wrong in plain lines: tools installed, core skills installed, skill commands runnable, hooks configured, Reach seat live, a heartbeat running, both vendors' quota readable, temp space free.

activeSelf-containedActs undeclared552 words

Filed under CRM and RevOps.

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

What it does when it runs

Check that this machine's agent team can work and say what is wrong in plain lines: tools installed, core skills installed, skill commands runnable, hooks configured, Reach seat live, a heartbeat running, both vendors' quota readable, temp space free. Checks only, never repairs. Use on a new machine, when agents stop reaching each other or a long run fails to start, or when the owner asks whether everything is healthy.

Automated analysis of the skill and the 3 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
shellwrites files

Ask about medic

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/medic/skill"
mkdir -p ~/.claude/skills/medic
cp -R "/tmp/sno-station-skills/skills/M-build-and-rollout/medic/skill/." ~/.claude/skills/medic/

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/medic/skill/SKILL.md, which is licensed APACHE-2.0 (repository). 552 words, 4 headings.

medic

sno medic run looks at the agent team on this machine and prints one line per check. It reads and reports; it never installs, repairs, starts, stops or spends anything.

OK <check>: <what was found>
WARN <check>: <what is wrong> -> <the command that fixes it>
FAIL <check>: <what is wrong> -> <the command that fixes it>
MEDIC ok=N warn=N fail=N

FAIL means the team cannot work at all (a required program is missing, no agent command line is installed, Reach is broken). WARN means it works worse than it should. Exit status is 0 when there is no FAIL, 1 otherwise, 2 for a wrong command line.

Prerequisites: bash 4+, GNU coreutils and jq. sno medic with no arguments, or --help, prints the usage.

Use

  1. Run sno medic run. It takes about ten seconds because it asks sno doctor and reads both quotas.
  2. Tell the owner the result in plain words: the counts, then each WARN and FAIL line with its fix. Do not paste the whole output when everything is OK; one sentence says so.
  3. Run a fix only when the owner asks for it. Installing and updating change the machine, and one warning is often not worth a fix (for example no heartbeat when nothing long is running).
  4. After a fix, run sno medic run again and read the same line: it must now say OK.

What each check reads

CheckLooks atCommon fix
toolssno, jq, tmux, git are on PATH, and sno heartbeat and sno subscription-quota-check runinstall the named program
agent-cliclaude or codex is on PATHinstall one of them
skillsthe six core skills (reach, heartbeat, join-talk, handoff, deliver, charter) exist where each installed agent reads skillsreinstall the skills
commandssno deliver-proof, sno handoff-checkpoint, sno rotate-agent-resume and sno rem-reflect answer --helpreinstall the skills
hookssno doctor reports hooks configured (and trusted, for codex) for each installed agentreinstall the skills
reachsno doctor reports Reach as okthe fix sno doctor names
skill-filesevery installed skill file passes sno doctorupdate the skills
seatthis agent's own seat (SNO_REACH_ADDR) is live, or at least one seat is liverun join-talk in this window
heartbeatat least one heartbeat is running on this machinearm one when a long job starts
quotaeach installed agent's subscription quota can be read and is not waitlog in, or wait for the reset
temp-spacefree space in $TMPDIR (or /tmp) is at least 500 MB; change it with --min-free-mb Nfree space or point TMPDIR elsewhere

A check that cannot run because a program is missing prints WARN <check>: not checked, <program> is missing; fix the tools line first.

Limits

sno medic does not prove that an agent can answer a prompt or that a seat delivers a message: for a live receiver test before a vendor switch use rotate-agent-preflight (the rotate-agent skill), and for a single unit's behaviour use that unit's own self-test.

Files bundled with it

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

Need help setting it up?

This page tells you what medic 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.