Agent skill

Add Managed CLI

by simstudioai in simstudioai/sim

Add or upgrade a curated, immutable managed CLI for Sim Function sandboxes, including client-safe catalog metadata, a pinned server-only installation recipe, checksum and executable verification…

Apache-2.0Auto-check passed

Install Add Managed CLI

skills CLI
$ npx skills add simstudioai/sim --skill add-managed-cli -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install simstudioai/sim add-managed-cli --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/simstudioai/sim.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/add-managed-cli .claude/skills/add-managed-cli && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
add-managed-cli
GitHub stars
30k
Token cost
~2.4k tokens
SKILL.md length
1,148 words
Files
2
Skills in repo
40
Repo updated
First seen
Licence
Apache-2.0

At a glance

Add or upgrade a curated, immutable managed CLI for Sim Function sandboxes, including client-safe catalog metadata, a pinned server-only installation recipe, checksum and executable verification…

  • Works in 6 steps: Verify the Upstream Release → Choose an Immutable ID → Add Client-Safe Metadata → …
  • Adding a CLI to the Sandbox managed-CLI selector
  • SKILL.md covers Read First, 1. Verify the Upstream Release, 2. Choose an Immutable ID and 3. Add Client-Safe Metadata, plus 5 more sections
  • Calls bun, bunx and git

What it does

Add Managed CLI is an agent skill from simstudioai/sim. Add or upgrade a curated, immutable managed CLI for Sim Function sandboxes, including client-safe catalog metadata, a pinned server-only installation recipe, checksum and executable verification, provider compatibility, PATH propagation, content-addressed image identity, and tests. Use when adding a CLI to the Sandbox managed-CLI selector or changing an existing managed CLI version or recipe.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

The repository describes itself as: Sim is the collaborative workspace to build, deploy, and monitor AI agents and workflows. Used by 100,000+ builders. The licence is Apache-2.0.

When your agent uses it

  • Adding a CLI to the Sandbox managed-CLI selector
  • Changing an existing managed CLI version

Example prompts

  • “/add-managed-cli”

Requirements

  • Python 3
  • Node.js

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Verify the Upstream Release
  2. Choose an Immutable ID
  3. Add Client-Safe Metadata
  4. Add the Server-Only Recipe
  5. Preserve Generic Behavior
  6. Test the Addition

What it can do on your machine

Read from SKILL.md and the folder at commit 546d4e7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bun
    • bunx
    • git
    • npm
    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use bunx, git, npm and pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Add Managed CLI loads about 2.4k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 1,148 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~103
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from simstudioai/sim at commit 546d4e7, republished under its Apache-2.0 licence (© simstudioai). 1,148 words, ~2,428 tokens.

Download SKILL.mdSave it as .claude/skills/add-managed-cli/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
add-managed-cli
description
Add or upgrade a curated, immutable managed CLI for Sim Function sandboxes, including client-safe catalog metadata, a pinned server-only installation recipe, checksum and executable verification, provider compatibility, PATH propagation, content-addressed image identity, and tests. Use when adding a CLI to the Sandbox managed-CLI selector or changing an existing managed CLI version or recipe.

Add a Managed CLI

Add CLIs through the curated registry. Never turn this surface into arbitrary commands or package names: system packages already cover validated Debian/APT coordinates, while managed CLIs require immutable artifacts and reproducible recipes.

Read First

Read these live sources before editing; do not copy their current entries into this skill:

  1. apps/sim/lib/execution/remote-sandbox/cli-tools.ts — persisted IDs and client-safe metadata.
  2. apps/sim/lib/execution/remote-sandbox/cli-tools.server.ts — server-only recipes and recipe helpers.
  3. apps/sim/lib/execution/remote-sandbox/cli-tools.test.ts — catalog and supply-chain invariants.
  4. apps/sim/lib/execution/remote-sandbox/cli-tools-boundary.test.ts — client/server import boundary.
  5. apps/sim/lib/execution/remote-sandbox/sandbox-spec.ts — content-addressed hash inputs.

Read resolve.ts and e2b.ts only when changing provisioning mechanics. A normal catalog addition should not require UI, API, database, resolver, or provider edits; those paths derive from the registries.

Do not modify the dedicated Function base image or the separate Mothership Shell template for a normal managed CLI addition. Managed recipes layer on the Function base image. Do not change MAX_SANDBOX_CLI_TOOLS from ten unless the user separately requests a product-limit change.

