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

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions