← ClaudeAtlas

initlisted

Use when the user says "/nightshift:init", "set up nightshift here", "add the overnight landing loop to this repo", or asks how to run plans unattended in a repo that has no `loop/` directory. Scaffolds the loop, the two PreToolUse guards, a stack-specific verifier and the landing doc into the current repo, merges `.claude/settings.json`, proves it with a dry run, commits the scaffold on a branch, runs preflight and prints the first-night recipe. Do NOT use to run a night (the loop runs itself from launchd or the terminal), to triage one (use morning), or to write a plan (use plan). Do NOT re-run to update an existing scaffold; use `init.mjs --check` and `--update`. This is for the old landing loop; for Nightwatch use nightwatch-init.
jasonm4130/claude-skills · ★ 5 · AI & Automation · score 72
Install: claude install-skill jasonm4130/claude-skills
# Scaffold Nightshift into this repo The loop is committed in the target repo, not in this plugin: it runs `claude -p --setting-sources project`, where installed plugins never load, so the hooks only bite when they live under the repo's own `.claude/`. This skill copies them in, proves the copy, and leaves the switch off. Announce: "Using nightshift:init to scaffold the overnight landing loop." Scripts live under this skill's plugin directory: resolve `${CLAUDE_PLUGIN_ROOT}` (or this file's `../../scripts/`) and call them with `node`. ## 1. Look before writing - `git remote get-url origin` is a GitHub remote, `gh auth status` succeeds. - Detect the stack the way `init.mjs --stack auto` does (Cargo.toml, package.json, pyproject.toml, go.mod, else generic) and say which verifier skeleton it gets. - An existing `loop/`, `scripts/check`, or `.claude/hooks/` means this is not a first init: run `node <plugin>/scripts/init.mjs --check` and stop with its report instead. - Is there a plan to land? If the user names one, pass `--plan <path>`; otherwise init scaffolds `docs/plans/<today>-nightshift-smoke.md` with one harmless task so the first night has something to do. ## 2. Scaffold ``` node <plugin>/scripts/init.mjs --stack <stack> [--plan <path>] [--base <branch>] ``` Say what it wrote (it prints the list): `loop/*`, `.claude/hooks/*`, `scripts/check` (never overwritten if present), `docs/developing/landing.md` or `docs/nightshift.md`, the smoke plan, and the merged