Agent Sandbox Registry

agent-sandbox

Decision: Static SKILL.md Agent Guide at the Repository Root

无中文版

.agents/notes/implemented/architecture/2026-09-29-static-skill-md-agent-guide.md

Decision: Static SKILL.md Agent Guide at the Repository Root

Status: implemented

Date: 2026-09-29

Problem

AI coding tools and agents working in other projects (not this repository) need a portable, tool-neutral description of how to operate Agent Sandbox: which interface to pick (MCP vs Python SDK vs abx CLI), how to install, how to keep credentials safe, how to run the sandbox lifecycle, and how to diagnose common errors.

Prior to this decision the repository had only research conclusions — the skills system design (docs/*/design/skills-system.md) had been deleted as unimplemented (ADR 2026-09-29 skills-design-removal), and the abx skill CLI command group had been removed (ADR 2026-09-23 CLI command reduction). Nothing shippable existed for external agents to consume, and llms.txt contained API drift: a non-existent sb.filesystem attribute, a non-existent python-base template, and six dead docs/design/ links.

Decision

Add a static SKILL.md at the repository root following the common Agent Skills convention (YAML frontmatter name + description, Markdown instructions — the same format the qwen-code template writes into /root/.qwen/skills/).

Scope boundaries, made explicit inside the file:

  1. Static guide only. The file is not executed, parsed, or registered by Easy Sandbox at runtime.
  2. No restoration of the removed abx skill command group, Skills registry, skill runtime, or template skill configuration.
  3. Tool-neutral. It documents one shared surface (CLI / SDK / MCP) and briefly explains how MCP-capable tools (Cursor, Claude, VS Code, Qoder, …), skills-aware tools, and AGENTS.md/rules-based tools (Codex, …) each consume the same guide or MCP server — without binding to any single vendor.
  4. Content floor (all verified against code before writing): when to use, install, credential security with explicit never-leak rules, MCP vs SDK vs CLI selection rules, create / execute / files / destroy workflows with real commands, and an error-diagnosis table using real error codes (E1001, E1003, E2001, E2002, E2003, E3001, E3004, E5003) and CLI exit codes.

Supporting changes:

Packaging decision (with test evidence)

Guide/code consistency (with test evidence)

tests/test_agent_guide.py asserts: frontmatter format and size limits, the required topic coverage, the static-guide/no-restore disclaimer, that abx skill mentions appear only as removal disclaimers, that the MCP tool names cited match agent/tools.py TOOL_SCHEMAS, that cited error codes exist in models/errors.py (or CLI HTTP mappings), that repo paths cited in SKILL.md exist, that llms.txt references SKILL.md, that llms.txt Links resolve on disk, and that every abx … example in llms.txt names a command registered in cli/main.py.

Alternatives considered

Dependencies

None. No new runtime dependencies; pyyaml (already a cli extra) is used by the consistency test for frontmatter parsing; hatchling (already the build backend in the dev environment) is used by the packaging test, with importorskip guards so minimal environments can still run the suite.

Test Strategy

Acceptance criteria