From dex
Converts markdown planning documents (plans, specs, designs, roadmaps) into dex tasks with title extraction, full content context, and automatic subtask breakdown.
npx claudepluginhub dcramer/dexThis skill uses the workspace's default tool permissions.
Use `dex` directly for all commands:
Creates self-contained task files synthesizing proposal, design, and specs into structured breakdowns for code changes. Use when tasks are the next implementation step.
Breaks down implementation plans into detailed task lists with agent contexts, acceptance criteria, dependencies, priorities, complexity levels, and status tracking.
Share bugs, ideas, or general feedback.
Use dex directly for all commands:
dex <command>
If dex is not on PATH, use npx @zeeg/dex <command> instead. Check once at the start:
command -v dex &>/dev/null && echo "use: dex" || echo "use: npx @zeeg/dex"
Use /dex-plan to convert any markdown planning document into a trackable dex task.
Any markdown file containing planning or design content:
~/.claude/plans/*.md)SPEC.md, REQUIREMENTS.md)DESIGN.md, ARCHITECTURE.md)ROADMAP.md)/dex-plan <markdown-file-path>
From plan mode:
/dex-plan /home/user/.claude/plans/moonlit-brewing-lynx.md
From specification document:
/dex-plan @SPEC.md
From design document:
/dex-plan docs/AUTHENTICATION_DESIGN.md
From roadmap:
/dex-plan ROADMAP.md
# heading (or uses filename as fallback)From plan mode file:
# Plan: Add JWT Authentication
## Summary
...
→ Task description: "Add JWT Authentication" (note: "Plan: " prefix stripped)
From specification document:
# User Authentication Specification
## Requirements
...
→ Task description: "User Authentication Specification"
After creating the main task, the skill analyzes the plan structure to determine if breaking it into subtasks adds value.
The skill supports up to 3 levels (maximum depth enforced by dex):
| Level | Name | Example |
|---|---|---|
| L0 | Epic | "Add user authentication system" |
| L1 | Task | "Implement JWT middleware" |
| L2 | Subtask | "Add token verification function" |
The skill creates subtasks when the plan has:
Epic-level breakdown (creates tasks, not subtasks) when:
The skill keeps a single task when:
When breakdown occurs, each subtask includes:
--parentInput plan (auth-plan.md):
# Plan: Add Authentication System
## Implementation
1. Create database schema for users/tokens
2. Implement auth controller with endpoints
3. Add JWT middleware for route protection
4. Build frontend login/register forms
5. Add integration tests
Output:
Created task abc123 from plan
Analyzed plan structure: Found 5 distinct implementation steps
Created 5 subtasks:
- abc124: Create database schema for users/tokens
- abc125: Implement auth controller with endpoints
- abc126: Add JWT middleware for route protection
- abc127: Build frontend login/register forms
- abc128: Add integration tests
View full structure: dex show abc123
Input plan (bugfix-plan.md):
# Plan: Fix Login Validation Bug
## Problem
Login fails when username has spaces
## Solution
Update validation regex in auth.ts line 42 to allow spaces
Output:
Created task xyz789 from plan
Plan describes a cohesive single task. No subtask breakdown needed.
View task: dex show xyz789
Input plan (full-auth-plan.md):
# Plan: Complete User Authentication System
## Phase 1: Backend Infrastructure
1. Create database schema for users and sessions
2. Implement password hashing with bcrypt
3. Add JWT token generation and validation
## Phase 2: API Endpoints
1. POST /auth/register - User registration
2. POST /auth/login - User login
3. POST /auth/logout - Session invalidation
4. POST /auth/reset-password - Password reset flow
## Phase 3: Frontend Integration
1. Login/register forms with validation
2. Protected route components
3. Session persistence with refresh tokens
Output:
Created epic abc123 from plan
Analyzed plan structure: Found 3 major phases with sub-items
Created as epic with 3 tasks:
- def456: Backend Infrastructure (3 subtasks)
- ghi789: API Endpoints (4 subtasks)
- jkl012: Frontend Integration (3 subtasks)
View full structure: dex list abc123
/dex-plan <file> --priority 2 # Set priority
/dex-plan <file> --parent abc123 # Create as subtask
Once created, you can:
dex show <task-id>dex create "..." --parent <task-id> --description "..."dex complete <task-id> --result "..."Run dex show <task-id> to see the full task structure including any automatically created subtasks.
These instructions are for the skill agent executing /dex-plan. Follow this workflow exactly:
Execute the dex plan command with the provided markdown file:
dex plan <markdown-file> [options]
This creates the parent task and returns its ID. Capture this ID for subsequent steps.
After creating the main task, read it back to analyze its structure:
dex show <task-id>
Examine the context field (which contains the full markdown) for breakdown potential.
Analyze the plan structure and decide: Should this be broken down into subtasks?
Numbered or bulleted implementation lists (3-7 items):
## Implementation
1. Create database schema → SUBTASK
2. Build API endpoints → SUBTASK
3. Add frontend components → SUBTASK
Clear subsections under implementation/tasks/steps:
### 1. Backend Changes
- Modify server.ts
- Add authentication
→ SUBTASK: "Backend Changes" with this context
### 2. Frontend Updates
- Update login form
- Add error handling
→ SUBTASK: "Frontend Updates" with this context
File-specific sections:
### `src/auth.ts` - Add JWT validation
[Details about changes]
→ SUBTASK: "Add JWT validation to auth.ts"
### `src/middleware.ts` - Create auth middleware
[Details about changes]
→ SUBTASK: "Create auth middleware"
Sequential phases:
## Implementation Sequence
**Phase 1: Database Layer**
[Details] → SUBTASK
**Phase 2: API Layer**
[Details] → SUBTASK
**Phase 3: Frontend Layer**
[Details] → SUBTASK
For each identified subtask:
Extract description: Use the list item text, heading, or section title
Extract context: Include relevant details from that section
Create the subtask:
dex create "<subtask-description>" \
--parent <parent-task-id> \
--description "<extracted-context-with-parent-reference>"
If subtasks were created:
Created task <id> from plan
Analyzed plan structure: Found <N> distinct implementation steps
Created <N> subtasks:
- <subtask-id-1>: <description-1>
- <subtask-id-2>: <description-2>
- <subtask-id-3>: <description-3>
...
View full structure: dex show <parent-id>
If no breakdown occurred:
Created task <id> from plan
Plan describes a cohesive single task. No subtask breakdown needed.
View task: dex show <id>
Example 1: Numbered list
## Implementation Steps
1. Create User model with email, password fields
2. Add POST /api/auth/register endpoint
3. Implement JWT token generation
Extracted subtasks:
dex create "Create User model with email, password fields" \
--parent abc123 \
--description "Create a User model with email and password fields. This is part of 'Add Authentication System'."
dex create "Add POST /api/auth/register endpoint" \
--parent abc123 \
--description "Add POST /api/auth/register endpoint to handle user registration. This is part of 'Add Authentication System'."
dex create "Implement JWT token generation" \
--parent abc123 \
--description "Implement JWT token generation for authenticated sessions. This is part of 'Add Authentication System'."
Example 2: Subsections with details
### Frontend: Login Form Component
Create a new React component at `src/components/LoginForm.tsx`:
- Email and password inputs
- Submit button with loading state
- Error message display
- Validation on submit
### Backend: Auth Routes
Add to `src/routes/auth.ts`:
- POST /login endpoint
- Password verification using bcrypt
- JWT token generation on success
Extracted subtasks:
dex create "Frontend: Login Form Component" \
--parent abc123 \
--description "Create a new React component at src/components/LoginForm.tsx with email/password inputs, submit button with loading state, error message display, and validation on submit. This is part of 'Add Authentication System'."
dex create "Backend: Auth Routes" \
--parent abc123 \
--description "Add to src/routes/auth.ts: POST /login endpoint, password verification using bcrypt, JWT token generation on success. This is part of 'Add Authentication System'."
Example 3: Should NOT break down
# Plan: Fix Typo in Error Message
## Problem
Error message says 'Sucessful' instead of 'Successful'
## Solution
Fix typo in src/messages.ts line 42
Decision: Single cohesive task, only one change. Do NOT create subtasks.