Update to Nightshift
Snapshot Oct 29, 2026 · 18:35 UTC · version 0.26.1
Collection source: downloaded plugin package. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.
Instructions updated for purge
Full description — Now says: Delete this project's Nightshift state only after an explicit deletion request and confirmation of the exact target.
Observed in instructions or declared skills. Runtime behavior has not been tested.
Up to 10 plugins free · no card required.
All fields and original values.
Full description
Sep 30, 2026 · 23:14 UTC
Permanently delete this project's Nightshift state; does not uninstall the plugin.
Oct 29, 2026 · 18:35 UTC
Delete this project's Nightshift state only after an explicit deletion request and confirmation of the exact target.
Skill instructions
Sep 30, 2026 · 23:14 UTC
Permanently delete this project's Nightshift state; does not uninstall the plugin. license: MIT Remove Nightshift from this project. This deletes punch lists, rules, receipts, archives, and history under the project's `.nightshift/` dire...
Oct 29, 2026 · 18:35 UTC
"Delete this project's Nightshift state only after an explicit deletion request and confirmation of the exact target." # Purge Read the [workflow](../nightshift/references/workflow.md). Identify the absolute project state path and inspec...
Compare saved observations
Download comparison JSONSKILL.md text changes
− removed · + added
--- before +++ after @@ -1,38 +1,15 @@ --- name: purge -description: Permanently delete this project's Nightshift state; does not uninstall the plugin. -license: MIT +description: "Delete this project's Nightshift state only after an explicit deletion request and confirmation of the exact target." --- -Remove Nightshift from this project. This deletes punch lists, rules, receipts, archives, and -history under the project's `.nightshift/` directory. It does not uninstall the global Nightshift -plugin. +# Purge -Resolve the installed plugin root to an absolute `$NIGHTSHIFT_PLUGIN_ROOT` — `${CLAUDE_PLUGIN_ROOT}` -on Claude Code, `$PLUGIN_ROOT` on Codex when set, otherwise the absolute path this skill was -attached from (`skills/purge/SKILL.md`). Run every command below through -`"$NIGHTSHIFT_PLUGIN_ROOT/runtime/ns"` — native Windows: `& "$NIGHTSHIFT_PLUGIN_ROOT\runtime\windows\ns.ps1"` -in the PowerShell tool, same verbs — which resolves the host and the workspace; `ns help` lists the -verbs, and `ns bind` prints the six resolved facts (`TASK_ROOT`, `NIGHTSHIFT_WORKSPACE`, `NS`, -`NIGHTSHIFT_PLUGIN_ROOT`, `HOST`, `SOURCE`); `$NS` below is that `NS`. Never a bare relative path: the working -directory persists between calls. Each `$NS/...` path below is where the current layout keeps that file; -`ns path <key>` prints where this workspace keeps it, and `ns path --list` names every key. - -Print the exact canonical `$NS` path. Warn that punch lists, rules, receipts, archives, and history -will be lost, and that the plugin itself stays installed. Do not run the helper until the owner -confirms that exact path. Then: - -```bash -"$NIGHTSHIFT_PLUGIN_ROOT/runtime/ns" purge-workspace \ - --confirm-path "$NS" -``` - -The helper first performs Reset, then deletes only that validated `.nightshift/` directory and a -local `.nightshift-link` on the opened task root when present. It refuses symlinks, malformed -links, workspace roots, home directories, `/`, and other broad paths. It never deletes repository -files outside that Nightshift state. A second Purge with the same confirmation is safe. - -If the task root is linked, pass the folder you opened as `--project "$TASK_ROOT"`. This is the -one command whose target is the task root rather than the workspace, so it is the one place the -dispatcher's answer is not the one you want: purging only the workspace path leaves the host link -in place. +Read the [workflow](../nightshift/references/workflow.md). Identify the absolute project state +path and inspect it without following symlinks. This skill deletes state, not the plugin or project +files. If the owner has not explicitly authorized deletion of that exact path, show what would +be lost and ask for confirmation. Prior explicit authorization for the same target is sufficient. +Refuse deletion if the state belongs to another installation, has an active session, contains +symlinks, or the path cannot be confined to the chosen project's `.nightshift/`. Once authorized +and inactive, delete only that directory using the available file tools, then verify the target +is gone and the project remains. With no file access, explain that no deletion occurred.
Full technical diff · 2 changed fields
changed /description
"Permanently delete this project's Nightshift state; does not uninstall the plugin."
"Delete this project's Nightshift state only after an explicit deletion request and confirmation of the exact target."
changed /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""---\nname: purge\ndescription: \"Delete this project's Nightshift state only after an explicit deletion request and confirmation of the exact target.\"\n---\n\n# Purge\n\nRead the [workflow](../nightshift/references/workflow.md). Identify the absolute project state\npath and inspect it without following symlinks. This skill deletes state, not the plugin or project\nfiles. If the owner has not explicitly authorized deletion of that exact path, show what would\nbe lost and ask for confirmation. Prior explicit authorization for the same target is sufficient.\nRefuse deletion if the state belongs to another installation, has an active session, contains\nsymlinks, or the path cannot be confined to the chosen project's `.nightshift/`. Once authorized\nand inactive, delete only that directory using the available file tools, then verify the target\nis gone and the project remains. With no file access, explain that no deletion occurred.\n"
Full snapshot data
{
"description": "Delete this project's Nightshift state only after an explicit deletion request and confirmation of the exact target.",
"included_files": [],
"name": "purge",
"skill_md_contents": "---\nname: purge\ndescription: \"Delete this project's Nightshift state only after an explicit deletion request and confirmation of the exact target.\"\n---\n\n# Purge\n\nRead the [workflow](../nightshift/references/workflow.md). Identify the absolute project state\npath and inspect it without following symlinks. This skill deletes state, not the plugin or project\nfiles. If the owner has not explicitly authorized deletion of that exact path, show what would\nbe lost and ask for confirmation. Prior explicit authorization for the same target is sufficient.\nRefuse deletion if the state belongs to another installation, has an active session, contains\nsymlinks, or the path cannot be confined to the chosen project's `.nightshift/`. Once authorized\nand inactive, delete only that directory using the available file tools, then verify the target\nis gone and the project remains. With no file access, explain that no deletion occurred.\n"
}SHA-256 of public snapshot: e9822f5b3320d3e86c9ce4f021ecf3a32148a070c93df1fb15578a337337d9ad