smoke-verifylisted
Install: claude install-skill adnanmokhtar/refract
# Skill: smoke-verify
## Purpose
Prove the application **still boots** after a behaviour-preserving change. Unit/integration tests pin logic; they do not catch the class of breakage that only surfaces at startup:
- broken dependency-injection wiring (a moved/renamed provider no longer resolves),
- routes/handlers/commands that silently fail to register,
- an import cycle introduced by extracting a module,
- config / env loading that throws before the first request,
- a build/transpile error in a path no test imports.
"Tests are green" + "the app doesn't start" is a real, common post-refactor state. This skill closes that gap. It is the **last** step of a sweep — after the final commit, before reporting success.
## When to use
- Dispatched as the final step by `/optimize`, `/audit`, `/align`, `/migrate` (after the last fix commit).
- On demand: `verify the app still boots after these changes`.
- **Skip** with `--no-boot-check` for pure libraries/SDKs with no runnable entry point. Note that this is rarely the right call: the `library-*` row below (import the package entry) is cheap and catches import cycles, which is the single most common thing an extract-module refactor breaks. `--no-boot-check` is for the case where there is genuinely nothing importable, not for the case where booting is inconvenient.
## Procedure (stack-conditional via PROJECT_KIND)
1. **Resolve the boot command** from `ai/stack.md` § Scripts + `PROJECT_KIND`:
| PROJECT_KIND | Boot check | Pass