Spec-TasksToIssues
Convert tasks.md into GitHub issues.
Prerequisites:
- tasks.md must exist
- Git remote must be a GitHub URL
- GitHub CLI (
gh) must be authenticated
Workflow
- Initialize - Run
.specify/scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks - Get tasks path - Extract from script output
- Verify remote - Check
git config --get remote.origin.url - Create issues - Use GitHub MCP server for each task
Script Usage
# Get prerequisites
.specify/scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks
# Get remote URL
git config --get remote.origin.url
Safety Checks
⚠️ CRITICAL CONSTRAINTS:
- Remote must be GitHub - Only proceed if URL matches
github.com - Match repository - NEVER create issues in wrong repository
- Parse tasks correctly - Extract ID, description, dependencies
Issue Format
For each task in tasks.md:
Title: [TaskID] Description
Body:
- Phase: [Phase name]
- Dependencies: [Dependent task IDs]
- Files: [File paths mentioned]
- Parallel: [Yes/No based on [P] marker]
- Story: [User story if [USx] present]
Task Parsing
From format: - [ ] T001 [P] [US1] Description with path
Extract:
T001→ Issue title prefix[P]→ Label:parallel[US1]→ Label:user-story-1- Description → Issue title
- File path → Issue body
Labels
Create/use labels:
spec-task- All generated tasksparallel- Tasks with[P]markeruser-story-N- Tasks with[USx]markerphase-N- Based on phase in tasks.md
GitHub CLI Commands
# Create issue
gh issue create --title "[T001] Create project structure" \
--body "Phase: Setup\nDependencies: None" \
--label "spec-task,phase-1"
# List issues
gh issue list --label "spec-task"
Error Handling
- Skip already-created issues (check by title prefix)
- Report failed creations
- Continue with remaining tasks
Next Steps
After /spec-taskstoissues:
- Assign issues to team members
- Set milestones
/spec-implement- Execute tasks