Task tracking for Agents

Persistent memory for complex, multi-session work

> Use Dex. Work on the next logical task. When done, run code-simplifier and commit.

Quick Start

Install dex for Claude Code, OpenCode, Codex, or Cursor:

Terminal
$ npx skills dcramer/dex

Then use /dex to manage tasks. See the install guide for other installation methods.

Works Great with Your Favorite Agent

You say:

"Migrate our API from Express to Hono. Use dex to track it."

Terminal
$ dex create -d "Migrate auth middleware" --context "Current auth
uses passport.js with JWT strategy in src/middleware/auth.ts.
Hono equivalent is hono/jwt. Must preserve req.user pattern
that 12 route handlers depend on."
Created task p7n4j9q2
[ ] p7n4j9q2: Migrate auth middleware

Context:
  Current auth uses passport.js with JWT strategy in
  src/middleware/auth.ts. Hono equivalent is hono/jwt. Must
  preserve req.user pattern that 12 route handlers depend on.
Next session:

"Continue working on the Hono migration."

Terminal
$ dex list
[ ] p7n4j9q2: Migrate auth middleware
[ ] w5t2v8b3 [B: p7n4j9q2]: Migrate route handlers to Hono

$ dex show p7n4j9q2
[ ] p7n4j9q2: Migrate auth middleware

Context:
  Current auth uses passport.js with JWT strategy in
  src/middleware/auth.ts. Hono equivalent is hono/jwt. Must
  preserve req.user pattern that 12 route handlers depend on.
From a plan:

"/dex-plan" after finishing plan mode

Terminal
$ dex plan ~/.claude/plans/auth-system.md
Created task k9m3x7p1
[ ] k9m3x7p1: Add JWT Authentication

Context:
  ## Summary
  Add JWT-based authentication to the API...

Analyzed plan structure: Found 4 implementation steps
Created 4 subtasks:
   a2b4c6d8: Create User model with password hashing
   e1f3g5h7: Add /auth/register endpoint
   i8j6k4l2: Add /auth/login endpoint
   m9n7o5p3: Create JWT middleware
Debugging:

"Investigate why auto-sync with GitHub isn't working. Use Dex to track the fix."

Terminal
$ dex create -d "Fix auto-sync not loading project config" --context "In
src/index.ts, createSyncService() calls loadConfig() without the
storage path. Project config (.dex/config.toml) is never loaded.

Fix: Pass storage.getIdentifier() to loadConfig() after creating
the storage engine.

Evidence: sync.ts correctly uses loadConfig(storage.getIdentifier())
but index.ts uses loadConfig() with no argument."
Created task c3ffne86
[ ] c3ffne86: Fix auto-sync not loading project config

Context:
  In src/index.ts, createSyncService() calls loadConfig() without
  the storage path. Project config (.dex/config.toml) is never...