← ClaudeAtlas

smoke-testlisted

Post-hatch validation — checks config, OPERATOR.md, plugin references, routines, and optionally sends a channel test message. Run after hatch to verify setup.
gtapps/claude-code-hermit · ★ 59 · AI & Automation · score 81
Install: claude install-skill gtapps/claude-code-hermit
# Smoke Test Validate the post-hatch setup. Produces a structured report with PASS/WARN/FAIL per check. ## Plan ### 1. Initialize counters Track `passed`, `warnings`, `failures` counts. Collect output lines for the final report. ### 2. Config validation - Read `.claude-code-hermit/config.json` - If missing or invalid JSON: **FAIL** `config.json missing or invalid` - If valid: **PASS** `config.json parsed` - Read `${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json` to get the current plugin version - Compare `config._hermit_versions["claude-code-hermit"]` with the plugin version - Match: **PASS** `version matches plugin (X.Y.Z)` - Mismatch: **WARN** `config version X.Y.Z != plugin X.Y.Z — run /claude-code-hermit:hermit-evolve` - Check required top-level keys exist: `agent_name`, `channels`, `env`, `heartbeat` - Each missing key: **FAIL** `missing required key: <key>` ### 3. OPERATOR.md sanity - Check if `.claude-code-hermit/OPERATOR.md` exists - Missing: **WARN** `OPERATOR.md missing — run hatch or create manually` - Empty: **WARN** `OPERATOR.md is empty — fill in project context` - If exists and non-empty: - Check for `{{` placeholder patterns (NOT `<!--` which are legitimate HTML comments) - Found: **WARN** `OPERATOR.md contains unfilled {{ placeholders` - Not found: **PASS** `OPERATOR.md readable` ### 4. Scheduled check references - Read `scheduled_checks` array from config.json - For each entry: - Extract the plugin and skill name from the