en un clic
command-execution-principles
// Safe command execution: input sanitization, timeout handling, output capture, error propagation. For spawning processes, shell commands, system calls.
// Safe command execution: input sanitization, timeout handling, output capture, error propagation. For spawning processes, shell commands, system calls.
| name | command-execution-principles |
| description | Safe command execution: input sanitization, timeout handling, output capture, error propagation. For spawning processes, shell commands, system calls. |
| user-invocable | false |
exec(userInput), shell("rm " + userFile)AI agents CANNOT interact with interactive prompts. All commands MUST run non-interactively. A stuck prompt = a stuck agent = wasted time.
export CI=true # Signals non-interactive environment to most tools
export npm_config_yes=true # npm: auto-accept all prompts
export YARN_ENABLE_IMMUTABLE_INSTALLS=false # Yarn: don't fail on lockfile changes
# ✅ CORRECT — always use --yes for npx
npx -y create-vite@latest ./my-app -- --template vue-ts
npx -y create-next-app@latest ./my-app --ts --eslint --app --use-npm
# ✅ CORRECT — npm install (CI=true suppresses prompts)
CI=true npm install
CI=true npm ci # Preferred for reproducible installs
# ❌ WRONG — interactive, WILL HANG
npx create-vite@latest my-app
npm init
npm create vite
Every scaffolding tool has a non-interactive mode. You MUST find and use it.
--help first to discover non-interactive flags before scaffoldingcreate-vite: --template <template> (must specify template to skip prompt)create-next-app: --ts --eslint --app --use-npm (pass all choices as flags)create-react-app: pass project name as argumentnpm init <initializer>: use npm create <initializer> -- <flags> with --yes or template flagsyes | as last resort: yes | npx -y create-tool ...# ✅ CORRECT
pnpm install --no-frozen-lockfile
pnpm create vite my-app --template vue-ts
# ❌ WRONG — may prompt for lockfile confirmation
pnpm install
# ✅ CORRECT
yarn install --no-immutable
yarn create vite my-app --template vue-ts
If any command could potentially prompt for user input:
--yes, --no-interactive, --non-interactive, or --batch flagCI=true in the environmentecho "" | command if unsure whether it promptsViolation: running an interactive command that blocks the agent is a critical failure.
Session bootstrap + workflows for Pathfinder semantic navigation tools. Covers: discovery protocol, tool chaining patterns (explore, impact, audit, debug), search optimization, LSP degraded mode, and error recovery.
Playwright browser automation via MCP. Covers E2E testing, UI review, web scraping, screenshot capture, and general browser interaction. MCP-first — CLI is fallback only.
Git conventions: conventional commits, branch naming, PR hygiene, release tagging.
Structured incident workflow: severity classification, triage, diagnosis, mitigation, postmortem, and prevention. Template-driven with blameless review.
Constructs, validates, and traverses a Directed Acyclic Graph (DAG) from scope cards for safe level-based parallel dispatch. Determines execution order via topological sort. Detects cycles and invalid dependencies.
Decomposes broad tasks into MECE, parallelizable sub-tasks with explicit scope cards. Core skill for intra-domain parallel dispatch. Produces scope cards consumed by parallel-dispatch-dag, parallel-dispatch-ownership, and parallel-dispatch-merge skills.