Skip to content

[Extension]: Add Epic v0.1.5 #4891

Description

@pmckeown

Extension ID

epic

Extension Name

Epic

Version

0.1.5

Description

Break work too big for one feature into many, delivered in order, with decisions that hold across them.

Author

Paul McKeown

Repository URL

https://github.com/pmckeown/spec-kit-epic

Download URL

https://github.com/pmckeown/spec-kit-epic/archive/refs/tags/v0.1.5.zip

License

MIT

Homepage (optional)

https://github.com/pmckeown/spec-kit-epic

Documentation URL (optional)

https://github.com/pmckeown/spec-kit-epic/blob/main/README.md

Changelog URL (optional)

https://github.com/pmckeown/spec-kit-epic/blob/main/CHANGELOG.md

Required Spec Kit Version

=0.12.9.dev0,<1.2.0

Required Tools (optional)

- git (required)

Number of Commands

5

Number of Hooks (optional)

0

Tags

epic, planning, decisions, workflow

Key Features

  • /speckit.epic.specify: write the epic spec. Every claim in the source material is checked against the code and cited, or marked [UNGROUNDED]; guard claims are attacked in a disposable environment rather than read.
  • /speckit.epic.plan: split the epic into features and milestones, each feature with a gate that must be able to fail, and record the build order with what breaks if it is violated.
  • /speckit.epic.cut: start one feature at a time as an ordinary Spec Kit feature, branched from the integration target, with pointers to the epic decisions it must not re-make. Stops at the spec for human sign-off.
  • /speckit.epic.review: check a built feature against the epic before it integrates: epic changes that never reached it, refused designs reintroduced, shared definitions changed by several features, and independent attack and re-attack of guards.
  • /speckit.epic.close: walk the acceptance and milestones across the whole epic, run the project's checks after the last fix, settle edges to work outside the epic, and bring the register to ready or closed. Never pushes or merges onward.
  • A decision ledger that separates refusals from deferrals, so a later feature finds a ruled-out design already ruled out.
  • Plain prompts over files: no scripts, no hooks, no specific agent required.

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: macOS with Spec Kit 0.12.9 and 1.1.2, using Claude Code.

Test project: a private product codebase with one epic in flight.

Test scenarios:

  1. Installed from the release archive on 1.1.2: no compatibility error, epic-config.yml scaffolded from the template.
  2. specify and plan run on the epic; plan re-run by a fresh agent produced a valid decomposition with no provisional slugs left.
  3. cut run end to end into core specify on 1.1.2: the target and feature branch created, SPECIFY_FEATURE_DIRECTORY honoured, decisions seeded and the register updated, self-check passing. Its refusals were exercised, including open owner decisions and a gate that settles its own ungrounded premise.
  4. review and close run against the epic.

The commands are agent prompts rather than scripts, so "execute without errors" means each ran to its report and self-check.

Example Usage

# Install
specify extension add epic --from https://github.com/pmckeown/spec-kit-epic/archive/refs/tags/v0.1.5.zip

# Write the epic spec from an issue or brief
/speckit.epic.specify <issue, brief or description>

# Decompose it into features, gates, edges and milestones
/speckit.epic.plan

# Cut the next ready feature into an ordinary Spec Kit feature
/speckit.epic.cut

Proposed Catalog Entry

{
  "epic": {
    "name": "Epic",
    "id": "epic",
    "description": "Break work too big for one feature into many, delivered in order, with decisions that hold across them.",
    "author": "Paul McKeown",
    "version": "0.1.5",
    "download_url": "https://github.com/pmckeown/spec-kit-epic/archive/refs/tags/v0.1.5.zip",
    "repository": "https://github.com/pmckeown/spec-kit-epic",
    "homepage": "https://github.com/pmckeown/spec-kit-epic",
    "documentation": "https://github.com/pmckeown/spec-kit-epic/blob/main/README.md",
    "changelog": "https://github.com/pmckeown/spec-kit-epic/blob/main/CHANGELOG.md",
    "license": "MIT",
    "category": "process",
    "effect": "read-write",
    "requires": {
      "speckit_version": ">=0.12.9.dev0,<1.2.0",
      "tools": [
        {
          "name": "git",
          "required": true
        }
      ]
    },
    "provides": {
      "commands": 5,
      "hooks": 0
    },
    "tags": [
      "epic",
      "planning",
      "decisions",
      "workflow"
    ],
    "verified": false,
    "downloads": 0,
    "stars": 0,
    "created_at": "2026-10-09T00:00:00Z",
    "updated_at": "2026-10-09T00:00:00Z"
  }
}

Additional Context

The extension sits above core Spec Kit and replaces no core command. cut runs core specify and stops at the spec; core plan, tasks and implement run as usual afterwards. A worked example of the epic files at the post-plan state is in examples/report-export/.

Activity

  1. added
    triage-must-haveVerdict: high-value, important work for Spec Kit — do first
    on Oct 9, 2026
  2. github-actions commented on Oct 9, 2026

    @github-actions
    Contributor

    cc @github/spec-kit-maintainers — new catalog submission for review.

  3. added a commit that references this issue on Oct 9, 2026
    e3779e2
  4. github-actions commented on Oct 9, 2026

    @github-actions
    Contributor

    Pull request created: #4896

    Generated by Add Community Extension from Issue Submission · copilot · gpt52codex · 2.59 AIC · ⌖ 0.689 AIC · ⊞ 25K

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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