add-managed-cli

Adds pinned, checksum-verified managed CLIs to Sim Function sandbox images.

29.5k|3.8k|Updated Jan 5, 2025
One-click install
npx skills add https://github.com/simstudioai/sim --skill add-managed-cli
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: add-managed-cli
Source: https://github.com/simstudioai/sim/tree/main/.agents/skills/add-managed-cli
Command: npx skills add https://github.com/simstudioai/sim --skill add-managed-cli

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Adding a new CLI to Sim's Function sandbox environment requires coordinating immutable artifact pinning, SHA-256 verification, client/server registry separation, provider compatibility, and reproducible image hashing. This Skill guides that entire process so new managed CLIs are added safely without breaking existing sandboxes or leaking server-only details into client bundles.

Core Features & Use Cases

  • Immutable Recipe Management: Enforces versioned IDs (<tool>@<version>-r<revision>), pinned artifact URLs, and SHA-256 checksums so existing sandboxes keep resolving to the exact bytes they selected.
  • Client/Server Boundary Safety: Keeps catalog metadata client-safe while confining artifact URLs, install commands, and verification logic to server-only recipes.
  • Supply-Chain Verification: Requires official upstream artifacts, publisher-signed checksums, offline verification commands, and an official-host allowlist—rejecting curl-to-shell installers and unversioned downloads.
  • Use Case: A developer wants to add the latest stable release of a CLI (e.g., a linter or cloud tool) to the Sandbox managed-CLI selector. The Skill walks them through verifying the upstream release, choosing an immutable ID, adding metadata and a server recipe, and running the full validation suite.

Quick Start

Use the add-managed-cli skill to add the current stable version of my chosen CLI to the Sim sandbox managed-CLI catalog with a pinned recipe and checksum verification.

Frequently Asked Questions about add-managed-cli

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new CLI to the Sim sandbox managed-CLI selector?

Verify the upstream release's exact version, Linux x86-64 artifact URL, and SHA-256 checksum, then append an immutable ID to the registry, add client-safe metadata in cli-tools.ts, and define a pinned server-only recipe in cli-tools.server.ts. Finish by running the required vitest, type-check, and biome validation commands.

How do I upgrade an existing managed CLI to a new version?

Append a new ID ending in -r1 for the new upstream version while keeping the old ID and recipe intact, and mark the old entry as selectable: false. Never mutate or delete existing IDs, since persisted sandboxes must keep resolving to the bytes they originally selected.

Does the managed CLI recipe work on both E2B and Daytona providers?

Recipes default to supporting both E2B and Daytona when the same Linux recipe works on both. Set supportedProviders explicitly only when compatibility differs, and E2B bakes the recipe into the custom image while runtime-strategy providers install it within the Function timeout.

What artifact sources are allowed for managed CLI recipes?

Only official upstream artifacts with exact versions and SHA-256 checksums are allowed. Curl-to-shell installers, npm or pip installs, distro package repositories, unversioned URLs, and unofficial mirrors are rejected, and new artifact hosts must be added to the officialHosts allowlist.

Why must old CLI recipe IDs be kept after an upgrade?

Recipe identity—including ID, revision, and SHA-256—feeds into the sandbox image hash, so retaining old entries makes image identity reproducible. Deleting them would break persisted sandboxes that still reference the retired version.