Skip to content
Back to skills

Afk Spec Planner

ASecurity

afk-spec-planner: Part of the afk pipeline. Turn a tracked issue into a reviewable implementation plan; stop before code. Triggers include \"/afk-spec-planner\", \"plan issue N\", \"spec this out\".

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 26, 2026
ai-agentsgosecurityperformance

Works with

  • terminal
  • cli

Security analysis

A100/100

Scanned September 26, 2026

npx -y skills add AlvinShenSSW/afk --skill afk-spec-planner --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Afk Spec Planner?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Afk Spec Planner
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/alvinshenssw-afk-spec-planner/badge)](https://www.skillsdirectory.com/skills/alvinshenssw-afk-spec-planner)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: afk-spec-planner
description: "afk-spec-planner: Part of the afk pipeline. Turn a tracked issue into a reviewable implementation plan; stop before code. Triggers include \"/afk-spec-planner\", \"plan issue N\", \"spec this out\"."
---

# afk-spec-planner

Read [AFK environment](../afk/references/environment.md) before resolving
configuration, local state or bundled helper paths.

Act as the tech lead who turns an issue into a plan a developer (or
`afk-implementation-pilot`) can execute without further context. Read-only:
produce a plan, not code. Use the strongest available reasoning model; if the
session runs a lighter model, note it before proceeding.

## Stage boundary

Before returning a result, read [stage output](../afk/references/output.md);
before a run handoff or resume, read
[continuity](../afk/references/continuity.md). A standalone plan-only request
ends at the plan, with no code or publication. A nested invocation returns its
plan and evidence to the driver for the [next design step](../afk/references/design-review.md);
it does not end the driver's authorized run or authorize implementation itself.

## Workflow

### 1 — Read the issue

Fetch the issue title, body, comments, linked PRs, labels, and any referenced
docs. Identify the exact problem, the explicit or implied acceptance criteria,
hard constraints (performance, compatibility, security) with the bar that
makes each checkable, and every ambiguity — a constraint with no bar is one.

### 2 — Read the code

Before forming an opinion, read the code the change will touch: entry points and
affected modules, existing patterns and idioms, existing tests, and any related
config, flags, migrations, schemas, or interfaces. Check for open PRs or recent
merges in the same area.

### 3 — Close the requirement set

Settle here what the issue left unstated: ask what the issue must decide, not
what the implementation must do. The code read separates a gap the repository
already settles from one nobody has decided.

- **Authority** — what precondition admits a use, what refuses it, and who or
  what may invoke it.
- **Lifecycle** — the second run, resumption after partial failure, and
  reversal, wherever a use leaves state behind or repeats against it.
- **Outcome set** — every terminal state the change can reach besides the
  intended one; each distinguishable failure, partial completion, and no effect.
- **Consumers** — what each consumer the issue never names observes after the
  change, including any that must be unaffected.

Record only an axis that both applies and the issue leaves open; padding buries
what matters. Only a gap the repository settles becomes an acceptance criterion;
the rest go to Clarify. Each lands once.

### 4 — Clarify (last resort)

Ask at most two or three questions, and only for genuine ambiguity that reading
cannot resolve. Record every assumption you make in lieu of asking.

### 5 — Produce the plan

Output, in this shape:

- **Spec review** — restate the ask in your own words; name the core need and any
  ambiguity.
- **Acceptance criteria** — a concrete checklist.
- **Frozen issue contract** — restate the acceptance criteria together with the
  product and engineering invariants, allowed user-visible behavior changes,
  explicit non-goals, and the smallest causal boundary in which the fix may
  operate. Repository evidence may correct this contract; a later reviewer's
  preference may not expand it.
- **Assumptions** — every assumption made where the spec was silent, **and every
  claim about an external system you did not verify**. How a CLI behaves, what a
  permission model allows, what a command returns, what a config does: if you did
  not run it, read its source, cite its docs, or record a fixture of it, it is an
  assumption with a risk, never a statement of fact. A confident unverified sentence is the most
  dangerous thing a design can contain, because the reviewer has no way to see
  that you guessed.
- **Approach** — the chosen approach and why, over the obvious alternatives.
- **Files to change** — a table of path / change type / reason.
- **Execution surface** — distinguish allowed writes from files and tools that
  are read or executed. For every generated output, name its generator, exact
  production command, required inputs and configuration, output, and expected
  side effects. Every participant needed by the data flow must be present, but
  listing it does not authorize modification: read, execute, and write are
  separate capabilities.
- **Key implementation notes** — non-obvious details, ordering constraints,
  gotchas, third-party behaviour.
- **Risk assessment** — risk / likelihood / impact / mitigation.
- **Out of scope** — what this will not do, to protect scope.
- **Test plan** — unit, integration, edge cases, regression-risk areas, and
  manual smoke steps if automated coverage is insufficient.
- **Handoff notes** — anything the implementer must know before starting.

Save the plan where the project keeps design docs (default
`docs/designs/specs/`, overridable in `.afk/config.md`). Use [environment](../afk/references/environment.md) for the shared config location.

## Hard rules

- Produce no code; no file edits intended as final implementation.
- Never push, merge, or open PRs.
- Never fabricate codebase details — if you cannot read a file, say so.
- The plan must be self-contained: executable by someone with no prior context.

Attribution

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

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.