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

Back to skills

Specflow Plan

ASecurity

Turn an agreed spec into an executable plan. "plan this", "break this down", "what are the steps".

2 stars
0 votes
0 copies
0 views
Added 9/19/2026
developmentgoapi

Works with

cliapi

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add pedropacheco95/cortex --skill specflow-plan --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Specflow Plan?

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

Security grade badge for Specflow Plan
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pedropacheco95-specflow-plan-cortex/badge)](https://www.skillsdirectory.com/skills/pedropacheco95-specflow-plan-cortex)

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

Download Zip
Files
SKILL.md
---
name: specflow-plan
description: 'Turn an agreed spec into an executable plan. "plan this", "break this down", "what are the steps".'
---

# Specflow: Plan

## When to use

Turn an agreed spec into a durable, executable plan — bite-sized tasks with exact paths, the
acceptance criterion each satisfies, and the command that verifies it, written to a file a
fresh agent could execute without ever seeing the conversation. The middle of the spec-first
spine (brainstorm → plan → develop); it holds the planning half that used to live inside
specflow-develop: explore, gap analysis, research, implementation plan, and the size check. Use
when the user says "plan this", "how would we build this spec", "break this down", "what are
the steps", or when a spec is agreed and implementation is next. Writes no code.

## The Iron Law

NO PLAN THAT A FRESH AGENT COULD NOT EXECUTE BLIND

Violating the letter of this law is violating the spirit. If you find yourself constructing a
reading under which this plan is clear enough as it stands, that construction is the violation.

The test is literal: an agent with no memory of the conversation that produced this plan, given
only the plan and the repository, must be able to execute every task without asking you a
question. That is what makes it an artefact instead of a summary.

Hardening mechanisms per `skills/_conventions/hardening.md`.

## What this produces

A plan file — the project's plan directory if one exists, else `plans/<YYYY-MM-DD>-<slug>.md`
created at the project root. It is durable and reviewable: a plan that lives only in a
transcript dies with the session, which is the failure this skill exists to fix.

It writes **no code**. It hands the plan to `specflow-develop`.

## Prerequisites

- **An agreed spec exists.** If the design has not been agreed, run `specflow-brainstorm`
  first — planning an unagreed design is planning the wrong thing carefully.
- **Its business spec is linked** via `implements:`, so the plan can trace tasks up to the
  outcome as well as down to the code.

## Step 1: Ground in the knowledge layer

Skip cleanly where `.cortex/` is absent.

1. **Index first.** Read `.cortex/_index.md` to learn which modules exist. Never bulk-read
   module contents.
2. **Insight for the files the plan will touch.** Match them via the specs' `governs:` globs,
   then run `cortex insight file <path>` for each — the Purpose line decides what you do *not*
   need to read, and the Connections section replaces a manual import walk. For work spanning a
   named concept (auth, session, billing, …) run `cortex insight concept <name>`. For a
   specific function or constant, `cortex insight element <query>` — it may return "no rich
   entry", which is fine; the file entry still finds it. Insight is inferred context, not
   authority — the gated layers (compass rules, specs) win on conflict, and if insight is
   absent or empty you plan without it.
3. **Compass rules.** Collect every rule whose `governs` globs match the files to be touched
   AND every rule whose `check:` predicate applies. A `check:` predicate is a mechanical
   constraint the planned code must satisfy — write it into the task that must satisfy it, not
   into a preamble nobody re-reads.
4. **Atlas decisions.** Read the `.cortex/atlas/decisions/` entries for the touched domain.
   Never plan work that silently undoes a recorded decision.

## Step 2: Explore

**Insight first (all depths):** query `cortex insight file <path>` for each candidate file
before deciding to read it — the entry answers "what is this, is it relevant, what are its main
pieces" more cheaply than a whole-file read. Read the file itself when you need exactness.

**Depth Minimal:** read the single file to change. No exploration agents.

**Depth Light:** read the domain's existing code directly — `ls` the directory, read the
relevant files. No agents needed.

**Depth Standard/Full:** spawn exploration agents in parallel:

- **Architecture and structure:** directory layout, framework, language, build system.
  Identify where new code should live based on existing conventions.
- **Related existing code:** modules, components, services, utilities the specs depend on or
  interact with. Read them — don't assume.
- **Established patterns:** naming conventions, error handling, validation approach, dependency
  injection, state management, API response shapes already in the codebase. The implementation
  MUST follow these.
- **Tech stack and dependencies:** key libraries, frameworks, tools in use, and available
  utilities the implementation can leverage.

Produce an exploration summary:

```markdown
### Exploration Summary
- **Relevant existing code:** [files/modules with brief purpose]
- **Established patterns:** [conventions the implementation must follow]
- **Tech stack:** [libraries/tools relevant to this scope]
```

**Depth Full only:** produce an ASCII component diagram showing where the feature fits within
the existing architecture — which modules it touches, how data flows, where new components go.

Read `references/planning-protocol.md` for the complete process at each scope level.

## Step 3: Gap analysis

When the planned change spans files or touches a named concept and `.cortex/insight/` exists,
run `cortex insight concept <name>` first — it says which files touch the concept and how it is
implemented, so the analysis starts from how the code actually works rather than from priors.
Inferred context, not authority; skip cleanly when absent.

```markdown
### Gap Analysis
**Can reuse:** [existing code/patterns that directly support the implementation]
**Must create:** [new files, modules, functions needed]
**Must modify:** [existing files that need changes, and why]
**Open questions:** [ambiguities — state assumptions explicitly, proceed]
```

## Step 4: Research (slice and domain scope only)

Use web search to ground implementation decisions in the project's stack: best practices for
this kind of feature in the framework, known pitfalls with the libraries involved, how similar
projects solve it. Skip at spec scope — the parent's plan already incorporates the findings.

## Step 5: Size check

Does the work fit one agent's context — all the specs, their tests, the relevant existing code,
with room left to write the implementation?

**Heuristic:** ≤ 3 specs and ≤ 2,000 lines of relevant existing code → one executing agent.
Otherwise → split, and say in the plan where the split falls and what each part receives.

This is a planning judgment, which is why it lives here: the plan decides the decomposition,
and `specflow-develop` executes it and delegates per its depth calibration.

**Orchestration cap:** until the writer/verifier harness ships (build-order-v3 step 11),
sub-agents cannot spawn sub-agents. A plan whose execution would need Standard or Full
recursive delegation is **split into batches** instead. Do not plan a fan-out that cannot run.

## Step 6: Write the plan

**At slice scope:** strategic — shared patterns across domains, data access approach,
implementation order, cross-domain utilities. Produces constraints all child agents follow.

**At domain scope:** tactical — shared patterns within the domain, spec implementation order,
shared utilities. Constrained by the parent's slice plan.

**At spec scope:** concrete — specific files to create/modify, rule-to-code mapping, data flow
through the handler.

Every task takes this shape:

```markdown
### Task N: [what it does, in five words]

**Criterion:** <spec id> — "<the acceptance criterion this satisfies, by name>"
**Files:** `exact/path/one.ts` (modify), `exact/path/two.test.ts` (create)
**Change:** [what to do — concrete enough that there is nothing to infer]
**Verify:** `pnpm vitest run tests/atomic/domain/thing.test.ts`
```

Four rules about tasks:

1. **Bite-sized.** Roughly 2–5 minutes each, and each leaves the project in a working state.
   A task that cannot be verified on its own is two tasks.
2. **Every task cites its criterion.** If a task satisfies no acceptance criterion, stop: either
   the spec is missing a criterion — route it to `specflow-bugs` as a possible Type 1 — or the
   task is work nobody asked for. Do not plan it silently.
3. **Every task names its verification command.** The exact command. "Run the tests" is not a
   verification command; `pnpm vitest run tests/atomic/insight/cli.test.ts` is.
4. **Exact paths, real content.** "Update the validator" is not a task. Name the file, name the
   function, say what changes.

Order the tasks so that each one's verification can actually run when it is reached.

## Rationalization table

| Thought/Excuse | Reality |
|---|---|
| "The implementer will figure out the details." | The implementer is often a fresh agent with none of this conversation. Every detail you leave out is either re-derived differently or invented. That is where inconsistent implementations come from. |
| "Writing exact paths is tedious — the file is obvious." | It is obvious to you, right now, holding the exploration summary in your head. It is one grep to write down and one wrong guess to get wrong. |
| "This task doesn't map to a criterion but it's clearly needed." | Then the spec is incomplete and that is a finding, not a footnote. File it as a possible missing criterion. Planning unspecified work is how scope arrives without anyone agreeing to it. |
| "'Run the tests' is a fine verification step." | It is fine until the suite takes four minutes and the implementer runs a subset, or runs the wrong subset, and reports green. Name the command that proves *this* task. |
| "I'll keep the plan in the conversation instead of a file." | Then it dies with the session, cannot be reviewed before execution, and cannot be resumed. A plan you cannot hand to someone is a train of thought. |
| "The size check says split, but it'll probably fit." | "Probably fits" fails by running out of context halfway through task 7, with half the work done and no record of which half. Split it; two clean batches beat one truncated one. |

## What this skill does NOT do

- **Does not write code.** It hands the plan to `specflow-develop`.
- **Does not write or edit specs.** That is `specflow-spec-editor`; an unagreed design goes
  back to `specflow-brainstorm`.
- **Does not write tests.** That is `specflow-tests`.
- **Does not decide whether the work should happen.** The spec settled that.

## Reference Files

| File | Read when |
|---|---|
| `references/planning-protocol.md` | Step 2–6 — planning at each scope level |

Attribution

pedropacheco95pedropacheco95
View sourceMore from pedropacheco95 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

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

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

281612 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2132 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →