create-task
About
The `create-task` skill converts natural language task descriptions into structured work items with automatic categorization and priority inference. Use it when users ask to create tasks, track work, or convert conversational requests into actionable items. It handles dependency tracking and transforms informal prompts into organized tasks.
Quick Install
Claude Code
Recommended/plugin add https://github.com/majiayu000/claude-skill-registrygit clone https://github.com/majiayu000/claude-skill-registry.git ~/.claude/skills/create-taskCopy and paste this command in Claude Code to install this skill
Documentation
Task Creation Skill
Converts conversational task descriptions into structured work items (beads) with automatic categorization, priority assignment, and dependency tracking.
When to Use
Activate this skill when users ask to:
- Create or add a new task or issue
- Track work that needs to be done
- Convert conversational descriptions into structured work items
- Document something to remember or do later
- Set up tasks with blocking relationships
- Categorize and prioritize work
Required Information
Gather from conversation:
| Field | Type | Example | Notes |
|---|---|---|---|
| Title | String | "Fix blog pagination bug" | Clear, specific task name |
| Description | String | "The blog archive page shows 404 on pages 2+ after deployment" | Detailed context and acceptance criteria |
Optional Information
| Field | Type | Example | Notes |
|---|---|---|---|
| Tags | Array | ["bug", "urgent", "frontend"] | For categorization and filtering |
| Blocking | Array | ["task-id-123"] | Task IDs this blocks (dependent tasks) |
| BlockedBy | Array | ["task-id-456"] | Task IDs that block this one |
| Priority | Number | 1-5 | 1=critical, 5=low (inferred if not provided) |
Auto-Categorization Rules
The system automatically determines task type and priority from natural language patterns:
Task Type Detection
| Pattern | Type | Emoji |
|---|---|---|
| "fix", "resolve", "patch", "bug" | bug | π |
| "add", "create", "implement", "build" | feature | β¨ |
| "improve", "enhance", "optimize", "refactor" | enhancement | π§ |
| "update", "upgrade", "bump", "patch version" | chore | βοΈ |
| "document", "write", "add docs", "update README" | documentation | π |
| "investigate", "research", "explore", "investigate" | research | π |
Priority Inference
| Pattern | Priority | Rationale |
|---|---|---|
| "critical", "urgent", "blocking", "ASAP", "now" | 1 (P0) | Immediate action needed |
| "important", "high", "soon", "before release" | 2 (P1) | Next cycle priority |
| "normal", "should", "eventually" | 3 (P2) | Standard priority |
| "nice-to-have", "consider", "backlog" | 4 (P3) | Lower priority |
| "someday", "maybe", "if time" | 5 (P4) | Lowest priority |
Generation Process
Step 1: Gather Task Information
Collect through conversation:
- "What needs to be done?" (Title)
- "Can you describe more details?" (Description)
- "Any context on why or when?" (Optional tags/priority hints)
If user provides conversational description like "The blog is broken on mobile", extract and clarify:
- Title: "Fix mobile layout on blog pages"
- Description: Expanded context about the issue
Step 2: Auto-Detect Category and Priority
Parse the description and title for keywords:
- Identify task type from verb patterns
- Infer priority from urgency keywords
- Extract dependencies if mentioned
Step 3: Invoke Task Agent
Run the TypeScript agent to create the task:
bun run packages/agents/src/cli/agent-cli.ts task-create \
--title "{{title}}" \
--description "{{description}}" \
--type {{type}} \
--priority {{priority}} \
--tags "{{tags}}" \
--blocking "{{blocking}}" \
--blocked-by "{{blocked_by}}"
The agent will:
- Parse natural language input
- Create a structured bead in
.beads/issues.jsonl - Assign a unique task ID
- Set up blocking relationships if provided
- Return task details and confirmation
Example output:
--- Task Agent ---
Creating task from description...
[SUCCESS] Task created
Task ID: PROJ-123
Title: Fix blog pagination bug
Type: bug (π)
Priority: P1 (High)
Status: pending
Description:
The blog archive page shows 404 on pages 2+ after deployment.
Root cause appears to be missing pagination handler in router.
URL: [task details URL]
Step 4: Display and Confirm
Show the user:
- Generated task ID
- Auto-detected category and priority
- Full description as it was stored
- Any blocking relationships
- Next steps for the task (assignment, workflow)
Task Type Definitions
Bug (π)
Something is broken or not working as expected.
- Markers: "fix", "broken", "bug", "error", "issue", "not working"
- Default Priority: P1 or P2 depending on urgency keywords
Feature (β¨)
New functionality to add.
- Markers: "add", "create", "implement", "build", "new"
- Default Priority: P2 or P3 (features are typically planned)
Enhancement (π§)
Improving existing functionality.
- Markers: "improve", "enhance", "optimize", "refactor", "speed up", "better"
- Default Priority: P2 or P3
Chore (βοΈ)
Maintenance, dependency updates, configuration changes.
- Markers: "update", "upgrade", "bump", "version", "dependencies"
- Default Priority: P3 (non-blocking)
Documentation (π)
Writing or updating documentation.
- Markers: "document", "write docs", "add README", "update guide"
- Default Priority: P3 (can document in parallel)
Research (π)
Investigation or evaluation needed.
- Markers: "investigate", "research", "explore", "evaluate", "compare"
- Default Priority: P3 or P4 (time-bounded research)
Dependency Management
Setting Up Blocking Relationships
If a task depends on another or blocks others, express as:
User: "I need to refactor the API before we can optimize the cache layer"
Response: Extract two tasks:
- Task A: "Refactor the API" β Type: enhancement, Priority: P1
- Task B: "Optimize cache layer" β Type: enhancement, Priority: P2
- Set: Task B is blocked by Task A
bun run packages/agents/src/cli/agent-cli.ts task-create \
--title "Optimize cache layer" \
--description "..." \
--type enhancement \
--blocked-by "{{task-a-id}}"
Querying Blockers
After creating tasks, show dependencies:
Task PROJ-124 (Optimize cache) is blocked by:
ββ PROJ-123 (Refactor API) - pending
Cannot start until PROJ-123 is completed.
Writing Task Descriptions
Do:
- Be specific about what needs to happen
- Include context: why, where, what problem it solves
- Add acceptance criteria if applicable ("The page should load in < 1s")
- Mention any related tasks or tickets
- Include error messages or reproduction steps for bugs
Avoid:
- Generic descriptions like "fix stuff"
- Assumptions about implementation details (let the executor decide)
- Combining multiple unrelated tasks in one item
- Vague impact statements ("make it better")
Example Interactions
Example 1: Simple Bug Report
User: "The checkout button on the homepage is broken"
Response:
- Clarify: "Can you describe what's broken? Is it not clickable, hidden, or showing an error?"
- Gather details about browser, reproduction steps
- Create task:
Task ID: PROJ-201 Title: Fix checkout button functionality on homepage Type: bug (π) Priority: P1 (Critical - affects conversions)
Example 2: Feature Request with Dependencies
User: "I want to add an analytics dashboard, but first we need to set up event tracking"
Response:
- Create two tasks:
Task ID: PROJ-301 Title: Implement event tracking infrastructure Type: feature (β¨) Priority: P1 Task ID: PROJ-302 Title: Build analytics dashboard Type: feature (β¨) Priority: P2 Blocked By: PROJ-301 - Show the dependency chain
- Explain that PROJ-302 cannot start until PROJ-301 is completed
Example 3: Enhancement with Optimization Context
User: "We should optimize the blog query performance, it's getting slow with more posts"
Response:
- Gather: "How slow? Do you have metrics? Which queries are slow?"
- Create task:
Task ID: PROJ-401 Title: Optimize blog query performance Type: enhancement (π§) Priority: P2 Description: Blog queries are getting slower as post count increases. Goal: Sub-100ms response time for archive pages. Consider indexing strategy, caching layer, and query optimization.
File Locations
| Purpose | Path |
|---|---|
| Task tracking | .beads/issues.jsonl |
| Task agent | packages/agents/src/task/task-agent.ts |
| CLI handler | packages/agents/src/cli/agent-cli.ts |
| Type definitions | packages/agents/src/types/index.ts |
Task Lifecycle
Tasks created with this skill start in pending status:
pending β in_progress β completed
β
(if issues)
resolved
Use beads commands to manage lifecycle:
bd update <task-id> --status in_progress
bd update <task-id> --status completed
bd close <task-id>
Common Patterns
Multi-step Breakdown
If user describes complex work, offer to break into subtasks:
User: "Redesign the checkout flow"
Suggest:
- Task 1: "Design checkout wireframes"
- Task 2: "Implement checkout form component"
- Task 3: "Integrate payment processing"
- Task 4: "Add order confirmation page"
Set dependencies so they work in sequence.
Adding Context from Errors
For bug reports, include error messages and logs in description:
Task: Fix authentication redirect loop
Description:
Users report infinite redirect when accessing /dashboard after login.
Error log:
[ERROR] /auth/callback β /dashboard β /login β /auth/callback
Environment: Production
Affected users: ~15% of login attempts
First reported: 2026-01-24
Voice Learning
Record feedback on task creation for improvement:
Location: .cody/project/library/style-docs/task-style.json
Track:
- Effective task titles (what works)
- Common categorization errors (what to fix)
- Useful description patterns (what to encourage)
Integration with Workflows
After task creation, users can:
- Assign -
bd update <task-id> --owner <name> - Add labels -
bd label add <task-id> bug frontend - Link dependencies -
bd dep add <task-a> --blocks <task-b> - Start working -
bd update <task-id> --status in_progress
GitHub Repository
Related Skills
content-collections
MetaThis skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
sglang
MetaSGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
Algorithmic Art Generation
MetaThis skill helps developers create algorithmic art using p5.js, focusing on generative art, computational aesthetics, and interactive visualizations. It automatically activates for topics like "generative art" or "p5.js visualization" and guides you through creating unique algorithms with features like seeded randomness, flow fields, and particle systems. Use it when you need to build reproducible, code-driven artistic patterns.
cloudflare-turnstile
MetaThis skill provides comprehensive guidance for implementing Cloudflare Turnstile as a CAPTCHA-alternative bot protection system. It covers integration for forms, login pages, API endpoints, and frameworks like React/Next.js/Hono, while handling invisible challenges that maintain user experience. Use it when migrating from reCAPTCHA, debugging error codes, or implementing token validation and E2E tests.
