Skip to content

Persistent smolvm dev machine

Set up a smolvm dev machine whose installed packages and files survive stop and start.

Stars
6,901
Licence
Apache-2.0
Files
8 files

What it does

It teaches the agent how to create and keep a small isolated Linux machine (a smolvm VM) with development tools preinstalled, so you can stop it and come back later without reinstalling everything. It explains which setup steps run only once (init) and which must run on every boot, what files survive a restart (and that /tmp does not), and it includes scripts that check the machine persists correctly and clean it up afterward.

Great for

  • Developers who want a repeatable, isolated project environment that keeps its dependencies between sessions
  • Teams debugging a package that disappeared after a machine restart
  • People writing a Smolfile and unsure what belongs in init versus per-boot commands

Skip it if

  • Running untrusted or unknown code: the skill says such code needs a throwaway machine that leaves nothing behind, which this skill does not provide
  • Running a Docker daemon inside the machine, which the skill directs to a different packet
  • Non-macOS/Linux hosts such as Windows, where the preflight check reports unknown and the reference notes differ

Try asking

  • “Set up a persistent Python dev machine for my project in ./src with requests installed”
  • “Why did my pip package disappear after I restarted the smolvm machine?”
  • “Check whether my smolvm machine keeps its packages across stop and start”
  • “Clean up the smolskill dev machines I created earlier”
Step-by-step guide: how to use Persistent smolvm dev machineInstall, first run, examples, tips and FAQs

Install in 3 steps

  1. 1

    Download the skill

    The ZIP contains the 8 original files, the Apache-2.0 licence and an attribution note.

    dev-env.zip
  2. 2

    Add it to your agent

    Claude Code (all projects)

    mkdir -p ~/.claude/skills && unzip dev-env.zip -d ~/.claude/skills/

    Claude Code / Agent SDK (this project only)

    mkdir -p .claude/skills && unzip dev-env.zip -d .claude/skills/

    Claude apps (web/desktop): Settings → Capabilities → Skills → Upload skill, and choose the ZIP.

  3. 3

    Ask for the task

    No special command needed — the agent reads the skill's description and loads it when your request matches. Try one of the prompts above.

Get better results

  • Run scripts/preflight.sh first; it is read-only and tells you whether the host is ready
  • Review the Smolfile before creating the machine, since host volume mounts give the guest access to those host folders
  • Run cleanup.sh --purge only when you no longer want the machine, since it deletes machines the scripts recorded

What's inside

  • README.md
  • references/traps.md
  • references/windows.md
  • scripts/cleanup.sh
  • scripts/create-dev-machine.sh
  • scripts/preflight.sh
  • scripts/verify-persistence.sh
  • SKILL.md

Redistributed unmodified from smol-machines/smolvm under the Apache-2.0 licence. The assessment was drafted with AI from the skill's files on 2026-11-02. Skills can instruct your agent to run code — read SKILL.md and any scripts before installing.