Skip to content
LogoLogo

OS Skills

An OS Skill is a machine-readable manual that tells an agent the correct, boring way to do one kind of task on this system. Skills exist so agents reach for wpctl instead of clicking through a settings panel, and so that every such action has a known approval tier and a known undo.

Format (v0, subject to an RFC)

A skill is a directory:

skills/base/<name>/
  SKILL.md        # what, when, preferred path, fallbacks, verify, undo — written for the agent
  manifest.toml   # name, description, tiers, required tools, what it applies to — read by slated

Installing them for the agent

slate skills install links every skill under skills/base (or a directory you pass) into ~/.claude/skills/slate-<name>, where Claude Code picks them up as user skills. Skills whose requires tools are missing, or whose applies_to.distro does not match /etc/os-release (ID or ID_LIKE; SlateOS reports slateos and nixos), are skipped and listed. Links that point to a skill the installed version no longer ships are removed. On SlateOS the slate-skills user service runs the command at every login and after each upgrade, so the agent always reads the skills of the version that is installed. Codex reads instructions from AGENTS.md; a generated section for it is planned.

The base set

SkillWhat it teaches
audio-volumewpctl for volume and mute
display-brightnessbrightnessctl, and when the display has no backlight
display-settingsQuery, one change at a time, verify by screenshot, roll back; persist only to ~/.config/slate/sway.d/
desktop-windowsArrange, focus, move and close windows through the desktop tools
network-wifinmcli for Wi-Fi and connections
systemd-servicessystemctl for user and system units
slateos-systemInstall packages and change settings by editing the NixOS configuration; rebuild and roll back
undoWhen and how to offer /undo
office-libreofficeHeadless conversions and in-window editing with LibreOffice
mail-thunderbirdCompose with prefilled fields, read and search, calendar and contacts; sending is Confirm
pdf-zathuraText extraction first; zathura keys for showing a PDF
media-mpvPlayback and control over mpv's IPC socket
text-mousepadOpening and editing text files in a window
appearanceDark / light theme and the desktop background (slate-theme)
bluetoothbluetoothctl for paired devices; pairing goes through Settings, with the person
printinglp, lpstat and cancel; driverless network printers need no setup
power-batteryupower, powerprofilesctl, the screen lock and its timeouts
apps-flatpakDesktop apps from Flathub for the person; AppImages and downloaded programs

Conventions

  • Prefer CLI, D-Bus and config files. Say explicitly when a GUI is unavoidable.
  • State the approval tier of each step. Unknown defaults to Confirm.
  • Always include how to verify success and how to undo.
  • One skill per task family, not per command.
  • Never include credentials or guess them; say when the user has to supply something.