AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Plan Enforcer Abandon

skill-jccidc-plan-enforcer-plan-enforcer-abandon · by jccidc

Abandon the active Plan Enforcer plan in one command. Use when you have decided to stop working on the current plan (scope changed, priorities moved, you pivoted). The command records the abandonment in the Decision Log, emits a closure receipt into the walkable audit chain, archives the full ledger so you can look it up months later, and clears the active slot so the next discuss or import start…

No reviews yet
0 installs
7 views
0.0% view→install

Install

$ agentstack add skill-jccidc-plan-enforcer-plan-enforcer-abandon

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-jccidc-plan-enforcer-plan-enforcer-abandon)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Plan Enforcer Abandon? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Abandon Plan

Retire the active Plan Enforcer plan cleanly. When you are mid-plan and you change your mind, this replaces the multi-step manual dance (hand-write a Decision Log row covering every non-terminal task, rewrite the ledger, move it to the archive dir, fight the schema guard) with a single command.

When to use

Invoke this skill when:

  • You are mid-plan and decide to stop working on it entirely.
  • A higher-priority pivot has appeared and the current plan is not going to land.
  • The plan was misconceived and needs to be abandoned cleanly before a new plan is drafted.
  • You want an audit-grade record of why the plan stopped, preserved on disk for future reference.

Skip this skill when the plan is already fully closed (use the normal close flow; abandon refuses on a fully-terminal ledger) or when you only want to reorder remaining tasks (edit the ledger directly; abandon is for ending the plan, not reshaping it).

How it runs

Prefer the installed CLI when available:

plan-enforcer-abandon --reason "scope changed -- pivoting to auth migration"

If the installed wrapper is not on PATH, invoke the CLI directly:

node "$HOME/.claude/skills/plan-enforcer/src/abandon-cli.js" --reason ""

The --reason flag is required. The required reason is sole authorization -- there is no --force flag and no interactive confirm prompt. The reason is the act of abandonment being logged; if you cannot state why, do not abandon.

Exit codes:

  • 0 success. Two paths printed to stdout: archive: and receipt: .
  • 2 preflight failure. Stderr names the specific reason (no ledger, empty ledger, all rows already terminal, or --reason missing).
  • 1 unexpected failure during transformation, archive, or receipt. Stderr carries the message.

What the command does

In order:

  1. Preflight. Confirms an active ledger exists, that at least one row is still non-terminal, and that --reason is provided.
  2. Mark remaining rows superseded. Every non-terminal task row is flipped to superseded with evidence abandoned: . Already-terminal rows (verified, skipped, blocked) are left unchanged as part of the historical record.
  3. Log the pivot. A new Decision Log row with type pivot is appended, scoped to the list of T-IDs that were flipped, with reason Plan abandoned: .
  4. Emit a closure receipt. The shipped receipt pipeline runs against the transformed content. The resulting receipt lands at .plan-enforcer/proof/closure--.md and its Prior closure section links to any earlier receipt for the same plan-slug, preserving the walkable chain.
  5. Archive the ledger. The full transformed ledger is written to .plan-enforcer/archive/-.md with frontmatter fields describing the close.
  6. Clear the active slot. .plan-enforcer/ledger.md and transient sidecar files are removed via the existing cleanupWorkingFiles helper.

After abandonment

The archive file is the audit record. Six months later you can answer "I wonder what that plan was" without git archaeology:

  • Open .plan-enforcer/archive/-.md directly. The file is the full human-readable ledger: scoreboard, task table, Decision Log (including the abandonment row), reconciliation history, and frontmatter describing the close.
  • Run plan-enforcer-report with no arguments for a summary of every archive entry, or plan-enforcer-report to render a specific archive.

To pick up related work later, draft a new plan via /plan-enforcer-discuss and /plan-enforcer-draft referencing the archive path. There is no "unabandon" command -- the archive is the full history and a new plan is a cleaner restart.

Anti-patterns

  • Running plan-enforcer-abandon when you actually want to close the plan normally. A plan that is mostly complete should ride the normal auto-emission path through the plan-close hook; abandon is for stopping work, not for finishing it.
  • Providing a vague reason. --reason "done" defeats the purpose; use the reason slot to record the actual pivot context so the audit record is useful to a future reviewer.
  • Editing the archive file after creation. Archives are point-in-time records; if you need to annotate, open a new plan that references the archive path.
  • Using the same reason repeatedly across different abandons. Each reason is its own row in the audit trail; reuse hides the actual history.

See also

  • plan-enforcer-report -- browse archive entries and render specific archives.
  • plan-enforcer-receipt -- the underlying closure-receipt surface; abandon uses it internally.
  • plan-enforcer-discuss / plan-enforcer-draft -- start a fresh plan after abandonment.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.