1. Verify the Upstream Release

Use primary upstream release documentation and official artifacts. Establish all of the following before writing code:

  • Exact version and stable Linux x86-64 artifact URL. Never use latest, mutable redirects, or an unversioned installer.
  • SHA-256 for the exact artifact. Prefer a publisher-signed checksum; otherwise download the official artifact and compute it independently.
  • Archive layout and the exact executable paths to install.
  • Noninteractive, credential-free verification commands for every advertised executable, normally version commands.
  • Required PATH entries under /opt/sim-cli.
  • E2B and Daytona compatibility. Default to both only when the same Linux recipe works on both.

When the user does not name a version, select the current stable upstream release from primary sources and state the exact version chosen. Do not silently choose a prerelease or infer a version from an unverified secondary source.

Reject curl-to-shell installers, npm install, pip install, distro package repositories, arbitrary user commands, and artifacts from unofficial mirrors. Never place credentials, tokens, login commands, or account configuration in an image recipe or build log; authentication is runtime-only.

2. Choose an Immutable ID

Use <tool>@<upstream-version>-r<recipe-revision>.

  • New upstream version: append a new ID ending in -r1.
  • Recipe-only change for the same upstream version: append -r2, -r3, and so on.
  • Never mutate or delete an existing ID or recipe. Persisted sandboxes must continue resolving to the bytes and behavior they selected.
  • On upgrade, retain the old ID and recipe and mark the old metadata non-selectable; only the newest version keeps the public label selectable. SandboxCliToolMetadata has no retirement field yet, so the first upgrade adds one generically (type, selector, and contract validation) per the next paragraph.

Before shipping the first upgrade for a tool family, verify that editing a sandbox cannot leave both the retired and replacement IDs selected. If the generic selector and API validation do not already replace or reject colliding versions, address that once at the generic registry boundary with focused UI and contract tests; never special-case the individual CLI or silently install two versions that expose the same executable.

Recipe identity includes the ID, revision, and SHA-256 in the sandbox image hash. Keeping old entries is what makes that identity reproducible rather than merely cache-busting.

3. Add Client-Safe Metadata

In cli-tools.ts:

  1. Append the ID to SANDBOX_CLI_TOOL_IDS in the same order used by the metadata and recipe registries.
  2. Add a SANDBOX_CLI_TOOLS entry whose key and id exactly match.
  3. Provide a unique selectable label, concise description, existing category, and useful executable/vendor aliases in searchTerms.
  4. Add a category only when no existing category is accurate, then ensure it has at least one selectable entry.

Keep this file safe for client bundles. It must not contain artifact URLs, checksums, install commands, verification commands, PATH recipes, provider SDKs, or imports from cli-tools.server.ts.

The API enum and searchable grouped selector derive from this registry. Do not add parallel option arrays or route-local wire types.

Show full SKILL.md (516 more words)Show less

4. Add the Server-Only Recipe

In cli-tools.server.ts, use the narrowest existing helper:

  • defineBinaryRecipe for one downloaded binary.
  • defineTarGzipRecipe or defineZipRecipe for archives containing binaries.
  • defineVerifiedRecipe for a vendor archive or installer layout that needs explicit commands.
  • A direct typed entry only when the helpers cannot faithfully model the release.

Provide every field the recipe contract requires:

  • Exact version, artifactUrl, artifactName, and lowercase 64-character sha256.
  • Every installed executable and a corresponding verificationCommands entry.
  • Deterministic extraction/install commands into /opt/sim-cli; quote fixed paths and clean temporary artifacts.
  • pathEntries when the executable is not installed into the helper's default bin directory.
  • supportedProviders only when it differs from the E2B-and-Daytona default.
  • revision when it differs from 1; it must agree with the ID suffix.

Verification must prove the command is discoverable through sandboxCliEnvironment, not authenticate or contact a user account. Recipe commands run as root during both prebuilt image creation and runtime provisioning.

If the artifact host is new, add only the exact official hostname to the officialHosts allowlist in cli-tools.test.ts. Treat that as a supply-chain review, not a way to silence the test.

5. Preserve Generic Behavior

Confirm the existing generic paths remain sufficient:

  • sandboxCliToolRecipes canonicalizes and resolves the recipe.
  • sandboxCliEnvironment propagates PATH to Python subprocesses, JavaScript subprocesses, and Shell.
  • E2B bakes the recipe into the custom image; runtime-strategy providers install it within the Function timeout.
  • CLI-only sandboxes remain buildable even with no language packages.
  • hashSandboxSpec includes recipe ID, revision, and checksum while preserving the legacy hash for an empty CLI list.
  • The settings selector derives groups and search aliases from client-safe metadata.

