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

Step Planning

ASecurity

Use when turning a resolved behavior spec into an ordered, executable step plan — spawning agentic-qa:step-planner to draft it and agentic-qa:step-plan-critic to pair with it live. Governs surface selection (browser vs. API vs. CLI), the reversibility and containment classification, blocked/cascade marking, and the Critique Exchange log. Invoked by /agentic-qa:walkthrough between Extract Behaviors and the User Gate.

2 stars
0 votes
0 copies
1 views
Added 9/19/2026
ai-agentsgoapibackend

Works with

cliapi

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add bobtat/claude-plugins --skill step-planning --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Step Planning?

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

Security grade badge for Step Planning
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bobtat-step-planning/badge)](https://www.skillsdirectory.com/skills/bobtat-step-planning)

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

Download with Pro
Files
SKILL.md
---
name: step-planning
description: Use when turning a resolved behavior spec into an ordered, executable step plan — spawning agentic-qa:step-planner to draft it and agentic-qa:step-plan-critic to pair with it live. Governs surface selection (browser vs. API vs. CLI), the reversibility and containment classification, blocked/cascade marking, and the Critique Exchange log. Invoked by /agentic-qa:walkthrough between Extract Behaviors and the User Gate.
---

## Overview

This is Phase 2: turning the resolved `behavior-spec.md` into `step-plan.md` — one step per behavior from the acceptance criteria, and one per `Added` row still marked `included`. This is mechanical, not a judgment call this phase makes; whether an `Added` row survives is the User Gate's decision, made later.

**Orchestrator-owned steps:** spawning both agents and enforcing the round cap, same division as `agentic-qa:behavior-coverage`.

## Step 1 — Spawn the drafter

Spawn `agentic-qa:step-planner` with the absolute paths to `behavior-spec.md` and `intake.md`. It writes real actions against the real target host from `intake.md`'s facts, not abstract ones.

**Surface selection** — the point of a live walkthrough is confirming the real user-facing path works, not proving logic correctness cheaply, so this inverts the usual "cheapest scope" instinct:

1. Default to wherever a real user actually meets the behavior — browser (or CLI, for a CLI-facing tool) over a direct API call. A browser check also confirms the surface is actually wired up; an API-only check would pass even if the button were broken.
2. Add a second, deliberate API step **alongside** the user-facing one — not instead of it — whenever the UI's own behavior could mask a backend gap. Client-side validation blocking an invalid value is exactly this case: the browser step proves the UI rejects bad input, the API step proves the backend independently enforces the same rule. Carry a one-line `Rationale` for this step so a reviewer doesn't wonder why one behavior produced two steps.
3. A behavior that's purely about what's rendered — an error message's wording, a loading state — has no API equivalent and stays browser-only.

**Reversibility and containment** — every step that would have a real-world side effect gets two grounded classifications, not one:

- **Reversibility:** `reversible` | `irreversible`.
- **Containment** (required if irreversible): `contained` (effect stays inside the target environment and test account) or `escapes` (reaches something real outside it — a real email, SMS, payment, or shared resource). Ground the call in the actual API contract, the code path, a doc, or `intake.md`'s `Isolation` claim.

**No browser driver** — when `intake.md` records `Browser driver: none`, plan the browser steps exactly as you otherwise would and mark each `Status: blocked — no browser driver`, cascading to dependents as below. Do not move the behavior to the API to make it runnable: surface selection was a deliberate call, an API check would pass even if the button were broken, and a behavior about what's rendered has no API equivalent at all. A plan that is honest about what this environment can't verify is worth more than one that quietly verifies something else. The User Gate is where the person sees the count and decides whether to fix the environment, narrow the run, or proceed knowing what won't be covered.

**Blocked steps** — a behavior resting on an unanswered `Unspecified` question or an unresolved `Conflict` doesn't get a guessed action. Mark its step `Status: blocked`, with the specific register/conflict number it's waiting on, and cascade that same status to any later step whose `Depends on` traces back to it — never run a step on a missing value.

## Step 2 — Spawn the critic and start the pairing

Spawn `agentic-qa:step-plan-critic` with the absolute paths to the draft `step-plan.md` and `behavior-spec.md`. Its charter:

1. Steps that don't actually verify their claimed behavior, grounded against `behavior-spec.md`.
2. **Traceability completeness** — every behavior from `behavior-spec.md`, stated or an included `Added` row, appears somewhere in `step-plan.md`: as a step, or explicitly in `Out of scope` with a reason. A silent omission is a defect, not a gap to assume was intentional.
3. **Surface-choice fit** — a browser step for something purely backend (inflation), or an API-only step for something only observable in the rendered UI (deficit).
4. **Two grounded calls on every irreversible step** — whether it's irreversible at all, and whether it's `contained` or `escapes`. Both must cite something concrete; "this looks safe" is never sufficient. A hardcoded production mail relay is `escapes` even if `intake.md`'s isolation claim said sandboxed.

**Live pairing, same as Phase 1:** relay findings via `SendMessage` to `agentic-qa:step-planner` rather than editing `step-plan.md` yourself. Log every round in `step-plan.md`'s own `Critique Exchange` section. Round cap: two, same early-exit rule — "no material findings" is valid and expected.

## `step-plan.md` format

```markdown
# Step Plan: <title>

**Behavior spec:** <path>   **Intake:** <path>
**Pre-authorized (contained/irreversible):** yes — granted at User Gate | yes — granted in brief | no

## Traceability
| Step | Behaviors | Action | Surface | Reversibility | Status |
|---|---|---|---|---|---|
| S1 | B1 | … | api | reversible | ready |
| S2 | B3, B4 | … | browser | irreversible, contained — <citation> | ready |
| S3 | B5 | … | api | irreversible, escapes — <citation> | ready |
| S4 | B6 | — | — | — | blocked — Unspecified Q2 |
| S5 | B7 | … | api | — | blocked — depends on S4 |

## Step detail
### S1 — <short name>
- **Behaviors:** B1
- **Surface:** api
- **Action:** <concrete action, using intake.md's target facts>
- **Expected:** <pass criterion, traced to the behavior's Then clause>
- **Reversibility:** reversible | irreversible
- **Containment:** contained | escapes (required if irreversible)
- **Basis:** <API/code/doc citation> (required if irreversible)
- **Depends on:** <a prior step's output, if any>
- **Rationale:** <only for a deliberate API-bypass step alongside a browser one>
- **Status:** ready | blocked — <Unspecified/Conflict #, "no browser driver", or "depends on step N">

## Out of scope
- <behaviors deliberately not walked through, and why>

## Critique Exchange
### Round 1
**step-plan-critic:** <finding>
**step-planner:** <accepted and revised, or rejected with a reason>
### Round 2 (if any)
…
```

Hand `step-plan.md`'s absolute path to the User Gate once the pairing settles — that gate resolves every `blocked` status and the `Added`-row strikes; this phase never asks the user anything directly.

Attribution

bobtatbobtat
View sourceMore from bobtat →
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".

1066601 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', ...

686011 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.

651 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 →