mcpField
S
sprites

sprites

github.com/superflyCloud & DevOps355 installsUpdated today
Repository

About sprites

sprites is a skill for operating persistent, hardware-isolated Linux environments from inside or outside a sprite. It guides agents through choosing the correct control plane, managing services and snapshots, and applying safety checks.

Key features

  1. 01Detects inside or outside context
  2. 02Selects the matching control plane
  3. 03Runs commands and persistent services
  4. 04Creates and restores checkpoints
  5. 05Moves files and configures network policy
  6. 06Includes operational safety guidance

Use cases

  1. 01Run commands in an existing sprite
  2. 02Keep a service running after disconnects
  3. 03Snapshot state before risky changes
  4. 04Expose a service preview URL

MCP support

When operating outside a sprite, the skill can use the Sprites MCP server alongside the `sprite` CLI or REST API to manage environments.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/superfly/skills --skill sprites

After installing, type/spritesin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
api-gateway.md
checkpoints.md
cli.md
environment-detection.md
files.md
http-api.md
network-policy.md
remote.md
safety.md
services.md

Details

From the project README

Sprites

A sprite is a persistent, hardware-isolated Linux environment. It keeps its filesystem between sessions, gets a public hostname, runs services that survive disconnects, and can be snapshotted and restored in seconds.

Before anything else, work out where you are running. Every operation has two forms, and picking the wrong one wastes a turn.

Step 1: detect the context

test -S /.sprite/api.sock && echo inside || echo outside
ResultMeaningControl plane to use
insideThe agent is running in the spritesprite-env CLI at /.sprite/bin/sprite-env
outsideThe agent is on a laptop, CI runner, or another hostsprite CLI, the Sprites MCP server, or the REST API

Cache the answer for the session; it cannot change mid-session.

The two control planes are not interchangeable:

  • sprite-env talks to the local API socket. It always acts on this sprite and takes no sprite name. It cannot see or touch other sprites.
  • sprite talks to https://api.sprites.dev over the network. Nearly every command needs a target sprite (-s <name>), and it can create and destroy sprites.

Do not call sprite-env from outside a sprite, and do not use the remote MCP tools or sprite -s <self> from inside a sprite to manage the sprite you are already in. See environment detection for the fallbacks when neither binary is installed.

Step 2: pick the smallest operation

GoalInside a spriteOutside a spriteReference
Identify the environmentsprite-env infosprite list, sprite url -s <name>environment-detection.md
Run a commandRun it directly in the shellsprite exec -s <name> -- <cmd>remote.md
Keep a process alivesprite-env services create ...sprite exec -s <name> -- sprite-env services create ...services.md
Expose a preview URL--http-port on the servicesame, plus sprite urlservices.md
Snapshot / roll back statesprite-env checkpoints createsprite checkpoint create -s <name>checkpoints.md
Move files in or outOrdinary file tools, or git clonesprite file push / sprite file pullfiles.md
Allow or deny outbound domainsread-only from insidesprite api .../policy/networknetwork-policy.md
Reach a third-party APIGateway at api.sprites.dev/v1/gatewayRun the gateway call inside the spriteapi-gateway.md
Create or delete an environmentNot possiblesprite create / sprite destroyremote.md

Golden path

  1. Detect inside or outside. Choose the control plane once.
  2. Identify the exact sprite by name. From outside, get it from sprite list or from .sprite/config (sprite use); never guess a name.
  3. Inspect before you mutate. Read service state, logs, or checkpoint lists first.
  4. Checkpoint valuable state before risky work. Checkpoints take seconds.
  5. Do the work: exec for bounded commands, a service for anything that must outlive the call.
  6. Verify with real output — exit status, service state, logs, an HTTP probe.
  7. Report the sprite name, the URL and its auth mode, and any checkpoint IDs.

Safety rules

  • A sprite URL may be public. Never serve environment variables, tokens, key files, unfiltered logs, or admin endpoints from a sprite service.
  • checkpoint restore rewinds the filesystem and discards later changes. Explain that and get approval before running it.
  • destroy is irreversible and takes the services, checkpoints, and URL with it. Require explicit intent.
  • Network policy updates replace the whole rule set. Read the current policy, merge, then write.

Full detail in safety.

References

Read the one that matches the task; each is self-contained.

  • environment-detection.md — deciding inside vs outside, installing either CLI, and auth setup.
  • remote.md — driving sprites from outside: create, list, exec, sessions, files, ports, destroy.
  • services.md — long-running processes, the service manager, and the public HTTP URL.
  • checkpoints.md — snapshots, rollback, and reading old files from mounted checkpoints.
  • network-policy.md — outbound egress rules and the read-modify-write update procedure.
  • api-gateway.md — third-party APIs (GitHub, Slack, …) with credentials injected by the gateway.
  • cli.md — the full sprite-env and sprite command surface.
  • http-api.md — REST endpoints behind both CLIs, for agents with only an HTTP client.
  • files.md — moving code and data in and out.
  • safety.md — confirmation rules and exposure limits.

Comments

Markdown supported