dex

작성자: sentry

dex CLI를 통해 작업을 관리합니다. 복잡한 작업을 분해하거나, 구현 항목을 추적하거나, 세션 간 컨텍스트를 유지할 때 사용합니다.

npx skills add https://github.com/getsentry/dotagents --skill dex

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.

dexBuilt-in Task Tools
PersistenceFiles in .dex/Session-only
ContextRich (description + context + result)Basic
Hierarchy3-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 details

Complete 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-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.

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 accomplished

Before 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:

  1. Check parent task or completed blockers for more details
  2. 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

  1. Right-size tasks: Completable in one focused session
  2. Clear completion criteria: Description should define "done"
  3. Don't over-decompose: 3-7 children per parent
  4. Action-oriented descriptions: Start with verbs ("Add", "Fix", "Update")
  5. Verify before completing: Tests passing, manual testing done

Additional Resources

sentry의 다른 스킬

generate-frontend-forms
sentry
Sentry의 새로운 폼 시스템을 사용하여 폼을 생성하는 가이드입니다. 폼, 폼 필드, 유효성 검사 또는 자동 저장 기능을 구현할 때 사용하세요.
official
sentry-snapshots-cocoa
sentry
Apple/Cocoa 프로젝트를 위한 전체 Sentry Snapshots 설정입니다. "SnapshotPreviews 설정", "Apple 스냅샷 테스트 설정", "Apple 스냅샷 업로드" 요청 시 사용하세요.
official
architecture-review
sentry
직원 수준의 코드베이스 건강 검토. 모놀리식 모듈, 무음 실패, 타입 안전성 격차, 테스트 커버리지 구멍, LLM 친화성 문제를 찾습니다.
official
linear-type-labeler
sentry
Linear 이슈를 분류하고, 각 이슈의 제목과 설명 내용을 기반으로 Sentry 워크스페이스의 레이블 분류 체계에서 Type 레이블을 적용합니다.
official
sentry-flutter-sdk
sentry
Flutter 및 Dart를 위한 완전한 Sentry SDK 설정입니다. "Flutter에 Sentry 추가", "sentry_flutter 설치", "Dart에서 Sentry 설정" 또는 오류 구성을 요청받았을 때 사용하세요.
official
sentry-svelte-sdk
sentry
Svelte 및 SvelteKit을 위한 완전한 Sentry SDK 설정입니다. "Svelte에 Sentry 추가", "SvelteKit에 Sentry 추가", "@sentry/sveltekit 설치" 또는 구성 요청 시 사용하세요.
official
vercel-react-best-practices
sentry
Vercel Engineering의 React 및 Next.js 성능 최적화 가이드라인입니다. 이 스킬은 React/Next.js 코드를 작성, 검토 또는 리팩토링할 때 사용해야 합니다.
official
sentry-tanstack-start-sdk
sentry
TanStack Start React용 전체 Sentry SDK 설정. "TanStack Start에 Sentry 추가", "@sentry/tanstackstart-react 설치" 또는 오류 구성 요청 시 사용…
official