Context
The curator never deletes skills — it archives them: skill_lifecycle.state='archived' (+ absorbed_into, archived_at), the package moved into .archive/, and a pre-pass snapshot in curator_backups/. Today there is no recover path: an over-eager consolidation or a wrongly-archived skill cannot be restored without manual file surgery.
Scope
A first-class recover operation that brings an archived rightx-* skill back to active:
- restore the package files from
.archive/ (or a curator_backups/ snapshot),
- flip
skill_lifecycle back to active, clear archived_at/absorbed_into as appropriate,
- re-establish any cron links that were dropped/redirected on archive (see
maintain_cron_links_for_archived).
Operator surface: dashboard (consistent with pin/unpin being the operator surface) rather than CLI.
Why deferred
Out of scope of the curator observability + safety spec (docs/superpowers/specs/2026-06-15-curator-observability-and-safety-design.md) by decision — that spec guarantees archives stay recoverable (archive-not-delete invariant); this issue builds the actual restore.
Context
The curator never deletes skills — it archives them:
skill_lifecycle.state='archived'(+absorbed_into,archived_at), the package moved into.archive/, and a pre-pass snapshot incurator_backups/. Today there is no recover path: an over-eager consolidation or a wrongly-archived skill cannot be restored without manual file surgery.Scope
A first-class recover operation that brings an archived
rightx-*skill back to active:.archive/(or acurator_backups/snapshot),skill_lifecycleback toactive, cleararchived_at/absorbed_intoas appropriate,maintain_cron_links_for_archived).Operator surface: dashboard (consistent with pin/unpin being the operator surface) rather than CLI.
Why deferred
Out of scope of the curator observability + safety spec (
docs/superpowers/specs/2026-06-15-curator-observability-and-safety-design.md) by decision — that spec guarantees archives stay recoverable (archive-not-delete invariant); this issue builds the actual restore.