Do not special-case a CLI in those layers unless the registry contract cannot express a genuine provider requirement. Extend the registry contract generically when multiple CLIs need the same new behavior.

6. Test the Addition

Extend tests only when the new entry introduces behavior not already covered and the test passes the test-audit authoring gate:

  • For every upgrade, add a regression proving the old ID and recipe remain resolvable but non-selectable, while the replacement ID is selectable.
  • Add important executable aliases to the table-driven search assertion.
  • Add a focused assertion for a multi-executable recipe, custom PATH, or restricted provider.
  • Add an opt-in credentialed smoke test only when installation plus a real minimal command cannot be validated without authentication. Read credentials from test-only environment variables, skip by default, create them only at runtime, and always tear down the sandbox.

Never commit downloaded artifacts or credentials.

Required Validation

bash
bun run --cwd apps/sim test \
  lib/execution/remote-sandbox/cli-tools.test.ts \
  lib/execution/remote-sandbox/cli-tools-boundary.test.ts \
  lib/execution/remote-sandbox/sandbox-spec.test.ts \
  lib/execution/remote-sandbox/resolve.test.ts \
  'app/workspace/[workspaceId]/settings/components/sandboxes/utils.test.ts'

From the repository root:

bash
bun run type-check
bun run check:api-validation:strict
bunx biome check \
  apps/sim/lib/execution/remote-sandbox/cli-tools.ts \
  apps/sim/lib/execution/remote-sandbox/cli-tools.server.ts \
  apps/sim/lib/execution/remote-sandbox/cli-tools.test.ts
git diff --check

For a new recipe, also exercise its install and every verification command in an actual E2B or Daytona sandbox when credentials and network access are available. Report clearly when only registry/unit validation ran.

Completion Checklist

  • Official immutable Linux x86-64 artifact and SHA-256 verified.
  • Versioned ID appended; old IDs and recipes retained.
  • Client metadata is searchable, categorized, unique, and recipe-free.
  • Server recipe is pinned, integrity-checked, noninteractive, and credential-free.
  • Every advertised executable has an offline verification command and PATH entry.
  • Provider compatibility is explicit and accurate.
  • Catalog, boundary, hash, resolver, type, API-validation, format, and diff checks pass.
  • Real provider installation was tested, or the missing live verification is disclosed.

© simstudioai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .agents/skills/add-managed-cli of simstudioai/sim.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 546d4e7

Compare with similar skills

Add Managed CLI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Add Managed CLI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Add Managed CLI this skillsimstudioai/sim30k—~2.4kAutomated safety check: PassApache-2.0
gstack Upgradegarrytan/gstack136k—~5.5kAutomated safety check: NotesMIT
Secrets Managementdavila7/claude-code-templates32k11 repos~2kAutomated safety check: PassMIT
Project ManagerRightNow-AI/openfang18k—~960Automated safety check: PassApache-2.0
Content Management Systemsgithub/awesome-copilot40k1 repos~1.3kAutomated safety check: PassMIT
Secrets Vault Manageralirezarezvani/claude-skills28k1 repos~3.6kAutomated safety check: NotesMIT

