ptp-archive-force

Force-archives OpenSpec changes while bypassing task, review, and validation gates.

Updated Jun 8, 2026
One-click install
npx skills add https://github.com/AlmogMaayan/ptp --skill ptp-archive-force-almogmaayan
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ptp-archive-force
Source: https://github.com/AlmogMaayan/ptp/tree/main/skills/ptp-archive-force
Command: npx skills add https://github.com/AlmogMaayan/ptp --skill ptp-archive-force-almogmaayan

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Abandoned, superseded, or done-but-never-reviewed changes cannot pass the standard archive gates (complete tasks, clean review, strict validation), leaving them stuck in the active changes folder. This Skill provides an explicit escape hatch that archives them anyway while still syncing delta specs and reporting every bypassed gate. ## Core Features & Use Cases - Gate-bypass archiving: Moves changes to openspec/changes/archive/ without requiring completed tasks, clean review, or passing openspec validate --strict, while still reporting each bypassed gate per change. - Safe spec syncing: Uses the OpenSpec CLI when possible, with a manual fallback that dry-runs every delta spec before writing anything, guaranteeing main specs are never half-synced on malformed deltas. - Batch resilience with scope confirmation: Processes multiple resolved changes in story order, continues past per-change failures, and requires a one-time conversational confirmation only when invoked with the empty/all selector. - Use Case: A change was superseded mid-development and its tasks are half-checked with failing validation. Force-archive it to clean up the active changes list, sync whatever valid delta specs exist, and get a report of exactly which gates were bypassed. ## Quick Start Ask the AI to force-archive the abandoned change via /ptp:archive-force with the change id, or with no argument to confirm and archive all unresolved changes.

Frequently Asked Questions about ptp-archive-force

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I archive an OpenSpec change with incomplete tasks?▼

Use the force-archive route, which moves the change to openspec/changes/archive/ without requiring all tasks to be checked off. It still counts and reports the unchecked items so the bypass is never silent.

What is the difference between force archive and the default archive in OpenSpec?▼

The default archive blocks on three gates: incomplete tasks, unclean review, and failing strict validation. Force archive bypasses all three gates but still reports them per change, and is intended only as an explicit escape hatch, never the default route.

Does force archiving still sync delta specs to the main specs?▼

Yes. It runs openspec archive normally when delta specs exist, and only uses --skip-specs when no delta spec files are present. If the CLI rejects the change, a manual fallback applies each delta after dry-running all of them first.

What happens if a delta spec is malformed during force archive?▼

The manual fallback dry-runs every delta before writing anything. If any delta is malformed, the change is aborted with no writes, the folder stays in place, main specs remain untouched, and the change is recorded as a per-change failure.

Can I force archive multiple changes at once?▼

Yes. It processes an ordered list of resolved change ids and continues past individual failures. When invoked with no argument (all changes), it prints the list and requires one conversational confirmation before proceeding.