Skip to content
Back to skills

Prospec Ff

ASecurity

Fast-Forward Planning - Generate complete planning artifacts in one pass (Story → Plan → Tasks) — for clear requirements, not exploration. Triggers: fast-forward, ff, all at once, 一次到位, 快轉

  • 5 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 2, 2026
ai-agentsrustgobashawsgitapi

Works with

  • terminal
  • cli
  • api

Security analysis

A100/100

Pro scans all 11 files and shows the line behind each finding

Scanned October 7, 2026

npx -y skills add benwu95/prospec --skill prospec-ff --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Prospec Ff?

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

Security grade badge for Prospec Ff
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/benwu95-prospec-ff-prospec/badge)](https://www.skillsdirectory.com/skills/benwu95-prospec-ff-prospec)

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: prospec-ff
description: "Fast-Forward Planning - Generate complete planning artifacts in one pass (Story → Plan → Tasks) — for clear requirements, not exploration. Triggers: fast-forward, ff, all at once, 一次到位, 快轉"
---
<!-- Generated by `prospec agent sync`. Do not edit — this file is regenerated on every sync. -->

# Prospec Fast-Forward Skill

## Activation

Briefly describe Story → Plan → Tasks (`quick`: Story → Tasks), Draft-First inference or a 3-question interview, and optional cascading through implementation/review/verify to Grade S/A, where Tastemaker sign-off halts execution.

## Language Policy

Write each generated document in the language the Constitution's Language Policy rule assigns to **its path** — change artifacts and their archived summaries in the project's artifact language, the trust zone (Knowledge base, Feature Specs, index) in English. One skill run may write both. Keep code, identifiers, technical terms, and git commit messages in English.
## CLI Prerequisite (required)

> The prospec CLI is a required file for this skill — its deterministic steps call `prospec`
> commands. Probe BEFORE any other step; there is no manual fallback.

1. Run `prospec --version` (Bash).
2. **Command not found / not executable** → STOP. Ask the user to install the prospec standalone
   executable — the one-click installer script from the project README (macOS/Linux `install.sh`,
   Windows `install.ps1`) or a release binary from GitHub Releases; prospec is NOT published to
   npm. Then re-run this skill.
3. **Version older than 2.3.0** → STOP. Report the installed vs required version
   and ask the user to upgrade, then re-run this skill.

Hand-executing a CLI-owned mutation is NEVER the fallback — that re-introduces the
nondeterministic serialization this contract exists to remove.

Evidence uses `snapshot-v2` / `repository-inputs-v2`: repository input content, independent of staging and equivalent commit history. Complete Knowledge/count/generated-asset sync before the final review, test record and verification. A legacy record needs one real revalidation; an equivalent commit alone needs no re-record.

## Startup Loading

1. [STABLE] Read `prospec/CONSTITUTION.md` — prepare Constitution check
2. [DYNAMIC] Read `prospec/index.md` — identify related modules

> Format references are read **per phase on demand**, NOT as Startup Loading items (keeps the stable prefix lean): [`references/proposal-format.md`](references/proposal-format.md) + [`references/metadata-format.md`](references/metadata-format.md) at Phase 2, [`references/plan-format.md`](references/plan-format.md) + [`references/delta-spec-format.md`](references/delta-spec-format.md) + [`references/plan-verifier-rubric.md`](references/plan-verifier-rubric.md) at Phase 3, [`references/tasks-format.md`](references/tasks-format.md) + [`references/tasks-verifier-rubric.md`](references/tasks-verifier-rubric.md) at Phase 4, [`references/cascade-protocol.md`](references/cascade-protocol.md) + [`references/circuit-breaker.md`](references/circuit-breaker.md) + [`references/project-test-runner.md`](references/project-test-runner.md) for cascading execution. Read each when entering its phase; do not preload them into the stable prefix.

## Entry Gate

> Any failed precondition stops entry; report what is missing.

- Constitution exists and is non-empty (ff runs the full story→plan→tasks chain).
- ff starts a new change — no prior `quality_log` to read on first run.

## Core Workflow

> Phases are numbered from 1 (no Phase 0).

### Harness Capabilities

**Harness capabilities** (resolved by `prospec agent sync` from this agent's registry entry — act on them, do not re-derive them at runtime): `can_spawn_subagent`: yes · `can_worktree`: yes · `can_background`: yes

Sub-agents are available here, so take the sub-agent path. Should a spawn fail at runtime anyway, degrade — run planning verifiers sequentially with prompt isolation; after planning, re-read each downstream station and use that station's own disclosed degradation path — and name the path you took. A degraded path is never a silent skip: the developer is told which path ran, every time.

### Phase 1: Quick Interview (3 questions to converge)

**Draft-First (default):** derive goal, user, ACs, name and scale; reuse supplied tracker references and prior decisions. Disclose unconfirmed inferences in Stated Assumptions. Investigate problem evidence; missing evidence returns to `prospec-explore`.

**Interactive (`--interactive`):** ask at most three questions for missing inputs; include the change name and optional tracker item in the same question (accept "none", not a fourth interview question); never invent one or infer it from the branch. Prospec judges nothing about its shape, calls no tracker API, and whitespace and line breaks collapse to one space. Reproducible bugs may bypass deep interviews with complete reproduction evidence.

> **Phase 1 Gate** — proceed when:
> - [ ] core goal, primary user, ACs and name are derived or supplied
> - [ ] original problem source and evidence are recorded, or their absence is explicitly pending
> - [ ] tracker item reused if supplied, otherwise omitted

### Phase 2: Story Generation

| Step | Action |
|------|--------|
| Scaffold | Run `prospec change story [name] --description "<one-liner>" [--issue <ref>]` (Bash) — creates proposal + metadata (status: story). Pass `--issue` only for a supplied tracker item; this creation-only flag cannot amend an existing change |
| Scale | Apply `prospec-new-story` Phase 3.5 (criteria + quick veto). Record Draft-First assumptions; interactive mode asks only for an undecided scale. Write via `prospec change scale <scale>` (Bash). Quick → slim proposal form |
| Populate | Preserve original source independently of verification; use input or actual code investigation as traceable evidence. Read [`references/proposal-format.md`](references/proposal-format.md) on demand, then write User Story and ACs to that format |
| Retry history | For all scales, read prior abandoned reasons; author Premise `retry_difference` before validation. CLI owns linkage |
| Premise | Run `prospec validate proposal [name]` per proposal-format. Blocked → `prospec-explore` → `prospec-new-story` updates the same proposal. Structural PASS does not establish evidence truth |
| Freeze | Freeze substantive acceptance scenarios via `prospec change story [name] --freeze-scenarios` (Bash). Amend via `prospec change story [name] --amend-scenarios --reason "<text>" --expected-digest <sha256>`. Never hand-edit metadata.yaml |
| Check | INVEST is **advisory**: record concerns via `prospec change log --skill prospec-ff --result WARN --warning "<concern>"` and continue; never pause the Story. `prospec-verify` owns the authoritative audit |

**Scale routing:** when `scale: quick` is confirmed, SKIP Phase 3 entirely — no plan.md, no
delta-spec.md, and no module README loading (Phase 3's Layer 2 step; `prospec/index.md` from Startup
Loading is still read). Status advances `story → tasks` directly
(a legal quick-path transition; see `prospec/ai-knowledge/_status-lifecycle.md`). The
`prospec-archive` Entry Gate later re-checks spec and knowledge impact against the actual diff.

> **Phase 2 Gate** — proceed when:
> - [ ] `proposal.md` + `metadata.yaml`(status: story) created
> - [ ] `metadata.scale` selected by Draft-First or supplied by the user and written
> - [ ] Premise validation admits the change before continuing
> - [ ] acceptance scenarios frozen via `prospec change story [name] --freeze-scenarios`
> - [ ] advisory INVEST check run; any concern recorded to `quality_log` (never blocks)

### Phase 3: Plan Generation (skipped when `scale: quick`)

| Step | Action |
|------|--------|
| Knowledge | Layer 1 (prospec/index.md) → Layer 2 (related module READMEs + any `{sub-module}.md` they link) |
| Station | Enter the `prospec-plan` station per the Station Transition Protocol and run its phases there: `prospec change plan` scaffold, plan/delta-spec authoring per [`references/plan-format.md`](references/plan-format.md) + [`references/delta-spec-format.md`](references/delta-spec-format.md) (full: the candidate selection with mechanical metrics), and the Architecture Verification ([`references/plan-verifier-rubric.md`](references/plan-verifier-rubric.md) for its dimensions and report schema). This table is the entry checklist, not a second copy of that flow |
| Receipt | Apply the **Physical Receipt Verification Protocol** in [`references/delegation-protocol.md`](references/delegation-protocol.md) to the verifier report; never fabricate a mock report or a synthetic PASS (zero-mock) |
| Verdict | Record the report via `prospec change log --skill prospec-plan --verifier-report <file>` — the CLI validates it against the rubric-owned schema (verdict "PASS" | "WARN" | "FLAWS") and records `FLAWS` as `result: FAIL`; an invalid or missing report is refused, never worked around. Then run `prospec status`: a recorded FAIL routes back to plan until a later verifier PASS/WARN; Break-Glass grants permit a bounded retry, never supersede the verifier verdict |
| Selection | On `AWAITING_HUMAN_PLAN_SIGNOFF`, STOP after plan — present the sign-off material for the change's scale per [`references/human-decision.md`](references/human-decision.md), and do not generate tasks until the human signs off (`--signoff`, never run without an explicit human instruction). Without the pause, (full) keep the in-session selection (`graded_by: in-session`) and continue to Phase 4 — NEVER ask the human to choose |

> **Phase 3 Gate** — proceed when:
> - [ ] (standard/full) `plan.md` + `delta-spec.md` created, status → `plan`
> - [ ] (standard/full) Architecture Verifier report recorded via `prospec change log --verifier-report` with result PASS/WARN (a Break-Glass grant alone does not satisfy this gate)
> - [ ] (quick) phase marked skipped per `scale: quick` — no plan artifacts produced
> - [ ] (standard/full) `prospec status` does not report `AWAITING_HUMAN_PLAN_SIGNOFF` — otherwise ff halts here

### Phase 4: Tasks Generation

| Step | Action |
|------|--------|
| Station | Enter the `prospec-tasks` station per the Station Transition Protocol and run its phases there: `prospec change tasks` scaffold (including the quick `story → tasks` transition), decomposition per [`references/tasks-format.md`](references/tasks-format.md), and the Task Contract Verification ([`references/tasks-verifier-rubric.md`](references/tasks-verifier-rubric.md) for its dimensions and report schema) |
| Receipt | Apply the **Physical Receipt Verification Protocol** in [`references/delegation-protocol.md`](references/delegation-protocol.md) to the verifier report; never fabricate a mock report or a synthetic PASS (zero-mock) |
| Verdict | Record the report via `prospec change log --skill prospec-tasks --verifier-report <file>` — the CLI validates it against the rubric-owned schema (verdict "PASS" | "WARN" | "FLAWS") and records `FLAWS` as `result: FAIL`. Then run `prospec status`: a recorded FAIL routes back to tasks until a later verifier PASS/WARN; Break-Glass grants permit a bounded retry, never supersede the verifier verdict |

> **Phase 4 Gate** — proceed when:
> - [ ] tasks.md created with layer-ordered tasks and kind markers, status → `tasks`
> - [ ] Task Verifier report recorded via `prospec change log --verifier-report` with result PASS/WARN (a Break-Glass grant alone does not satisfy this gate)

### Phase 5: Autonomous Execution & Cascading (when cascading active)

**Autonomous Pipeline Cascading**: Advance through stations as machine verifiers PASS, honoring Circuit Breakers and plan sign-off pauses. HALT at Tastemaker presentation.

**Station Transition & Receipt Protocol**: Re-read each downstream skill before entry and follow its gates and receipt contracts.

Read [`references/cascade-protocol.md`](references/cascade-protocol.md), [`references/circuit-breaker.md`](references/circuit-breaker.md), and [`references/project-test-runner.md`](references/project-test-runner.md) on demand:
1. **Implementation**: Follow `tasks.md` dependency order and [`references/tasks-format.md`](references/tasks-format.md) / `_conventions.md`. Record passing tests via `check --record-tests`; set `status: implemented`.
2. **Adversarial Review Loop**: Ticket and receive delegates via [`references/delegation-protocol.md`](references/delegation-protocol.md); `prospec review merge` receives `ReviewFindingsInputSchema`. Auto-fix verifier-confirmed criticals; follow [`references/circuit-breaker.md`](references/circuit-breaker.md).
3. **Verify Audit**: Apply the **Physical Receipt Verification Protocol** in [`references/delegation-protocol.md`](references/delegation-protocol.md) to graders; `prospec verify record` receives `JudgmentDimensionsInputSchema`. Complete the 5+1 audit to Grade S/A (`status: verified`).
4. **Final evidence convergence**: If Knowledge/count/generated-asset sync changed inputs, repeat review → tests → verify on the resulting snapshot before sign-off.
5. **Tastemaker Presentation**: Present Git Diff, Verify report, and Delta-Spec summary. **HALT** for human sign-off; do not commit or archive automatically.

> **Phase 5 Gate** — proceed when:
> - [ ] all code tasks implemented and test suite green (status: implemented)
> - [ ] review loop clean (0 unresolved criticals) and verify 5+1 audit achieves Grade S/A
> - [ ] Tastemaker summary presented for human review without automated commit or archive

### Completion: Summary Report

List files and task statistics; planning hands off to `prospec-implement`, cascading to human Tastemaker sign-off.

## Next-Step Handoff

After the Output Summary, recommend the next step in the SDD workflow order
(`story → plan → tasks → implement → review → verify → knowledge-update → archive`, then periodic `learn`) — read
`metadata.yaml` status and `prospec/ai-knowledge/_status-lifecycle.md` (review and learn own no
status transition, so follow this order, not status alone). Provide the direct, actionable Skill
identity or CLI command for the next step (e.g. `prospec-plan`), allowing smooth continuation
without blocking on a separate confirmation turn. If the stage is terminal (`archived`), the linear
flow is complete — point to periodic `prospec-learn` rather than a workflow successor. If the result
does not advance (e.g. verify grade B/C/D), say so and point to the corrective step instead of
offering the next skill.

## Error Recovery

| Failed Phase | Preserved | Recovery Options |
|-------------|-----------|-----------------|
| Story fails | Change directory | Retry / switch to `prospec-new-story` |
| Plan fails | proposal.md | Retry / switch to `prospec-plan` |
| Tasks fails | proposal.md (+ plan.md + delta-spec.md for standard/full) | Retry / switch to `prospec-tasks` |
| Implement / Review fails | working tree + tasks.md | Resolve blocker or switch to single-station skill |
| Circuit breaker tripped | state & diagnostics | Escalate to human with trade-off options |
| Severe Constitution violation | All parts completed before failure | Pause FF, switch to single-phase Skill |

## Escalation Decision (CLI-Owned)

- Present CLI trigger, lifetime ordinal, exits/recommendation; stop.
- Human `Manual override: <reason>` composed WARN alone grants one event/station attempt; observations/report warnings grant nothing. Replay consumes none; resolution expires grants. Tests remain independent.
- Re-scope retains amendment gates/status without unlocking escalation. Preserve history, adjacent prose and fenced examples after PASS.

### Abandon an attempt

Run `prospec change abandon <name> --reason <text>`; retain `.prospec/abandoned/` artifacts. `--overturned <field>` identifies disproved leaves. Work preservation precedes movement and terminal metadata; inspect partial-failure paths. Every scale requires retry `retry_difference`.

## Output Contract

> After running, self-assess and emit a concise Output Summary. Every Success Criterion must be objectively checkable (file existence / grep / test result / count) — no subjective adjectives.

### Success Criteria
- [ ] proposal and tasks produced; plan produced unless `scale: quick` (quick: plan.md/delta-spec.md absent by contract)
- [ ] each stage's own Output Contract is satisfied (manual)
- [ ] cascading halts strictly at Tastemaker Sign-off (Verify S/A) without automated commit or archive

### Failure Conditions
- any stage artifact missing or failing its Output Contract (quick: plan artifacts are not missing — they are skipped by contract)
- auto-committing or archiving during cascading without explicit human sign-off

### Output Summary
Emit one line: `Met N/M | Unmet: <items> | Overall: PASS|WARN|FAIL | Next: <one-line>`

### Exit Gate (Constitution)

Verify the output against each phase's **site-specific** Constitution rule (INVEST for story, dependency-direction/layering and architecture verifier rubric for plan, TDD coverage and task verifier rubric for tasks) — NOT the full Constitution; the every-principle audit is `prospec-verify` V3/5 only. When a rule carries RFC-2119 severity, grade by weight — MUST→FAIL, SHOULD→WARN, MAY→informational (the grade vocabulary stays PASS/WARN/FAIL). A free-text Constitution falls back to judgment-based grading. Record each WARN/FAIL via `prospec change log --skill <station> --result WARN|FAIL --warning "<detail>"` (the CLI owns the `quality_log` serialization). Advisory — surface issues, do not hard-block.

## NEVER

- **NEVER** use FF when requirements are vague — guide user to `prospec-explore` first
- **NEVER** run a generic multi-principle Constitution scan per phase — each phase checks only its site-specific rule (INVEST / dependency-direction / TDD); the full every-principle audit is `prospec-verify`'s job (single-full-audit convergence)
- **NEVER** ask more than 3 questions in Phase 1 — FF prioritizes speed, use `prospec-explore` for depth
- **NEVER** inline full format prose into this skill body — load this skill's `references/` files directly
- **NEVER** skip metadata.yaml status progression — story → plan → tasks (or story → tasks under `scale: quick`); the `prospec change` commands own every transition — never hand-edit metadata.yaml
- **NEVER** advance past Phase 2 without freezing acceptance scenarios via `prospec change story [name] --freeze-scenarios`
- **NEVER** discard completed phases on failure — error recovery is FF's core capability
- **NEVER** skip Layer 2 knowledge loading for standard/full — Plan phase must load related module AI Knowledge (quick skips Plan and loads none)
- **NEVER** skip Phase 3 without a `scale: quick` in metadata.yaml — selected by Draft-First, supplied by the user, or assigned by `prospec change auto-draft`; skipping plan requires that explicit contract
- **NEVER** take verbal shortcuts, bypass receipt gates, or fabricate mock payloads during fast-forward cascading — all subagent outputs must be physically verified
- **NEVER** run `prospec change log --signoff`, or set `PROSPEC_PAUSE_AT` to skip a pause, without an explicit human instruction — both are the human's decision, not the agent's
- **NEVER** relay a plan/tasks verifier verdict by hand — `prospec change log --skill <station> --verifier-report <file>` is the only sink; `prospec status` is the only transition authority the cascade consults
- **NEVER** automatically commit, push, or archive during autonomous cascading without explicit human Tastemaker approval
- **NEVER** continue cascading past a tripped circuit breaker or unresolved critical findings
- **NEVER** use passive voice for confirmation wait points (e.g., "confirm before proceeding") — always use an active imperative ("STOP. Ask the user...").
- **NEVER** treat clear intent as verified evidence; route a blocked premise to explore before advancing.

Files in this skill

  • SKILL.md17.4 KB
  • references/cascade-protocol.md6.5 KB
  • references/circuit-breaker.md4.5 KB
  • references/delta-spec-format.md8 KB
  • references/metadata-format.md9.7 KB
  • references/plan-format.md9.7 KB
  • references/plan-verifier-rubric.md8.7 KB
  • references/project-test-runner.md2.7 KB
  • references/proposal-format.md4.3 KB
  • references/tasks-format.md6.1 KB
  • references/tasks-verifier-rubric.md6.9 KB

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.