You'll use this when setting up a repo to work smoothly in Claude Code sessions, whether you're on CLI, web, or API. It walks you through creating a SessionStart hook that installs dependencies so your tests and linters just work when the session spins up. The workflow is thorough: analyze your package manifests, write an idempotent bash script, register it in .claude/settings.json, then validate that linters and tests actually run. By default it runs synchronously to avoid race conditions, though you can switch to async mode if you prefer faster startup and don't mind the risk. Once merged to your default branch, every new session gets the setup automatically. It's the difference between Claude hitting "command not found" and everything working from the first message.
npx skills add https://github.com/camacho/ai-skills --skill session-start-hook