{"id":17866,"plugin_id":"plugins_6a7c58f65d708191b3a705a8625baffe","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:14:24.925Z","digest":"7e532caf29e6c7e3ae969d719d24b430f45065ecb750cfafed82b168b0ffa794","against":null,"payload":{"description":"Issue a stop-work order: pause the shift now, leaving unfinished items open.","included_files":[],"name":"stop","skill_md_contents":"---\nname: stop\ndescription: Issue a stop-work order: pause the shift now, leaving unfinished items open.\nlicense: MIT\n---\n\nPause the host-opened project immediately so the owner can edit the punch list and resume later.\n\nResolve the installed plugin root to an absolute `$NIGHTSHIFT_PLUGIN_ROOT` — `${CLAUDE_PLUGIN_ROOT}`\non Claude Code, `$PLUGIN_ROOT` on Codex when set, otherwise the absolute path this skill was\nattached from (`skills/stop/SKILL.md`). Run every command below through\n`\"$NIGHTSHIFT_PLUGIN_ROOT/runtime/ns\"` — native Windows: `& \"$NIGHTSHIFT_PLUGIN_ROOT\\runtime\\windows\\ns.ps1\"`\nin the PowerShell tool, same verbs — which resolves the host and the workspace; `ns help` lists the\nverbs, and `ns bind` prints the six resolved facts (`TASK_ROOT`, `NIGHTSHIFT_WORKSPACE`, `NS`,\n`NIGHTSHIFT_PLUGIN_ROOT`, `HOST`, `SOURCE`); `$NS` below is that `NS`. Never a bare relative path: the working\ndirectory persists between calls. Each `$NS/...` path below is where the current layout keeps that file;\n`ns path <key>` prints where this workspace keeps it, and `ns path --list` names every key.\n\nRun the trusted helper. Do not write `$NS/STOP` by hand, do not delete `$NS/run/.shift-armed`, and do\nnot kill `$NS/run/.watchman` yourself — the helper performs the safe teardown:\n\n```bash\n\"$NIGHTSHIFT_PLUGIN_ROOT/runtime/ns\" stop-shift\n```\n\nThe helper writes `$NS/STOP` with a reason and UTC timestamp, appends `stopped by owner` to\n`$NS/run/shift-log.md`, and kills only a verified live Nightshift watchman. It does not remove\n`$NS/run/.shift-armed`. It drops `$NS/run/.shift-session` so the same conversation is not a second\nagent on the next Start. Open boxes stay open as the record. Hardhat stays until clock-out writes\n`$NS/run/.ended`. Reset is the manual escape. The deadline, punch list, rules, parking lot, work\norders, receipts, archives, research, opportunities, and shift history stay on disk. Do not wait\nfor a later Stop event to write the marker — the helper writes it now.\n\nReport the helper's `open-items` count and that the deadline was preserved. A second Stop is safe.\n\nResume later with Start (`/nightshift:start` on Claude Code, or ask Nightshift to start on Codex).\nStart clears the pause markers and begins a new ownership lease. A future preserved deadline\nremains the deadline. An expired preserved deadline is not silently renewed: write a new UNIX epoch\nto `$NS/run/deadline`, or run Reset then Start.\n\nThis works from the bound conversation, from a helper conversation, and when a failed clock-out left a recovery nonce that still fences the recorded conversation.\n\n**Panic form (does not disarm immediately):** from any POSIX terminal,\n`touch \"$NS/STOP\"`. In native Windows PowerShell, run\n`New-Item -ItemType File -Force \"$NS\\STOP\"`. That marker is honored at the next Stop event or\nwatchman wake. Prefer the helper when the model is stuck — it does not wait for that event.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}