npx claudepluginhub dcramer/dexThis skill uses the workspace's default tool permissions.
Use `dex` directly for all commands. If not on PATH, use `npx @zeeg/dex` instead.
Defines conventions for TASKS.md files: structure with optional sections, status symbols ([ ] todo, [/] ongoing, [x] done, [-] backlog), task descriptions, and testable acceptance criteria. Use for creating, editing, updating tasks or tracking progress.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Use dex directly for all commands. If not on PATH, use npx @zeeg/dex instead.
command -v dex &>/dev/null && echo "use: dex" || echo "use: npx @zeeg/dex"
Dex tasks are tickets - structured artifacts with comprehensive context:
Think: "Would someone understand the what, why, and how from this task alone?"
Never reference dex task IDs in external artifacts (commits, PRs, docs). Task IDs like abc123 become meaningless once tasks are completed. Describe the work itself, not the task that tracked it.
Use dex when:
Skip dex when:
Some AI agents (like Claude Code) have built-in task tools. These are session-only and not the same as dex.
| dex | Built-in Task Tools | |
|---|---|---|
| Persistence | Files in .dex/ | Session-only |
| Context | Rich (description + context + result) | Basic |
| Hierarchy | 3-level (epic → task → subtask) | Flat |
Use dex for persistent work. Use built-in task tools for ephemeral in-session tracking only.
dex create "Short name" --description "Full implementation context"
Description should include: what needs to be done, why, implementation approach, and acceptance criteria. See examples.md for good/bad examples.
dex list # Pending tasks
dex list --ready # Unblocked tasks
dex show <id> # Full details
dex complete <id> --result "What was accomplished" --commit <sha>
GitHub/Shortcut-linked tasks require either --commit <sha> or --no-commit:
--commit <sha> when you have code changes (issue closes when merged)--no-commit for non-code tasks like planning or design (issue stays open)Always verify before completing. Results must include evidence: test counts, build status, manual testing outcomes. See verification.md for the full checklist.
dex edit <id> --description "Updated description"
dex delete <id>
For full CLI reference including blockers, see cli-reference.md.
Tasks have two text fields:
dex list)--full)When you run dex show <id>, the description may be truncated. The CLI will hint at --full if there's more content.
When picking up a task, gather all relevant context:
dex show <id> --full # Full task details
dex show <parent-id> --full # Parent context (if applicable)
dex show <blocker-id> --full # What blockers accomplished
Before starting, verify you can answer:
If any answer is unclear:
Proceed without full context when:
Three levels: Epic (large initiative) → Task (significant work) → Subtask (atomic step).
Choosing the right level:
# Create subtask under parent
dex create --parent <id> "Subtask name" --description "..."
For detailed hierarchy guidance, see hierarchies.md.
Complete tasks immediately after implementing AND verifying:
Your result must include explicit verification evidence. Don't just describe what you did—prove it works. See verification.md.
When a task is linked to a GitHub issue (shown in dex show output), include issue references in commit messages:
Fixes #N
Refs #N
Check dex show <id> for GitHub issue info before committing. The "(via parent)" indicator means use Refs, direct metadata means use Fixes.