Repository navigation
Conversation
Make the opt-in github extension the sole owner of taskstoissues, including a deprecated compatibility alias. Preserve hook behavior, register aliases in skills mode, restore extension-backed preset overrides, and document the breaking migration for the next minor release. Refs github#4423 Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🔵 Needs a closer look
Unresolved alias safety and lifecycle defects, together with breaking-release sequencing, require maintainer review.
3 open issues
What changed in this PR
Moves GitHub issue creation out of Spec Kit’s core workflow and into the opt-in github extension.
Changes:
- Remove core
taskstoissuesscaffolding and inventories. - Add compatibility aliases and update skill lifecycle handling.
- Expand migration documentation and regression coverage.
AI disclosure: GitHub Copilot; model unavailable; autonomous review and fix suggestions for the requester.
| File | Description |
|---|---|
| tests/test_extensions.py | Retarget core-name collision tests. |
| tests/specify_cli/presets/test_manager_skills.py | Cover extension-backed alias restoration. |
| tests/specify_cli/integrations/test_command_upgrade.py | Cover legacy artifact migration. |
| tests/integrations/test_integration_generic.py | Expand alias and collision coverage. |
| tests/integrations/test_integration_copilot.py | Update core command expectations. |
| tests/integrations/test_integration_bob.py | Update core skill expectations. |
| tests/integrations/test_integration_base_yaml.py | Remove retired command expectations. |
| tests/integrations/test_integration_base_toml.py | Remove retired command expectations. |
| tests/integrations/test_integration_base_skills.py | Update core skill inventories. |
| tests/integrations/test_integration_base_markdown.py | Update core command inventory. |
| tests/extensions/github/test_taskstoissues_removal.py | Add removal and compatibility contracts. |
| tests/extensions/github/test_taskstoissues_deprecation.py | Delete obsolete core deprecation tests. |
| tests/extensions/github/test_github_extension.py | Expand alias rendering and compatibility coverage. |
| templates/commands/taskstoissues.md | Delete the core command template. |
| src/specify_cli/presets/_manager_skills.py | Restore aliases and extension script paths. |
| src/specify_cli/integrations/copilot/__init__.py | Remove retired core command entry. |
| src/specify_cli/integrations/claude/__init__.py | Remove retired argument hint. |
| src/specify_cli/integrations/base.py | Remove retired command ordering entry. |
| src/specify_cli/integrations/alquimia/__init__.py | Remove retired argument hint. |
| src/specify_cli/extensions/__init__.py | Register and track skill aliases. |
| src/specify_cli/__init__.py | Remove retired skill description. |
| README.md | Announce the breaking migration. |
| extensions/github/README.md | Explain alias ownership and migration. |
| extensions/github/extension.yml | Declare alias and raise host requirement. |
| extensions/github/commands/speckit.github.taskstoissues.md | Add alias-specific warning. |
| extensions/EXTENSION-USER-GUIDE.md | Clarify extension-owned hook events. |
| extensions/EXTENSION-DEVELOPMENT-GUIDE.md | Update alias rules and hook ownership. |
| extensions/EXTENSION-API-REFERENCE.md | Update alias and hook contracts. |
| extensions/catalog.json | Update bundled GitHub extension version. |
| docs/upgrade.md | Provide ordered migration instructions. |
| docs/reference/integrations.md | Document opt-in issue conversion. |
| docs/reference/extensions.md | Clarify extension-owned invocations. |
| docs/reference/agentic-sdd.md | Describe the opt-in workflow. |
| docs/installation.md | Update available-command guidance. |
| docs/community/presets.md | Flag preset migration requirements. |
| CHANGELOG.md | Record removal and minor-release requirement. |
Review effort: Max
Drop the conditional compatibility alias and revert its shared registration, cleanup, and preset-restoration support. Keep the existing GitHub extension unchanged and cover core-command retirement and explicit opt-in migration without an alias. Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Narrowed this PR to core-command removal and migration in e6e904e. Removed the conditional compatibility alias and reverted its shared registration/cleanup and preset-restoration support. The alias-specific paths raised in this review are no longer introduced by the PR; general alias lifecycle support is deferred rather than expanded here. The bundled GitHub extension's manifest, command prompt, version, and minimum host version are unchanged. The full suite was rerun on the narrowed implementation: AI disclosure: Posted on behalf of @mnriem by GitHub Copilot using GPT-6.1 Sol ( |
Remove added migration documentation and replacement tests. Delete obsolete core-only and core-parity tests while retaining existing extension and shared prerequisite-script coverage. Restrict documentation edits to removing obsolete core content; leave release tooling and Hermes lifecycle behavior unchanged. Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
The breaking migration lacks removal-specific test coverage and public upgrade guidance.
5 open issues
Add taskstoissues removal notices and upgrade guidance · New Restore negative test preventing taskstoissues compatibility aliases · New Add tests for taskstoissues artifact migration and removal · New Document taskstoissues hook events in extension guides · New Clarify breaking deletion and customization migration · New
2 resolved since last review
Review effort: Max
| layouts under its configured `--commands-dir`. | ||
|
|
||
| | Deprecated core command | Recommended extension command | | ||
| | Core command | Recommended extension command | |
| "speckit-tasks/SKILL.md" | ||
| if skills_mode else "speckit.tasks.md" |
| - `after_constitution` - After constitution update | ||
| - `before_taskstoissues` - Before tasks-to-issues conversion | ||
| - `after_taskstoissues` - After tasks-to-issues conversion | ||
|
|
Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Addressed this review in commit 491a895: added the breaking-removal notice and later-minor-release sequencing requirement, documented integration upgrade before optional extension installation, clarified forced deletion and customization migration, restored the extension-owned taskstoissues hook documentation, and added no-alias and CLI-backed migration coverage for command/skills layouts with GitHub absent or already installed. The bundled GitHub extension patch version is bumped so the revised migration README reaches existing installations. No legacy alias or CLI release-version change was introduced. AI-generated summary posted on behalf of @mnriem by GitHub Copilot (model: GPT-6.1 Sol; autonomous execution with user-authorized push and posting). The changes and validation were agent-performed; no human line-by-line review is claimed. |
There was a problem hiding this comment.
🟡 Changes recommended
The regression test allows aliases that restore the legacy invocation, while upgrade guidance risks overwritten customizations and omits replacement-command setup for non-default integrations.
7 open issues
Add taskstoissues removal notices and upgrade guidance Reject aliases that restore the removed legacy invocation · New Add tests for taskstoissues artifact migration and removal Use published .html URLs for documentation links · New Back up generated edits before upgrading the integration · New Document integration selection before using the replacement · New Document taskstoissues hook events in extension guides
2 resolved since last review
Review effort: Max
Resolve upstream documentation moves, restore the no-aliases guard, and correct migration backup, activation, and published-link guidance. Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve upstream documentation moves and regression tests while retaining the taskstoissues removal and its migration guidance. Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
The upgrade guidance omits cleanup of persistent Hermes skills, tests lose skip-existing-issue assertions, and the handwritten changelog section conflicts with release automation.
4 open issues
4 resolved since last review
Review effort: Max
| # Four-digit and longer task IDs must still match. | ||
| assert r"\bT\d{3,}\b" in body |
Remove command-specific migration guidance and hook references from core docs and drop added legacy-artifact migration checks. Keep extension documentation in its README without changing the existing backup warning. Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
Still-active hook events are missing from the reference, and migration guidance fails to distinguish unchanged event names from hook command bindings that need auditing.
5 open issues
1 resolved since last review
Review effort: Max
| Audit references to `speckit.taskstoissues` | ||
| in presets, extension prompts, workflow steps, handoffs, and project automation. |



Description
Remove
taskstoissuesfrom core templates, command inventories, integration metadata, generated-command expectations, and core documentation. Keep the existing GitHub extension unchanged, with its documentation confined toextensions/github/README.md.No compatibility alias, new migration behavior, or command-specific legacy-artifact checks. Update affected tests for the reduced core command set. Bump the extension patch version only as required for its README changes.
Testing
uv run specify --helpuv sync && uv run pytestUsed the worktree-local interpreter instead of the test command above:
.venv/bin/python -m pytest tests/extensions/github/test_github_extension.py tests/specify_cli/integrations/test_command_upgrade.py -q— 251 passed, 1 skipped.uv run specify --helpandgit diff --checkpassed. No live issue creation was performed.AI Disclosure
AI disclosure: GitHub Copilot, GPT-6.1 Sol (
gpt-6.1-sol), autonomous with default runtime reasoning settings, on behalf of @mnriem. AI-generated code, tests, documentation, commits, and PR description; scope and GitHub updates authorized by the contributor. No human line-by-line review is claimed.