{"id":17852,"plugin_id":"plugins_6a7c58f65d708191b3a705a8625baffe","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:14:24.585Z","digest":"4af43fc5da6caf76acfa85d29b980bc1a2470c7c8bbbc1eb8de65053a90a55b7","against":null,"payload":{"description":"Permanently delete this project's Nightshift state; does not uninstall the plugin.","included_files":[],"name":"purge","skill_md_contents":"---\nname: purge\ndescription: Permanently delete this project's Nightshift state; does not uninstall the plugin.\nlicense: MIT\n---\n\nRemove Nightshift from this project. This deletes punch lists, rules, receipts, archives, and\nhistory under the project's `.nightshift/` directory. It does not uninstall the global Nightshift\nplugin.\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/purge/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\nPrint the exact canonical `$NS` path. Warn that punch lists, rules, receipts, archives, and history\nwill be lost, and that the plugin itself stays installed. Do not run the helper until the owner\nconfirms that exact path. Then:\n\n```bash\n\"$NIGHTSHIFT_PLUGIN_ROOT/runtime/ns\" purge-workspace \\\n  --confirm-path \"$NS\"\n```\n\nThe helper first performs Reset, then deletes only that validated `.nightshift/` directory and a\nlocal `.nightshift-link` on the opened task root when present. It refuses symlinks, malformed\nlinks, workspace roots, home directories, `/`, and other broad paths. It never deletes repository\nfiles outside that Nightshift state. A second Purge with the same confirmation is safe.\n\nIf the task root is linked, pass the folder you opened as `--project \"$TASK_ROOT\"`. This is the\none command whose target is the task root rather than the workspace, so it is the one place the\ndispatcher's answer is not the one you want: purging only the workspace path leaves the host link\nin place.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}