Similar skills

  • gstack Upgrade

    garrytan/gstack

    Upgrades an installed gstack to the latest version, handling global and vendored installs, optional auto-upgrade and snooze, and showing what is new.

    136k GitHub stars~5.5k tokensUpdated today
    Agent WorkflowsAuto-check: notes
  • Secrets Management

    davila7/claude-code-templates

    Secure secrets management practices for CI/CD pipelines using Vault, AWS Secrets Manager, and other tools.

    32k GitHub starsUsed in 11 repos~2k tokens
    DevOps & CloudAuto-check passed
  • Project Manager

    RightNow-AI/openfang

    Project management expert for Agile, estimation, risk management, and stakeholder communication

    18k GitHub stars~960 tokensUpdated 3 mo ago
    Product & Project ManagementAuto-check passed
  • Content Management Systems

    github/awesome-copilot

    Official

    Workflow for building and modifying content management systems across WordPress, Shopify, Wix, Squarespace, Drupal, WooCommerce, Joomla, HubSpot CMS Hub, Webflow, Adobe Experience Manager, and…

    40k GitHub starsUsed in 1 repo~1.3k tokens
    Sales & SupportAuto-check passed
  • Secrets Vault Manager

    alirezarezvani/claude-skills

    A skill your agent uses when the user asks to set up secret management infrastructure, integrate HashiCorp Vault, configure cloud secret stores (AWS Secrets Manager, Azure Key Vault, GCP Secret…

    28k GitHub starsUsed in 1 repo~3.6k tokens
    DevOps & CloudAuto-check: notes
  • Robius State Management

    sickn33/agentic-awesome-skills

    CRITICAL: Use for Robius state management patterns. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~3.3k tokens
    Frontend & DesignAuto-check passed

More from simstudioai/sim

All 40 skills in this repo
  • Sim Helm

    simstudioai/sim

    Install, upgrade, and operate the Sim Helm chart on Kubernetes.

    30k GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Add Column Type

    simstudioai/sim

    Add a new table column type to Sim — registry entry, icon, storage shape, coercion, and the behavioral hooks the grid and API read.

    30k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Add Enrichment

    simstudioai/sim

    Add a code-defined table enrichment (registry entry) under apps/sim/enrichments/ backed by an ordered provider cascade, ensuring every provider tool it calls has hosted-key support.

    30k GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Add Hosted Key

    simstudioai/sim

    Add hosted API key support to a tool so Sim provides the key (metered and billed to the workspace) when a user has not brought their own.

    30k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Add Selector

    simstudioai/sim

    Add or update a Sim dynamic selector using the shared manifest, server attachment, and selectors.execute path.

    30k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Babysit

    simstudioai/sim

    Drive a PR to a clean review (Greptile 5/5, zero open threads) — ships if needed, keeps it mergeable against staging, re-triggers both Greptile and cubic, fixes real findings, replies to and…

    30k GitHub stars~2.9k tokensUpdated today
    Auto-check passed

Questions about Add Managed CLI

What does Add Managed CLI do?

Add or upgrade a curated, immutable managed CLI for Sim Function sandboxes, including client-safe catalog metadata, a pinned server-only installation recipe, checksum and executable verification…. Add Managed CLI is an agent skill from simstudioai/sim. Add or upgrade a curated, immutable managed CLI for Sim Function sandboxes, including client-safe catalog metadata, a pinned server-only installation recipe, checksum and executable verification, provider compatibility, PATH propagation, content-addressed image identity, and tests.

When should I use Add Managed CLI?

Add Managed CLI fits situations like: adding a CLI to the Sandbox managed-CLI selector; changing an existing managed CLI version.

How do I install Add Managed CLI in Claude Code?

Run `npx skills add simstudioai/sim --skill add-managed-cli -a claude-code`. Or copy the skill folder (.agents/skills/add-managed-cli in simstudioai/sim) into .claude/skills/add-managed-cli in your project. Claude Code loads it when a task matches its description.

How do I install Add Managed CLI in Codex?

Run `npx skills add simstudioai/sim --skill add-managed-cli -a codex`. Or copy the skill folder (.agents/skills/add-managed-cli in simstudioai/sim) into .agents/skills/add-managed-cli in your project. Codex loads it when a task matches its description.

Can I use Add Managed CLI in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add simstudioai/sim --skill add-managed-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-managed-cli, .gemini/skills/add-managed-cli, .github/skills/add-managed-cli and .opencode/skills/add-managed-cli in your project.

What does Add Managed CLI need to run?

Going by SKILL.md and its folder, Add Managed CLI needs the command-line tools its instructions call (bun, bunx, git, npm and pip). Our summary lists: Python 3; Node.js.

Does Add Managed CLI access the network?

SKILL.md contains no URLs. Its commands use git, npm and pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Add Managed CLI safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Add Managed CLI use?

Add Managed CLI is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Add Managed CLI use?

About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Add Managed CLI?

Skills that share tags, products or a category with Add Managed CLI: gstack Upgrade (garrytan/gstack, 136k stars), Secrets Management (davila7/claude-code-templates, 32k stars), Project Manager (RightNow-AI/openfang, 18k stars) and Content Management Systems (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Add Managed CLI?

simstudioai (a GitHub organization) maintains it in simstudioai/sim, which has 29,785 GitHub stars. The repository holds 40 skills in this directory. The repository was last updated on October 7, 2026.

Source: simstudioai/sim on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.