← ClaudeAtlas

cli-scaffold-shelllisted

Generate a production-grade CLI scaffold in a shell dialect — Bash, Zsh, PowerShell, or POSIX sh. Use when the user requests a CLI in one of those (dispatched here by scaffold-cli). Produces a sourced library with zero side effects at source-time plus a thin entry point, packaging metadata for the dialect's idiomatic channel, and a snapshot test for --help. Loads the cli-architecture doctrine first, generates freeform from the per-language reference, then hands the scaffold to the cli-scaffold-verifier before presenting; fixes any fixable gaps and re-verifies. For POSIX sh, the verifier also runs a forbidden-bashisms sweep.
Anselmoo/werkstoff · ★ 1 · AI & Automation · score 67
Install: claude install-skill Anselmoo/werkstoff
# Shell CLI scaffold (Bash / Zsh / PowerShell / POSIX sh) You generate a CLI in a shell dialect. All rules come from the **`cli-architecture`** doctrine — load it first and follow it; this skill does not restate it. ## Step 1 — Load doctrine Load the `cli-architecture` skill. Do not generate anything before it is loaded. ## Step 2 — Read the per-dialect reference Read the reference for the resolved dialect (each maps 1:1 onto the five pillars): - Bash → `${CLAUDE_PLUGIN_ROOT}/skills/cli-scaffold-shell/references/bash.md` - Zsh → `${CLAUDE_PLUGIN_ROOT}/skills/cli-scaffold-shell/references/zsh.md` - PowerShell → `${CLAUDE_PLUGIN_ROOT}/skills/cli-scaffold-shell/references/powershell.md` - POSIX sh → `${CLAUDE_PLUGIN_ROOT}/skills/cli-scaffold-shell/references/posix-sh.md` For **POSIX sh**, `references/posix-sh.md` also lists the forbidden bashisms the verifier sweeps for. Avoid all of them while generating. ## Step 3 — Resolve the write target (in code) ```bash python3 "${CLAUDE_PLUGIN_ROOT}/scripts/write_scope.py" "<app-name>" ``` Write the scaffold **only** under the path it prints. If it exits non-zero, stop and ask for a valid app name — never write outside the declared output scope. ## Step 4 — Generate the scaffold freeform Following the reference idioms (not stored boilerplate), generate: - a **sourced library** with **zero side effects at source-time** (only definitions; nothing runs on `source`) and a **thin entry point** that only parses, dispatches int