Skip to content

[Feature]: Remove taskstoissues from the core command set #4423

Description

@mnriem

Problem Statement

After the bundled GitHub Issues extension is available and the core /speckit.taskstoissues command has completed a deprecation period, retaining both implementations leaves GitHub-specific project-management behavior in the core SDD command set and creates duplicate maintenance surfaces.

The final migration stage should make the extension the sole owner of GitHub issue creation.

Proposed Solution

After #4421 and #4422 have shipped in earlier minor releases, remove taskstoissues from the core command set.

The removal should cover all core-owned surfaces, including:

  • The core command template.
  • Core command inventories, ordering, and descriptions.
  • Integration scaffolding and generated core command expectations.
  • Agent-specific argument descriptions and tool declarations.
  • Tests that assume taskstoissues is always installed as a core command.
  • README, installation, integration, and upgrade documentation.

The bundled github-issues extension should become the sole implementation and continue to provide speckit.github-issues.taskstoissues.

Once the core namespace is free, add speckit.taskstoissues as a deprecated compatibility alias in the extension if the extension command and alias validation rules support it safely. The namespaced command remains canonical. Projects without the extension should no longer receive any tasks-to-issues command.

Document the breaking change prominently and provide an agent-consumable migration recipe:

specify extension add github-issues
specify integration upgrade <integration>

The exact refresh command should be verified against the supported upgrade flow before publication.

Alternatives Considered

  • Retain the deprecated core command indefinitely: Leaves provider-specific functionality and duplicate maintenance in core.
  • Auto-install the extension for everyone: Preserves behavior but defeats the goal of making issue tracking opt-in.
  • Remove the core command without a compatibility alias: Simpler, but unnecessarily disrupts users who have installed the replacement extension and still invoke the legacy name.

Component

Specify CLI (initialization, commands)

AI Agent (if applicable)

All agents

Use Cases

  1. New projects receive only the core SDD workflow unless they explicitly opt into GitHub issue tracking.
  2. GitHub issue functionality can evolve and release independently as an extension.
  3. Other issue-tracker providers can offer parallel extensions without replacing a core command.

Acceptance Criteria

Additional Context

This is stage 3 of the migration:

  1. [Feature]: Add a bundled GitHub Issues extension for taskstoissues #4421 adds the bundled GitHub Issues extension.
  2. [Feature]: Deprecate the core taskstoissues command #4422 deprecates the core command after the replacement ships.
  3. This issue removes the command from core after the deprecation window.

Spec Kit's current release guidance treats the version as a release identifier rather than a promise that breaking changes require a new major version. The removal may therefore ship in a minor release, provided it is clearly identified and documented as breaking.

Related discussion: #4370, especially #4370 (comment).

Activity

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