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

Plan Enforcer Receipt

skill-jccidc-plan-enforcer-plan-enforcer-receipt · by jccidc

Emit a Plan Enforcer closure receipt against the current ledger. Use when you want an on-demand receipt (plan still open or already closed), or to snapshot progress mid-flight. Auto-emission on plan close is handled by the post-tool-use plan-close hook; this skill is for explicit requests.

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

Install

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

✓ 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-receipt)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
5mo 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 Receipt? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Closure Receipt

Emit a markdown closure receipt against the current Plan Enforcer ledger. Receipts are standardized audit artifacts derived from .plan-enforcer/ledger.md. Every emission is preserved as its own timestamped file under .plan-enforcer/proof/closure--.md, and each receipt references its prior closure for the same plan-slug so the directory forms a walkable audit chain.

When to use

Invoke this skill in any of these cases:

  • The user wants a receipt right now against the current ledger state -- whether the plan is closed or still in flight.
  • The user wants to snapshot mid-flight progress as a durable artifact (for example, before a long interruption).
  • The auto-emission hook failed to fire (for whatever reason) and a closed plan needs its receipt backfilled.
  • The user explicitly requested an on-demand emission via /plan-enforcer-receipt or by asking for a closure receipt.

Skip this skill when the plan is actively closing under normal execution and the hooks/plan-close.js auto-emission path will fire. That path produces the canonical on-close receipt without explicit invocation.

How it runs

Prefer the installed CLI when available:

plan-enforcer-receipt

If the installed wrapper is not on PATH, fall back to invoking the CLI directly:

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

The CLI accepts:

  • --plan-slug to override the slug derived from the ledger's source plan path.
  • --out to write the receipt to an explicit path rather than the default proof directory.
  • --closed-only to exit non-zero when any task is still pending (useful for CI-style guards that only want receipts against closed plans).
  • --open-ok (default behavior) to tolerate an open ledger and emit a mid-flight snapshot.
  • --help for the usage string.

On success the CLI prints the receipt's absolute path to stdout and exits 0. On a malformed or missing ledger it prints a single-line error to stderr and exits non-zero.

What the receipt contains

Every receipt is assembled from the ledger and follows one standardized section order. The sections are, in order:

  1. Header with plan source, close timestamp, and tier.
  2. Prior closure -- either a markdown link to the immediately-prior receipt for the same plan-slug, or the literal text "none (first close of this plan)". This is the walkable-chain entry point.
  3. Status scoreboard snapshot.
  4. Task ledger (every non-superseded row with ID, task name, status, evidence).
  5. Decision Log summary (every D-row with ID, type, scope, short reason).
  6. Reconciliation history (every R-row).
  7. Files changed (git diff --stat HEAD output, or an "unavailable" note when git is absent).
  8. Blocked / open coordination (every blocked row with notes).
  9. Proof artifacts (every existing file under .plan-enforcer/proof/ at emission time).
  10. Plan-specific extras (only populated when the source plan exposes a Must-Haves or Proof Requirements section; otherwise skipped).

The receipt is ASCII-only. No unicode box-drawing, no smart quotes, no em-dashes -- hyphens and -- are used throughout.

Interaction with auto-emission

The hooks/plan-close.js PostToolUse hook watches the ledger for close-transition edits. When the last non-terminal task flips to a terminal status (verified, skipped, blocked, or superseded), the hook calls the same CLI automatically. A successful auto-emission records the closure hash at .plan-enforcer/.last-close-hash so a subsequent no-op edit on the already-closed ledger does not emit a duplicate receipt.

Explicit invocations through this skill are independent of the auto-emission idempotence -- every /plan-enforcer-receipt call emits a fresh file. If the user wants to capture an intermediate snapshot after a close has already been auto-recorded, this skill is the correct path.

Anti-patterns

  • Editing an existing receipt to reflect a later state. Receipts are point-in-time artifacts; emit a new one for the later state and let the Prior closure chain connect them.
  • Overwriting a receipt filename to collapse history. If the CLI detects a same-millisecond filename collision, it appends -2, -3, and so on to preserve every emission.
  • Manually copying receipts out of .plan-enforcer/proof/. The audit chain assumes receipts live there so that findPriorClosure can walk the directory. Relocate only after the plan is truly retired.

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.