/add-task
creates draft task file in .specs/tasks/draft/ with original user intent
$ npx -y skills add NeoLabHQ/context-engineering-kit --skill add-task --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/add-task
Context preview
The summary Claude sees to decide when to auto-load this skill.
creates draft task file in .specs/tasks/draft/ with original user intent
SKILL.md
add-task.SKILL.mdname: add-task
description: creates draft task file in .specs/tasks/draft/ with original user intent
argument-hint: Task title or description (e.g., "Add validation to form inputs") [list of task files that this task depends on]
Create Draft Task File
Role
Your role is to create a draft task file that exactly matches the user's request.
Goal
Create a task file in `.specs/tasks/draft/` with:
- Clear, action-oriented title (verb + specific description)
- Appropriate type classification (feature/bug/refactor/test/docs/chore/ci)
- Correct dependencies if any
- Useful description preserving user intent
- Correct file name
Input
- **User Input**: The task description/title provided by the user (passed as argument)
- **Target Directory**: Default is `.specs/tasks/draft/`
Instructions
1. Ensure Directory Structure
Run the folder creation script to create task directories and configure gitignore:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/create-folders.shThis creates:
- `.specs/tasks/draft/` - New tasks awaiting analysis
- `.specs/tasks/todo/` - Tasks ready to implement
- `.specs/tasks/in-progress/` - Currently being worked on
- `.specs/tasks/done/` - Completed tasks
- `.specs/scratchpad/` - Temporary working files (gitignored)
- `.specs/analysis/` - Analysis of the task
- `.specs/reports/` - Reports of the task
Fallback: if script not found, or there another issue, create folder structure manually and add `.specs/scratchpad/` to .gitignore
2. Analyze Input
1. **Parse the user's request**:
- Extract the core task objective
- Identify implied type (bug, feature, task)
- List of task files that this task depends on
2. **Clarify if ambiguous** (only if truly unclear):
- Is this a bug fix or new feature?
- Any related tasks or dependencies? (if not proided, then assume none)
3. Structure the Task
1. **Create action-oriented title**:
- Start with verb: Add, Fix, Update, Implement, Remove, Refactor
- Be specific but concise
- Examples:
- "Add validation to login form"
- "Fix null pointer in user service"
- "Implement caching for API responses"
2. **Determine type**:
| Type | Use When | |------|----------| | `feature` | New functionality or capability | | `bug` | Something is broken or not working correctly | | `refactor` | Code restructuring without changing behavior | | `test` | Adding or updating tests | | `docs` | Documentation changes only | | `chore` | Maintenance tasks, dependency updates | | `ci` | CI/CD configuration changes |
4. Generate File Name
1. **Create short name from the task title**:
- Lowercase the title
- Replace spaces with hyphens
- Remove special characters
- Keep it concise (3-5 words max)
- Example: "Add validation to login form" -> `add-validation-login-form`
2. **Form file name**: `<short-name>.<issue-type>.md`
- Examples:
- `add-validation-login-form.feature.md`
- `fix-null-pointer-user-service.bug.md`
- `restructure-auth-module.refactor.md`
- `add-unit-tests-api.test.md`
- `update-readme.docs.md`
- `upgrade-dependencies.chore.md`
- `add-github-actions.ci.md`
3. **Verify uniqueness**: Check `.specs/tasks/draft/`, `.specs/tasks/todo/`, `.specs/tasks/in-progress/`, and `.specs/tasks/done/` for existing files with same name
5. Create Task File
**Use Write tool** to create `.specs/tasks/todo/<short-name>.<issue-type>.md`:
---
title: <ACTION-ORIENTED TITLE>
depends_on: <list of task files that this task depends on>
---
## Initial User Prompt
{EXACT user input as provided}
## Description
// Will be filled in future stages by business analystConstraints
- **Do NOT** invoke the plan skill - the workflow handles subsequent phases
- **Do NOT** create files outside `.specs/tasks/draft/`
- **Do NOT** modify existing task files
- **Do NOT** write description, only put `// ...` placeholder as specified in the task file.
- **Do NOT** write depends_on section if no dependencies are provided.
Expected Output
Return to the orchestrator:
1. **Task file path**: Full path to created file (e.g., `.specs/tasks/todo/add-validation-login-form.feature.md`) 2. **Generated title**: The action-oriented title created 3. **Issue type**: `task`, `bug`, or `feature`
Format:
Created task file: .specs/tasks/draft/<name>.<type>.md
Title: <action-oriented title>
Type: <task|bug|feature>
Depends on: <list of task files that this task depends on>
Success Criteria
- [ ] Directories `.specs/tasks/draft/`, `.specs/tasks/todo/`, `.specs/tasks/in-progress/`, `.specs/tasks/done/` exist
- [ ] Task file created in `.specs/tasks/draft/` with correct naming convention (`<name>.<type>.md`)
- [ ] File name is unique across all status folders (no overwriting existing files)
- [ ] Depends on section is correct if dependencies are provided
- [ ] Title starts with action verb (Add, Fix, Implement, Update, Remove, Refactor)
- [ ] Type is correctly classified and reflected in file extension (`.feature.md`, `.bug.md`, `.refactor.md`, `.test.md`, `.docs.md`, `.chore.md`, `.ci.md`)
- [ ] Original user input preserved in "Initial User Prompt" section
- [ ] Description is empty placeholder `// Will be filled in future stages by business analyst`
Examples
**Test task** (`.specs/tasks/draft/add-unit-tests-auth.test.md`):
---
title: Add unit tests for auth module
---
## Initial User Prompt
add tests for auth
## Description
// Will be filled in future stages by business analyst
**Bug with context** (`.specs/tasks/draft/fix-login-timeout.bug.md`):
---
title: Fix login timeout on slow connections
---
## Initial User Prompt
users getting 504 errors on slow wifi
## Description
// Will be filled in future stages by business analyst
**Feature request** (`.specs/tasks/draft/implement-dark-mode.feature.md`):
---
title: Implement dark mode toggle
--
Read more
name: add-task description: creates draft task file in .specs/tasks/draft/ with original user intent argument-hint: Task title or description (e.g., "Add validation to form inputs") [list of task files that this task depends on]
Create Draft Task File
Role
Your role is to create a draft task file that exactly matches the user's request.
Goal
Create a task file in `.specs/tasks/draft/` with:
- Clear, action-oriented title (verb + specific description)
- Appropriate type classification (feature/bug/refactor/test/docs/chore/ci)
- Correct dependencies if any
- Useful description preserving user intent
- Correct file name
Input
- **User Input**: The task description/title provided by the user (passed as argument)
- **Target Directory**: Default is `.specs/tasks/draft/`
Instructions
1. Ensure Directory Structure
Run the folder creation script to create task directories and configure gitignore:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/create-folders.shThis creates:
- `.specs/tasks/draft/` - New tasks awaiting analysis
- `.specs/tasks/todo/` - Tasks ready to implement
- `.specs/tasks/in-progress/` - Currently being worked on
- `.specs/tasks/done/` - Completed tasks
- `.specs/scratchpad/` - Temporary working files (gitignored)
- `.specs/analysis/` - Analysis of the task
- `.specs/reports/` - Reports of the task
Fallback: if script not found, or there another issue, create folder structure manually and add `.specs/scratchpad/` to .gitignore
2. Analyze Input
1. **Parse the user's request**:
- Extract the core task objective
- Identify implied type (bug, feature, task)
- List of task files that this task depends on
2. **Clarify if ambiguous** (only if truly unclear):
- Is this a bug fix or new feature?
- Any related tasks or dependencies? (if not proided, then assume none)
3. Structure the Task
1. **Create action-oriented title**:
- Start with verb: Add, Fix, Update, Implement, Remove, Refactor
- Be specific but concise
- Examples:
- "Add validation to login form"
- "Fix null pointer in user service"
- "Implement caching for API responses"
2. **Determine type**:
| Type | Use When | |------|----------| | `feature` | New functionality or capability | | `bug` | Something is broken or not working correctly | | `refactor` | Code restructuring without changing behavior | | `test` | Adding or updating tests | | `docs` | Documentation changes only | | `chore` | Maintenance tasks, dependency updates | | `ci` | CI/CD configuration changes |
4. Generate File Name
1. **Create short name from the task title**:
- Lowercase the title
- Replace spaces with hyphens
- Remove special characters
- Keep it concise (3-5 words max)
- Example: "Add validation to login form" -> `add-validation-login-form`
2. **Form file name**: `<short-name>.<issue-type>.md`
- Examples:
- `add-validation-login-form.feature.md`
- `fix-null-pointer-user-service.bug.md`
- `restructure-auth-module.refactor.md`
- `add-unit-tests-api.test.md`
- `update-readme.docs.md`
- `upgrade-dependencies.chore.md`
- `add-github-actions.ci.md`
3. **Verify uniqueness**: Check `.specs/tasks/draft/`, `.specs/tasks/todo/`, `.specs/tasks/in-progress/`, and `.specs/tasks/done/` for existing files with same name
5. Create Task File
**Use Write tool** to create `.specs/tasks/todo/<short-name>.<issue-type>.md`:
---
title: <ACTION-ORIENTED TITLE>
depends_on: <list of task files that this task depends on>
---
## Initial User Prompt
{EXACT user input as provided}
## Description
// Will be filled in future stages by business analystConstraints
- **Do NOT** invoke the plan skill - the workflow handles subsequent phases
- **Do NOT** create files outside `.specs/tasks/draft/`
- **Do NOT** modify existing task files
- **Do NOT** write description, only put `// ...` placeholder as specified in the task file.
- **Do NOT** write depends_on section if no dependencies are provided.
Expected Output
Return to the orchestrator:
1. **Task file path**: Full path to created file (e.g., `.specs/tasks/todo/add-validation-login-form.feature.md`) 2. **Generated title**: The action-oriented title created 3. **Issue type**: `task`, `bug`, or `feature`
Format:
Created task file: .specs/tasks/draft/<name>.<type>.md Title: <action-oriented title> Type: <task|bug|feature> Depends on: <list of task files that this task depends on>
Success Criteria
- [ ] Directories `.specs/tasks/draft/`, `.specs/tasks/todo/`, `.specs/tasks/in-progress/`, `.specs/tasks/done/` exist
- [ ] Task file created in `.specs/tasks/draft/` with correct naming convention (`<name>.<type>.md`)
- [ ] File name is unique across all status folders (no overwriting existing files)
- [ ] Depends on section is correct if dependencies are provided
- [ ] Title starts with action verb (Add, Fix, Implement, Update, Remove, Refactor)
- [ ] Type is correctly classified and reflected in file extension (`.feature.md`, `.bug.md`, `.refactor.md`, `.test.md`, `.docs.md`, `.chore.md`, `.ci.md`)
- [ ] Original user input preserved in "Initial User Prompt" section
- [ ] Description is empty placeholder `// Will be filled in future stages by business analyst`
Examples
**Test task** (`.specs/tasks/draft/add-unit-tests-auth.test.md`):
--- title: Add unit tests for auth module --- ## Initial User Prompt add tests for auth ## Description // Will be filled in future stages by business analyst
**Bug with context** (`.specs/tasks/draft/fix-login-timeout.bug.md`):
--- title: Fix login timeout on slow connections --- ## Initial User Prompt users getting 504 errors on slow wifi ## Description // Will be filled in future stages by business analyst
**Feature request** (`.specs/tasks/draft/implement-dark-mode.feature.md`):
--- title: Implement dark mode toggle --
A hand-crafted collection of advanced context engineering techniques and patterns with minimal token footprint, focused on improving agent result quality and predictability.
Repo: NeoLabHQ/context-engineering-kit
Other skills on context-engineering-kit.
- /agent-evaluation
Evaluate and improve Claude Code commands, skills, and agents. Use when testing prompt effectiveness, validating context engineering choices, or measuring improvement quality.
Open skill - /apply-anthropic-skill-best-practices
Comprehensive guide for skill development based on Anthropic's official best practices - use for complex skills requiring detailed structure
Open skill - /context-engineering
Understand the components, mechanics, and constraints of context in agent systems. Use when writing, editing, or optimizing commands, skills, or sub-agents prompts.
Open skill - /create-agent
Comprehensive guide for creating Claude Code agents with proper structure, triggering conditions, system prompts, and validation - combines official Anthropic best practices with proven patterns
Open skill - /create-command
Interactive assistant for creating new Claude commands with proper structure, patterns, and MCP tool integration
Open skill - /create-hook
Create and configure git hooks with intelligent project analysis, suggestions, and automated testing
Open skill

