Skip to content

[Extension]: Add Pre-Spec Cards #4360

Description

@bendlikeabamboo

Extension ID

prespec

Extension Name

Pre-Spec Cards

Version

0.3.0

Description

Card-based pre-spec thinking: paste an idea, get your card plus the paths you'd miss, then play each through — story, snags, trade-offs, difficulty vs payoff — before /speckit.specify.

Author

bendlikeabamboo

Repository URL

https://github.com/bendlikeabamboo/pre-spec

Download URL

https://github.com/bendlikeabamboo/pre-spec/archive/refs/tags/v0.3.0.zip

License

MIT

Homepage (optional)

https://github.com/bendlikeabamboo/pre-spec

Documentation URL (optional)

https://github.com/bendlikeabamboo/pre-spec#readme

Changelog URL (optional)

https://github.com/bendlikeabamboo/pre-spec/releases

Required Spec Kit Version

=0.9.0

Required Tools (optional)

[none]

Number of Commands

2

Number of Hooks (optional)

0

Tags

discovery, ideation, decision-cards, product, workflow

Key Features

  • speckit.prespec.idea — paste an idea; the command deduces the what (goal) and why (motivation), keeps your proposed path as Card 1 — your card, and deals the paths you'd miss (typically three more; decks hold 2–6): a smaller path, a reframe, a contrarian bet, occasionally a wild card
  • speckit.prespec.playthrough — live each card one per turn, narrated by Kit, a principal-engineer persona: the story with rough time markers, the snags, the silent trade-offs, whether it delivers the what, and a difficulty-vs-payoff line; say next to advance
  • Comparison table and verdict when the deck is exhausted; the winning card hands off to /speckit.specify as a spec seed (also usable as assess intake input)
  • Filesystem-as-state: ideas/NNN-<slug>/ with per-card files (played: frontmatter drives resume), decisions.md, research.md, plus a self-healing .specify/feature.prespec.json bookmark
  • Safety built in: slug normalization, symlink refusal, untrusted-URL trust policy with allowlisted hosts and secret sanitization

Testing Checklist

  • Extension installs successfully via download URL
  • All commands execute without errors
  • Documentation is complete and accurate
  • No security vulnerabilities identified
  • Tested on at least one real project

Submission Requirements

  • Valid extension.yml manifest included
  • README.md with installation and usage instructions
  • LICENSE file included
  • GitHub release created with version tag
  • All command files exist and are properly formatted
  • Extension ID follows naming conventions (lowercase-with-hyphens)

Testing Details

Tested on:

  • Linux with Spec Kit CLI v1.0.1 (specify), fresh project, non-interactive install:
    specify init testproj --extension https://github.com/bendlikeabamboo/pre-spec/archive/refs/tags/v0.3.0.zip --trust-extension-urls
  • Verified: specify extension list shows Pre-Spec Cards (v0.3.0) — 2 commands, 0 hooks, enabled; command files present under .specify/extensions/prespec/commands/
  • Both commands (/speckit.prespec.idea, /speckit.prespec.playthrough) were exercised during development in a real Spec Kit project, including resume-after-interruption via card frontmatter
  • Also used on a real project of mine: bendlikeabamboo/mayon (a local-first learning app around a branchable chat graph) — ran /speckit.prespec.idea on a feature direction and played the deck through before writing the spec

Example Usage

# Install extension (from the release archive)
specify extension add prespec --from https://github.com/bendlikeabamboo/pre-spec/archive/refs/tags/v0.3.0.zip

# Or from the catalog, once listed
specify extension add prespec
# Deal a deck from a raw idea (slug optional)
/speckit.prespec.idea "I want to add offline mode to our sync tool — probably a local queue that replays against the API" slug=offline-mode

# Play the cards one per turn; say `next` to advance
/speckit.prespec.playthrough slug=offline-mode
> next
> next

# After the last card: comparison table → pick a winner → hand off
/speckit.specify <winning card's story + what + snags>

Proposed Catalog Entry

{
  "prespec": {
    "name": "Pre-Spec Cards",
    "id": "prespec",
    "description": "Card-based pre-spec thinking: paste an idea, get your card plus the paths you'd miss, then play each through — story, snags, trade-offs, difficulty vs payoff — before /speckit.specify.",
    "author": "bendlikeabamboo",
    "version": "0.3.0",
    "download_url": "https://github.com/bendlikeabamboo/pre-spec/archive/refs/tags/v0.3.0.zip",
    "repository": "https://github.com/bendlikeabamboo/pre-spec",
    "homepage": "https://github.com/bendlikeabamboo/pre-spec",
    "license": "MIT",
    "requires": {
      "speckit_version": ">=0.9.0"
    },
    "provides": {
      "commands": 2
    },
    "tags": ["discovery", "ideation", "decision-cards", "product", "workflow"],
    "verified": false,
    "downloads": 0,
    "stars": 0,
    "created_at": "2026-08-28T00:00:00Z",
    "updated_at": "2026-08-28T00:00:00Z"
  }
}

Additional Context

  • This is a redesign of an earlier six-stage funnel version of the same extension; the old commands are archived in commands-v1/ (excluded from the package via .extensionignore) and no longer shipped.
  • Complements the first-party assess extension: assess decides whether to build; prespec is for what to build, before /speckit.specify.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions