Agent skill
create-task
Use when creating any beads task — auto-researches the codebase, links related tasks, and produces a rich self-contained description from a structured template. Accepts minimal intent and outputs a complete task ready for agent implementation.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/create-task-ahrav-scratch-scanner-rs-2
SKILL.md
Create Task
Creates high-quality, self-contained beads tasks by researching the codebase and assembling a structured description. Every task produced by this skill should give an implementing agent 90% of the context it needs inline.
Core principle: Invest effort at creation time to save 10x at implementation time.
Invocation
/create-task "Fix off-by-one in window boundary check" --type=bug --priority=1
/create-task --quick "Add capacity hint to Vec in compile_rules" --type=task --priority=3
/create-task --dry-run "Refactor transform chain error handling" --type=task --priority=2
/create-task --from-plan docs/plans/2026-02-23-feature-v3.md --step=3
Input formats:
- Positional string:
"title text here" - Flags:
--title,--type,--priority,--labels,--files-hint,--parent - Pasted paragraph with description
Flags:
| Flag | Effect |
|---|---|
--quick |
Skip research (Phase 1). Apply template with available info only. |
--dry-run |
Print the full description without creating the beads task. |
--from-plan <path> --step=N |
Extract task from a plan file step. |
--type=<type> |
Task type: task, bug, feature, epic, question, docs (default: task) |
--priority=<N> |
Priority 0-4 (default: 2) |
--labels=<a,b> |
Comma-separated labels |
--files-hint=<paths> |
Comma-separated file paths to seed research |
--parent=<id> |
Parent epic beads ID |
Phase 0 --- Parse Intent
-
Extract from input:
- Title (required): Clear imperative statement of what to do
- Brief description: 1-2 sentence context (if provided)
- Type: default
task - Priority: default
2 - Labels, files-hint, parent: if provided
-
If only a title with no brief description, ask the user:
What's the 1-2 sentence context for this task? (What problem does it solve or what need does it address?)
-
If
--from-planis specified:- Read the plan file at the given path
- Extract the step indicated by
--step=N - Map plan fields: Problem Statement -> Context, Codebase Context -> Current State, step What -> Desired State, step Files -> Files to Modify, step Tests -> Testing Strategy, step Acceptance criteria -> Acceptance Criteria
- Proceed to Phase 3 (skip research — plan already has codebase context)
Phase 1 --- Research (Explore Agent)
Skip when --quick is passed.
Spawn one subagent_type=general-purpose agent with the structured research prompt
below. The agent performs up to ~30 tool calls across 6 steps.
Research Agent Prompt
You are a codebase researcher preparing context for a new task. Your job is to
gather specific, concrete information — NOT to implement anything.
## Task Being Created
**Title**: {TITLE}
**Brief**: {BRIEF_DESCRIPTION}
**Type**: {TYPE}
**Files hint**: {FILES_HINT or "none provided"}
## Research Steps (follow in order)
### Step 1: Find Affected Files
Use Grep and Glob to search for identifiers, types, functions, and concepts
mentioned in the title and brief. Search broadly:
- Exact names and keywords from the title
- Related concepts (synonyms, adjacent functionality)
- File paths mentioned in files-hint
List every file that is likely touched by this task.
### Step 2: Read Relevant Code
Read the specific functions, structs, and modules most relevant to this task.
- Maximum 8 files
- For each, extract the most relevant 5-20 line snippet with file:line header
- Note function signatures, struct definitions, trait impls
### Step 3: Trace Blast Radius
For the primary functions/types affected:
- Grep for callers and call sites
- Note which modules depend on the affected code
- Identify downstream effects of changes
### Step 4: Find Reusable Patterns
Check for existing utilities that could be reused (per duplication prevention rules):
- Search `src/stdx/` for related helpers
- Check sibling modules for similar patterns
- Note any existing abstractions that should be extended rather than duplicated
### Step 5: Search Related Beads Tasks
Run: `bd search "{keywords from title}" --limit 10`
For each result, classify the relationship:
- **blocks**: This new task cannot start until that task completes
- **blocked-by**: That task cannot start until this new task completes
- **relates-to**: Related but independent work
- **possible-duplicate**: May be the same task — FLAG THIS
### Step 6: Assess Scope
Based on your research, classify:
- **files_affected**: count of files that will be modified
- **modules_crossed**: count of distinct modules (top-level src/ directories)
- **touches_hot_path**: true/false — does this touch engine/, scheduler/, or hot loop code?
- **has_unsafe**: true/false — does affected code contain unsafe blocks?
## Output Format
Return a structured markdown document with these sections:
### Affected Files
| File | Relevance | What Changes |
|------|-----------|-------------|
### Code Snippets
For each relevant snippet:
```rust
// {file_path}:{start_line}-{end_line} — {brief description}
{actual code}
Blast Radius
| Caller/Dependent | File | Relationship |
|---|
Reusable Utilities
| Utility | Location | How to Reuse |
|---|---|---|
| (or "None found") |
Related Tasks
| Task ID | Title | Relationship | Notes |
|---|---|---|---|
| (or "None found") |
Scope Assessment
- files_affected: {N}
- modules_crossed: {N}
- touches_hot_path: {true/false}
- has_unsafe: {true/false}
IMPORTANT: Be concrete. Every file path must be real. Every code snippet must
be copied from the actual codebase, not invented. Every task ID must come from
bd search output.
---
## Phase 2 --- Link Related Tasks
Process the Related Tasks output from the research agent:
1. **Possible duplicates**: Present to the user with details. Ask before proceeding.
> Found a possible duplicate: {task_id} "{title}". Should I:
> (a) Skip creating this task (it's already covered)
> (b) Create anyway (different scope)
> (c) Show me more details
**Never silently create a duplicate.**
2. **Blocking relationships**: After the task is created (Phase 4), run:
```bash
bd dep add <new-id> <blocker-id>
- Relates-to: Include in the Related Work section of the description.
Phase 3 --- Compose Description
Assemble the full task description from the template below, filling sections
with explore agent output (Phase 1) or available information (if --quick).
Complexity Scaling
| Complexity | Criteria | Sections | Expected Length |
|---|---|---|---|
| Trivial | 1 function, clear fix | Mandatory only | 30-60 lines |
| Standard | 1-3 files, 1 module | All mandatory | 80-150 lines |
| Complex | 3+ files, multi-module | All mandatory + conditionals | 200-400 lines |
Determine complexity from the scope assessment (Phase 1) or from the brief
description (if --quick).
Mandatory Sections (ALL Tasks)
## Context
{Why this task exists. What problem or need it addresses. What symptom prompted it.}
## Current State
{What exists today with code snippets and file:line references.}
```rust
// src/engine/core.rs:142-158 — current boundary check
{actual code from research}
Desired State
{What should exist after. Specific behavior, interface, or structure.}
Implementation Guidance
Files to Modify
| File | Change | Rationale |
|---|
Patterns to Follow
{Existing patterns to mirror, with file:line refs. "None" if nothing specific.}
Utilities to Reuse
{From src/stdx/ or siblings. "None found" if nothing applies.}
Blast Radius
{Callers, downstream effects, call sites needing updates.}
Code References
{3-5 inline snippets of the most relevant current code, each 5-20 lines. Each snippet has a file:line header.}
Related Work
| Task ID | Title | Relationship |
|---|---|---|
| {Or "None found" — section must always be present.} |
Acceptance Criteria
- {Specific verifiable condition}
- All existing tests pass:
cargo test - Code compiles clean:
cargo fmt --all && cargo check && cargo clippy --all-targets --all-features -- -D warnings
Pointers
{Where to look for the remaining ~10%: docs, related commits, design docs, files to read.}
### Conditional Sections
Include these based on scope assessment:
| Section | Include When | Content |
|---------|-------------|---------|
| **Design Notes** | modules_crossed >= 2 or multiple valid approaches | Trade-offs, alternatives considered, rationale for chosen approach |
| **Risk Analysis** | priority <= 1 or has_unsafe | What could go wrong, mitigation strategies, rollback plan |
| **Performance Considerations** | touches engine/, stdx/, scheduler/ | Hot path impact, allocation concerns, benchmark expectations |
| **Testing Strategy** | files_affected > 1 | What tests to add/modify, test types (unit, property, integration), coverage goals |
Place conditional sections between "Code References" and "Related Work".
### Handling Missing Information
If the research agent didn't find enough for a section, include the section
with a `[NEEDS ENRICHMENT]` marker:
```markdown
### Blast Radius
[NEEDS ENRICHMENT] — Could not trace all callers. The implementing agent should
grep for usages of `FunctionName` before making changes.
Phase 4 --- Create Task
-
Write the composed description to a temp file:
bashTMPFILE=$(mktemp /tmp/task-desc-XXXXXX.md)Write the description content to the temp file.
-
Create the beads task:
bashbd create --title="{TITLE}" --type={TYPE} --priority={PRIORITY} --body-file="$TMPFILE"Add
--labels={LABELS}if provided. Add--parent={PARENT}if provided. -
Register dependencies (from Phase 2):
bashbd dep add <new-id> <blocker-id> -
Clean up temp file:
bashrm "$TMPFILE" -
Show the created task:
bashbd show <new-id> -
Present summary to user:
Created task: {id} Title: {title} Type: {type} | Priority: P{priority} Sections: {count} mandatory + {count} conditional Related tasks linked: {count} Dependencies added: {count}
Dry Run Mode
If --dry-run is passed, skip step 2-4. Instead, print the full description
to the user with a header:
--- DRY RUN: Task Description Preview ---
Title: {title}
Type: {type} | Priority: P{priority}
{full description}
--- End Preview (no task created) ---
Anti-Patterns
| Anti-Pattern | Why It's Wrong | Do This Instead |
|---|---|---|
| Creating a task with no description | Agent wastes time rediscovering context | Always use this skill or follow the template |
| Writing "see review for details" | External reference will rot; agent can't work it | Inline all context in the description |
| Code references without file:line | Agent can't find the code | Always include file path and line numbers |
| Acceptance criteria like "it works" | Not verifiable | Specific conditions: "function returns X when given Y" |
| Skipping Related Work search | Creates duplicates, misses dependencies | Always run bd search |
| Research agent reading 20+ files | Diminishing returns, bloats context | Cap at 8 files, focus on most relevant |
| Silently creating a duplicate | Wastes implementation effort | Always present possible duplicates to user |
Related Skills
/plan-forge— creates implementation plans; use--create-tasksto auto-generate tasks from plan steps/execute-review-findings— converts review findings to tasks (uses compatible template)/review-dispatch— produces findings that may become tasks
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?