Spec Kit preset that overrides speckit.taskstoissues to create Jira epics, stories, and tasks instead of GitHub Issues.
The core speckit.taskstoissues command is hardcoded to GitHub Issues — it checks for a GitHub remote and uses the GitHub MCP server. For teams using Jira, the natural /speckit.taskstoissues workflow is unusable.
Extensions cannot override core commands due to the speckit.{ext-id}.{command} naming requirement. Presets sit higher in the resolution stack and can replace core commands directly, keeping the natural workflow intact.
See github/spec-kit#2223 for the full discussion.
Overrides the core speckit.taskstoissues command so that /speckit.taskstoissues creates a Jira issue hierarchy:
- Epic — created from the feature name in
spec.md - Stories/Tasks — one per task in
tasks.md, linked to the epic - Sub-tasks — for tasks with sub-items
- Issue links — dependency relationships from
tasks.mdare wired as "Blocks"/"is blocked by" links
specify preset add jira --from https://github.com/luno/spec-kit-preset-jira/archive/refs/heads/main.zipOr install from a local clone:
git clone https://github.com/luno/spec-kit-preset-jira.git
specify preset add --dev ./spec-kit-preset-jiraIf your project uses "skills_source": "marketplace" in .specify/integration.json (i.e. skills come from a Claude Code plugin rather than local generated files), spec-kit does not yet write the local skill override automatically. This is a known bug tracked in github/spec-kit#2906 with a fix in github/spec-kit#2905.
Until that fix ships, create the override manually after installing the preset:
mkdir -p .claude/skills/speckit-taskstoissues
cat > .claude/skills/speckit-taskstoissues/SKILL.md << 'EOF'
---
name: speckit-taskstoissues
description: Convert existing tasks into actionable, dependency-ordered Jira issues for the feature based on available design artifacts.
argument-hint: "[Jira project key, e.g. CPB]"
compatibility: Requires spec-kit project structure with .specify/ directory
disable-model-invocation: true
---
<!-- Stopgap: remove this file once github/spec-kit#2905 ships in your specify version. -->
Follow the instructions in `.specify/presets/jira/commands/speckit.taskstoissues.md`.
EOFCommit .claude/skills/speckit-taskstoissues/SKILL.md to your repo. Once github/spec-kit#2905 merges and you update specify, re-run specify preset add jira and delete this file — the preset will handle it automatically.
This preset requires an Atlassian MCP server connection with access to:
createJiraIssuecreateIssueLinkgetVisibleJiraProjectsgetJiraProjectIssueTypesMetadatasearchJiraIssuesUsingJql
The target Jira project is resolved in this order:
- User input — pass a project key as an argument:
/speckit.taskstoissues CPB - Preset config — set
project_keyin.specify/presets/jira/jira-config.yml:project_key: "CPB"
- Environment variable — set
SPECKIT_JIRA_PROJECT_KEY=CPB - Interactive — prompted to select from available projects
This preset works alongside the existing spec-kit-jira extension. The preset handles the core workflow override, while the extension can provide supplementary commands like discover-fields and sync-status.
| Core Command | Override |
|---|---|
speckit.taskstoissues |
Creates Jira issues instead of GitHub Issues |
- Spec Kit — the Spec-Driven Development framework
- Presets catalog — browse all available Spec Kit presets
- spec-kit-jira extension — complementary Jira extension with additional commands
MIT