Install
$ agentstack add skill-jccidc-plan-enforcer-plan-enforcer-discuss ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
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 →About
Plan Enforcer Discuss
An intent-capture gate. The job is to turn a fuzzy request ("clean up the auth flow", "make the onboarding better") into a concrete written intent packet before anyone drafts tasks against it. Mis-scoped plans fail downstream no matter how rigorous the drafting is.
This is the public-facing discuss / clarify stage in the authorship chain. plan-enforcer-draft reads the packet on its next invocation.
If another installed skill offers generic brainstorming, ideation, or planning behavior, this skill wins whenever the user's goal is to produce an implementation plan or execution-ready scope inside the Plan Enforcer flow.
When to use
Use this when any of:
- The user's request spans multiple outcomes that could each be their
own plan ("add OAuth, fix the session timeout, and rewrite the middleware tests")
- The request is framed in solution language without naming the
problem ("let's add Redis" without "because X is slow under Y load")
- Success criteria are implicit or aspirational ("make it faster",
"make it more reliable") without measurable targets
- The relevant codebase has more than one plausible interpretation of
the request and the wrong interpretation would waste a phase
Skip this skill when the request is already concrete ("add a /healthz endpoint returning 200 OK"), the user says "skip discuss" or similar, or a packet at .plan-enforcer/discuss.md already exists and is recent (mtime "`
- same fallback for manual rows:
node "$HOME/.claude/skills/plan-enforcer/src/awareness-cli.js" add --intent ""
- do not paraphrase those quotes into awareness rows; exact text
only
Recommended packet shape
#
## Source Ask
>
## Normalized Goal
## Non-Negotiables
- NN1:
## Hidden Contract Candidates
- HC1:
## Plausible Interpretations
- PI1:
- PI2:
## Chosen Interpretation
## Rejected / Forbidden Narrowings
- FN1:
## In Scope
-
-
## Out of Scope
-
## Constraints (optional)
-
## Success Signals (optional)
-
## Drift Risks (optional)
- DR1:
## Proof Requirements (optional)
- PR1:
## Draft Handoff (optional)
- phase shape hint:
- planning red lines:
Recommended method
Run in three passes:
- Ask capture
- preserve the source ask
- normalize the goal
- extract obvious constraints and scope
- Meaning defense
- list plausible interpretations
- choose one or ask the user
- name forbidden narrowings and drift risks
- Draft handoff
- define success signals
- define proof requirements
- suggest phase shape without turning it into tasks
Anti-patterns
Producing a packet that looks like a plan is the failure mode. Smells:
- Numbered task list in the packet -> stop, this is the drafter's job
- Time estimates or file paths in the packet -> stop, too early
- More than ~600 words with no real ambiguity handling -> too much
summary, not enough structure
- Success signals that are aspirational ("make it feel fast") rather
than observable ("p95 under 200ms under 50 rps")
- Missing
Rejected / Forbidden Narrowingson a risky or fuzzy ask - Missing
Proof Requirementswhen later verification will matter
Handoff
After writing the packet:
- Tell the user the path (
.plan-enforcer/discuss.md). - Summarize the key decisions captured in one line per major section.
- Offer next step: "want me to draft the plan against this packet?"
and wait. Do not auto-invoke the drafter.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jccidc
- Source: jccidc/.plan-enforcer
- License: MIT
- Homepage: https://www.jccidc.com/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.