Skip to content
Back to skills

Create Task Files

ASecurity

Export tasks from TodoWrite or feature plans into structured markdown files (epic, user-story, bug, issue) in a tasks/ directory. Use when the user wants to create task files, export tasks, track work in files, or mentions "create tasks", "export", "epic", "user story".

  • 14 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 26, 2026
toolsbashtestinggitdatabase

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add Shoebtamboli/rails_claude_skills --skill create-task-files --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Create Task Files?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Create Task Files
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shoebtamboli-create-task-files/badge)](https://www.skillsdirectory.com/skills/shoebtamboli-create-task-files)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: create-task-files
description: Export tasks from TodoWrite or feature plans into structured markdown files (epic, user-story, bug, issue) in a tasks/ directory. Use when the user wants to create task files, export tasks, track work in files, or mentions "create tasks", "export", "epic", "user story".
allowed-tools: Read, Write, Glob, AskUserQuestion, Bash
---

# Create Task Files Skill

Export planning tasks into structured, trackable markdown files organized by type (epic, user-story, bug, issue) in a `tasks/` directory. Integrates with git-based workflows for team collaboration.

## When to Use This Skill

Use this skill when:
- User wants to export TodoWrite tasks to files
- After completing `/plan-feature` and user wants task tracking
- User mentions "create tasks", "export tasks", "epic", "user story"
- Setting up project tracking in markdown files
- Need to track bugs or issues in files

## Task Types

This skill supports four task types:

| Type | Purpose | Example |
|------|---------|---------|
| **epic** | Large feature or initiative spanning multiple stories | "User Authentication System" |
| **user-story** | Single deliverable piece of functionality | "User can login with email/password" |
| **bug** | Defect or issue to fix | "Login form doesn't validate email format" |
| **issue** | General task, chore, or technical debt | "Refactor authentication controller" |

## Instructions

Follow these steps when creating task files:

### Step 1: Determine Task Source

Check if there are active TodoWrite tasks:

1. Ask the user: "I can create task files from your current todo list or from a feature description. Which would you prefer?"
2. If using todo list, analyze the current tasks
3. If using feature description, ask for the feature details

### Step 2: Gather Task Configuration

Use AskUserQuestion to ask:

**Question 1: Task Types**
- Which task types to create?
- Options: "All types (epic + stories)", "User stories only", "Custom selection"

**Question 2: Grouping Strategy**
- How to group tasks?
- Options: "By implementation layer (DB, Logic, UI, Tests)", "By feature area", "Chronological order"

**Question 3: Metadata**
- What additional metadata?
- Options: "Priority + Labels", "Just basics", "Full metadata (assignee, estimates)"

### Step 3: Create Tasks Directory

Create the directory structure:

```bash
mkdir -p tasks
```

Check if `tasks/README.md` exists. If not, create it with:

```markdown
# Project Tasks

This directory contains structured task tracking files for features, bugs, and issues.

## Task Types

- **epic-XXX**: Large features or initiatives
- **story-XXX**: User stories and deliverable functionality
- **bug-XXX**: Defects and issues to fix
- **issue-XXX**: General tasks, chores, technical debt

## Workflow

1. Tasks are created from feature planning
2. Update task status as work progresses
3. Check off acceptance criteria when complete
4. Link related tasks using task IDs

## Status Values

- `todo`: Not started
- `in-progress`: Currently being worked on
- `blocked`: Waiting on dependency
- `review`: Ready for review
- `done`: Completed

## File Naming

Format: `{type}-{number}-{slug}.md`

Examples:
- `epic-001-user-authentication.md`
- `story-001-login-form.md`
- `bug-001-email-validation.md`
```

### Step 4: Analyze and Structure Tasks

Based on the source (TodoWrite or description):

1. **Identify the Epic**: The main feature/initiative
2. **Break into User Stories**: Discrete deliverable pieces
3. **Identify Dependencies**: Which tasks block others
4. **Assign Priorities**: Based on dependencies and importance

**Example breakdown:**
```
Epic: Blog Post Commenting System
├── Story 1: Comment model and database
├── Story 2: Comment controller and routes
├── Story 3: Comment form UI with Turbo
├── Story 4: Comment listing with nested replies
└── Story 5: Email notifications for replies
```

### Step 5: Generate Task Files

Create files using the templates (see templates/ directory).

**Naming convention:** `{type}-{number}-{slug}.md`

**Numbering:**
- Check existing tasks: `ls tasks/{type}-* 2>/dev/null | wc -l`
- Increment from highest existing number
- Pad with zeros: `001`, `002`, etc.

**Slug generation:**
- Lowercase title
- Replace spaces with hyphens
- Remove special characters
- Max 50 characters

### Step 6: Create Task Files

For each task, create a markdown file using the templates in the `templates/` directory.

**Available templates:**
- [templates/epic.md](templates/epic.md) - For large features/initiatives
- [templates/user-story.md](templates/user-story.md) - For deliverable functionality
- [templates/bug.md](templates/bug.md) - For defects and bugs
- [templates/issue.md](templates/issue.md) - For chores and technical debt

**Template usage:**
- Read the appropriate template file from `templates/` directory
- Replace placeholder values: `{number}`, `{Epic Title}`, `{YYYY-MM-DD}`, etc.
- Use Write tool to create the task file in `tasks/` directory

For full template details, see the files in `templates/` directory.

### Step 7: Create Task Index

After creating all task files, update or create `tasks/INDEX.md`:

```markdown
# Task Index

Generated: {YYYY-MM-DD HH:MM}

## Epics

- [epic-001](epic-001-slug.md) - {Title} `[status]`

## User Stories

- [story-001](story-001-slug.md) - {Title} `[status]` (epic-001)
- [story-002](story-002-slug.md) - {Title} `[status]` (epic-001)

## Bugs

- [bug-001](bug-001-slug.md) - {Title} `[status]`

## Issues

- [issue-001](issue-001-slug.md) - {Title} `[status]`

## By Status

### Todo
- story-001, bug-001

### In Progress
- story-002

### Done
- issue-001
```

### Step 8: Present Summary

Show the user what was created:

```
## Task Files Created

Created {N} task files in tasks/ directory:

### Epic
- tasks/epic-001-feature-name.md

### User Stories (5)
- tasks/story-001-database-setup.md
- tasks/story-002-business-logic.md
- tasks/story-003-ui-implementation.md
- tasks/story-004-testing.md
- tasks/story-005-polish.md

### Structure
tasks/
├── README.md
├── INDEX.md
├── epic-001-feature-name.md
└── story-001-database-setup.md

### Next Steps
1. Review task files and update priorities
2. Assign tasks to team members (update frontmatter)
3. Start with: tasks/story-001-database-setup.md
4. Update status as work progresses
5. Commit to git: git add tasks/ && git commit -m "Add tasks for {feature}"

Tasks are now tracked in markdown files and can be committed to version control.
```

## Best Practices

**Do:**
- ✅ Create one epic per feature/initiative
- ✅ Break epics into 3-7 user stories
- ✅ Use clear, actionable titles
- ✅ Include acceptance criteria
- ✅ Link related tasks with IDs
- ✅ Update task status as work progresses
- ✅ Commit task files to git

**Don't:**
- ❌ Create too many task types (keep it simple)
- ❌ Make user stories too large (split them)
- ❌ Skip acceptance criteria
- ❌ Forget to update task status
- ❌ Duplicate tasks between TodoWrite and files
- ❌ Create tasks without clear ownership

## Integration

**With plan-feature skill:**
After `/plan-feature` completes, it will suggest running this skill to export tasks to files.

**With TodoWrite:**
Can read current TodoWrite tasks and convert them to structured files.

**With Git:**
Task files are designed to be committed to version control for team collaboration.

## File Structure

```
tasks/
├── README.md                      # Overview of task system
├── INDEX.md                       # Auto-generated index of all tasks
├── epic-001-user-auth.md         # Epic for authentication
├── story-001-login-model.md      # User story for login model
├── story-002-login-controller.md # User story for login controller
├── story-003-login-ui.md         # User story for login UI
├── bug-001-email-validation.md   # Bug fix task
└── issue-001-refactor-auth.md    # Technical debt task
```

## Example Usage

**Scenario 1: After planning**
```bash
/plan-feature "Add user authentication"
# ... planning completes ...
/create-task-files
# Creates epic + 5 user stories in tasks/
```

**Scenario 2: Standalone**
```bash
/create-task-files
# Asks: "Create tasks from todo list or feature description?"
# Creates structured task files based on input
```

**Scenario 3: Bug tracking**
```bash
/create-task-files
# Select: "Bug only"
# Creates bug-001-description.md with proper template
```

## Output

Creates structured markdown files in `tasks/` directory with:
- Proper frontmatter (YAML)
- Consistent formatting
- Clear acceptance criteria
- Dependency tracking
- Status management
- Git-friendly format

This enables team collaboration, progress tracking, and version-controlled project management.

Files in this skill

  • SKILL.md8.6 KB
  • templates/bug.md831 B
  • templates/epic.md674 B
  • templates/issue.md621 B
  • templates/user-story.md864 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.