packages/sc-ai-cli/skills/designing-cli-simulators/SKILL.md
Design stateful simulators for AI-facing CLIs that integrate with devices, networks, services, or databases. Use when a CLI needs realistic simulator-backed testing, configurable fault injection, persistent state, and a swappable adapter boundary so the same business logic runs against live and simulated backends. Do not use for shallow mocks, stateless test doubles, or CLIs with no external integration.
npx skillsauth add randlee/synaptic-canvas designing-cli-simulatorsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when the CLI depends on an external system and the simulator needs to be designed as a real component rather than a one-off fake.
Use this skill for:
Do not use this skill for:
Keep these top-level rules in mind:
The detailed guidance lives in the reference files below.
references/simulator-requirements.md — baseline simulator properties and validation targetsreferences/adapter-boundaries.md — how to keep simulator and live backends interchangeablereferences/device-simulators.md — device, transport, and protocol simulation patternsreferences/database-simulators.md — JSON-backed and SQLite-backed database simulation patternsreferences/simulator-examples.md — concrete code patterns for simple stateful simulatorsRead simulator-requirements.md first. Then load adapter-boundaries.md. Load device-simulators.md for serial, USB, network, or service-style integrations. Load database-simulators.md for persistence-backed integrations. Load simulator-examples.md when you need a concrete starting pattern.
This skill operates directly in the main session on simulator design artifacts. It does not delegate to background agents or sub-agents.
When designing a CLI simulator:
When using this skill, report:
Use reviewing-ai-clis as the validation counterpart when the simulator design needs a contract-level review against the CLI and MCP expectations.
tools
Set up a repo-local just task runner with a root Justfile, optional .just/ helper scripts, and curated help, build, fmt, lint, test, and ci recipes. Use when a repo needs just, a Justfile, .just helpers, or when the user mentions task automation, "just build", "just lint", "just fmt", or dropping in a just system.
tools
Convert PDF documents to markdown, extract images and tables using the docling CLI. Use when asked to convert a PDF, extract a datasheet, get images from a PDF, or process any document into structured output. Triggers: 'convert pdf', 'pdf to markdown', 'extract images from pdf', 'datasheet', 'get tables from pdf', 'extract diagrams'. No MCP required — uses docling CLI only.
development
Use when another workflow must launch Claude, Codex, or Gemini as a separate background sub-agent without opening a terminal. Spawns the `launchpad` agent with fenced JSON input and `run_in_background: true`.
testing
Run repo startup: prompt load, checklist sync, optional PR triage, worktree hygiene, and CI pull. Best-effort with structured status.