Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Closed Plan

ASecurity

Produce a closed-loop, fully deterministic implementation checklist for a software/coding task — from a draft plan, the user's instructions, or the conversation — where every step is executable with zero on-the-fly decisions, no deferred tasks, and no gaps. Design and scope questions only the user can answer are settled with them; codebase, language, structure, and convention details are decided autonomously by inspecting the code.

2 stars
0 votes
0 copies
1 views
Added 9/22/2026
ai-agentsgo

Security Analysis

A100/100

Scanned 9/22/2026

Install to Claude Code

$npx -y skills add dotlas/skills --skill closed-plan --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Closed Plan?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Closed Plan
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dotlas-closed-plan/badge)](https://www.skillsdirectory.com/skills/dotlas-closed-plan)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: closed-plan
description: Produce a closed-loop, fully deterministic implementation checklist for a software/coding task — from a draft plan, the user's instructions, or the conversation — where every step is executable with zero on-the-fly decisions, no deferred tasks, and no gaps. Design and scope questions only the user can answer are settled with them; codebase, language, structure, and convention details are decided autonomously by inspecting the code. 
---
# Closed Plan

Turn a task into a **closed, deterministic checklist** — a plan that can be executed top
to bottom with no decisions left for execution time.

Treat the plan as a **contract**: everything is agreed up front, and execution only
honours the terms — it never renegotiates.
That means the discovery, code-reading, and judgement all happen now, during planning,
so whoever executes it later (you or another agent) can work mechanically — no fresh
decisions, no second pass over the codebase.

## The two hard guarantees

1. **No open-ended decisions.** Nothing is “decided during execution”, “as appropriate”,
   or “TBD”. Every choice is already made and written into the step.
2. **No gaps or deferrals.** The plan covers the whole task end to end.
   No “handle edge cases later”, no orphaned step whose inputs nothing produces.
   The output/postcondition of step N satisfies the precondition of step N+1.

If you cannot write a step without leaving a decision open, the plan is **not done** —
resolve the decision first (see triage below), then write the step.

## Procedure

### 1. Fix the source and restate the task

Decide what to plan from, then restate it in 1-2 sentences.
Do not start planning until the goal and its source are unambiguous.

- **Plan only what the user actually asked for.** If they invoked with an explicit
  target ("create a /closed-plan to implement X"), plan X — do not fold in unrelated
  things from the conversation.
- **Use the conversation as the source only when prompted** ("based on our
  conversation") or when there is no explicit target.
  Don’t assume the chat history is always the spec.
- **When mining the conversation, ignore what was discarded.** If an idea was raised and
  then rejected, superseded, or abandoned as the discussion veered, it is out of scope —
  plan the *current* conclusion, not the dead branches.
  If it is unclear whether something was settled or dropped, that is a Bucket-A question
  (resolve it with the user, step 3) — never silently plan a discarded idea.

### 2. Triage every open question into exactly one bucket

Each open question is a contract term, and it belongs to exactly one party — the user
sets it, or you settle it from the code.
Never leave a term unassigned.

| Bucket | What it is | How to resolve |
| --- | --- | --- |
| **A — Design / problem** | What the thing should *do* or *be*: requirements, scope, business rules, data semantics, UX behaviour, acceptance criteria, tradeoffs only the user can judge. | **Do NOT guess.** Put these to the user (step 3) until every Bucket-A question is resolved. |
| **B — Implementation** | *How* to build it within this codebase: file/module layout, naming, language idioms, existing conventions, reuse of helpers, library choices the repo already implies. | **Do NOT ask the user.** Read the codebase, follow its conventions, and decide. Plan a modular, reusable, neat implementation. |

When unsure which bucket a question is in: if a competent engineer who knows this
codebase could answer it correctly without the user, it is Bucket B. Otherwise it is
Bucket A.

### 3. Resolve Bucket A with the user

If any Bucket-A question exists, put it to the user with AskUserQuestion — each question
carrying a recommended answer — and do not proceed to step 5 until all are resolved.
If there are zero Bucket-A questions, skip this — do not invent questions to ask.

### 4. Resolve Bucket B autonomously

Explore the relevant code: directory structure, neighbouring modules, naming and import
conventions, existing utilities to reuse.
Note which plan directory the project uses (`.plan/`, `.plans/`, `plans/`) — fall back
to `.plan/` if none exists.
Plans will be saved there.
Make each implementation decision and bake it into the plan.
Never surface these to the user as questions.

### 5. Write the closed checklist to disk

Write a numbered (or `- [ ]`) checklist directly to the plan file (see Output rules).
Do **not** print the checklist body in the chat — write it straight to disk, then tell
the user the path. Every item must:
- Names the concrete file/function/symbol it touches and the exact change.
- Has a clear precondition (what must exist before it) and postcondition (what it
  produces).
- Contains no decision verbs deferred to later — see the banned list below.
- Is ordered so dependencies come first; no forward references to things not yet
  created.

End with a short **Done-when** section — the contract’s acceptance clause: the
objective, checkable conditions that mean the whole task is complete (tests pass,
command runs, output matches).
This closes the loop.

## Banned in the output

Reject your own draft if any step contains: “TBD”, “decide later”, “as needed / as
appropriate”, “figure out”, “handle edge cases” (name them instead), “etc.”, “and so
on”, “if necessary”, “something like”, or any unresolved either/or.
Each of these is an open decision that must be resolved before the plan is finished.

## Output rules

- This skill produces a **plan only** — no production code.
  Reading code and running read-only commands to settle Bucket-B decisions is expected;
  writing the implementation is not.
- Write the plan **directly to disk** — do not print the checklist body in the chat.
  Save to the plan directory detected in Step 4. Filename: `YYYY-MM-DD-{topic-slug}.md`
  (kebab-cased from the task statement).
  After writing, tell the user the path and the number of steps.
- Do not pad the plan with optional or speculative steps.
  Closed means complete, not bloated.

Attribution

dotlasdotlas
View sourceMore from dotlas →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

693621 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →