dex
Skill207 starsChanged yesterdayApache-2.0View on GitHub
Manage tasks via dex CLI. Use when breaking down complex work, tracking implementation items, or persisting context across sessions.
We split this skill into the rules it gives an agent
14 rules. About 0 are common, 8 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 10
Use dex directly for all commands.
- Distinctive: line 55
Use dex for persistent work.
- Very specific: line 83
Use --commit <sha> when you have code changes (issue closes when merged)
- Very specific: line 84
Use --no-commit for non-code tasks like planning or design (issue stays open)
- Very specific: line 104
When you run dex show <id>, the description may be truncated.
- Distinctive: line 108
When picking up a task, gather all relevant context:
- Distinctive: line 116
Before starting, verify you can answer:
- Distinctive: line 120
How: should it be implemented?
- Distinctive: line 123
If any answer is unclear:
- Distinctive: line 125
Check parent task or completed blockers for more details
- Distinctive: line 158
Create follow-up tasks for tech debt
- Very specific: line 164
When a task is linked to a GitHub issue (shown in dex show output), include issue references in commit messages:
- Very specific: line 171
Check dex show <id> for GitHub issue info before committing.
- Distinctive: line 178
Action-oriented descriptions: Start with verbs ("Add", "Fix", "Update")
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Agent Coordination with dex
Command Invocation
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"Core Principle: Tickets, Not Todos
Dex tasks are tickets - structured artifacts with comprehensive context:
- Name: One-line summary (issue title)
- Description: Full background, requirements, approach (issue body)
- Result: Implementation details, decisions, outcomes (PR description)
Think: "Would someone understand the what, why, and how from this task alone?"
Dex Tasks are Ephemeral
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.
When to Use dex
Use dex when:
- Breaking down complexity into subtasks
- Work spans multiple sessions
- Context needs to persist for handoffs
- Recording decisions for future reference
Skip dex when:
- Work is a single atomic action
- Everything fits in one session with no follow-up
- Overhead exceeds value
dex vs Built-in Task Tools
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.
Basic Workflow
Create a Task
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.
List and View Tasks
dex list # Pending tasks
dex list --ready # Unblocked tasks
dex show <id> # Full detailsComplete a Task
dex complete <id> --result "What was accomplished" --commit <sha>GitHub/Shortcut-linked tasks require either --commit <sha> or --no-commit:
- Use
--commit <sha>when you have code changes (issue closes when merged) - Use
--no-commitfor 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.
Edit and Delete
dex edit <id> --description "Updated description"
dex delete <id>For full CLI reference including blockers, see cli-reference.md.
Understanding Task Fields
Tasks have two text fields:
- Name: Brief one-line summary (shown in
dex list) - Description: Full details - requirements, approach, acceptance criteria (shown with
--full)
When you run dex show <id>, the description may be truncated. The CLI will hint at --full if there's more content.
Gathering Context
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 accomplishedBefore starting, verify you can answer:
- What needs to be done specifically?
- Why is this needed?
- How should it be implemented?
- When is it done (acceptance criteria)?
If any answer is unclear:
- Check parent task or completed blockers for more details
- Suggest entering plan mode to flesh out requirements before starting
Proceed without full context when:
- Task is trivial/atomic (e.g., "Add .gitignore entry")
- Conversation already provides the missing context
- Description itself is sufficiently detailed
Task Hierarchies
Three levels: Epic (large initiative) → Task (significant work) → Subtask (atomic step).
Choosing the right level:
- Small feature (1-2 files) → Single task
- Medium feature (3-7 steps) → Task with subtasks
- Large initiative (5+ tasks) → Epic with tasks
# Create subtask under parent
dex create --parent <id> "Subtask name" --description "..."For detailed hierarchy guidance, see hierarchies.md.
Recording Results
Complete tasks immediately after implementing AND verifying:
- Capture decisions while fresh
- Note deviations from plan
- Document verification performed
- Create follow-up tasks for tech debt
Your result must include explicit verification evidence. Don't just describe what you did—prove it works. See verification.md.
Commit Messages with GitHub Issues
When a task is linked to a GitHub issue (shown in dex show output), include issue references in commit messages:
- Root tasks (the task itself has GitHub metadata): Use
Fixes #N- This closes the issue when merged
- Subtasks (parent/ancestor has GitHub metadata): Use
Refs #N- This links to the issue without closing it
Check dex show <id> for GitHub issue info before committing. The "(via parent)" indicator means use Refs, direct metadata means use Fixes.
Best Practices
- Right-size tasks: Completable in one focused session
- Clear completion criteria: Description should define "done"
- Don't over-decompose: 3-7 children per parent
- Action-oriented descriptions: Start with verbs ("Add", "Fix", "Update")
- Verify before completing: Tests passing, manual testing done
Additional Resources
- cli-reference.md - Full CLI documentation
- examples.md - Good/bad context and result examples
- verification.md - Verification checklist and process
- hierarchies.md - Epic/task/subtask organization
In this repository9 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- djls-changelogSkill
- djls-domain-conventionsSkill
- djls-resolver-corpusSkill
- djls-ruff-astSkill
- djls-salsaSkill
- djls-testingSkill
- djls-workspace-conventionsSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

