원클릭으로
trekker
Persistent task memory for AI agents across sessions
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Persistent task memory for AI agents across sessions
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when user mentions issue, bug, task, ticket, feature, backlog, tracking, or work items. Suggests using Trekker for tracking.
Use Trekker to plan and track multi-step tasks BEFORE starting implementation.
Synchronize Trekker with Claude's built-in TodoWrite. Trekker is the source of truth.
| name | trekker |
| description | Persistent task memory for AI agents across sessions |
CRITICAL: Trekker is your PRIMARY task tracker. It MUST be prioritized over Claude's built-in TodoWrite.
Trekker provides persistent task memory across sessions. Unlike TodoWrite which is conversation-scoped, trekker stores tasks in a SQLite database that survives context resets.
Run trekker quickstart for the complete command reference and workflow guide.
Trekker = Source of Truth (survives context resets)
TodoWrite = Secondary mirror (conversation-scoped only)
ALWAYS:
trekker search to gather contextYou MUST search before ANY action. This is non-negotiable.
IMPORTANT: FTS5 is NOT semantic search. Use single keywords, not phrases:
# Use single, specific keywords (NOT phrases or sentences)
trekker search "authentication"
# Try related keywords separately for broader coverage
trekker search "login"
trekker search "password"
# Filter by type
trekker search "deployment" --type task
# Filter by status
trekker search "memory" --status todo,in_progress
Why search is mandatory:
When to search:
| Before... | Search for... |
|---|---|
| Creating a task | trekker search "<keyword>" (most distinctive word) |
| Starting work | trekker search "<area>" |
| Investigating bugs | trekker search "<symptom>" |
| Implementing features | trekker search "<feature>" |
| Making decisions | trekker search "<topic>" |
| Aspect | Trekker (PRIMARY) | TodoWrite (SECONDARY) |
|---|---|---|
| Persistence | SQLite - survives resets | Gone after conversation |
| Searchable | Yes - FTS5 full-text search | No |
| Dependencies | Yes - task relationships | Limited |
| History | Yes - full audit trail | No |
| Priority | ALWAYS USE FIRST | Mirror only |
Rule: Trekker is the source of truth. TodoWrite is a convenience mirror for the current session.
Skills (invoke via Skill tool): /trekker:start, /trekker:blocked, /trekker:done
CLI commands (run in terminal): trekker task update <id> -s in_progress
| WRONG | RIGHT |
|---|---|
trekker start | trekker task update <id> -s in_progress |
trekker blocked | trekker task update <id> -s blocked |
trekker done | trekker task update <id> -s completed |
Never mix them: /trekker:start is a skill workflow, trekker is the CLI binary.
trekker search before ANY actiontrekker history, trekker comment list, trekker task show to understand statein_progress before starting work on any taskcompletedin_progress at a time - complete current work first--toon flag for programmatic output to save tokenstrekker task show <id> firstarchived statusBEFORE CREATING - You MUST:
trekker search "<keywords>" to check for existing/related issuesCREATE when:
DO NOT CREATE when:
Run ALL these commands at session start. Do not proceed without understanding context:
# 1. SEARCH for what you're about to work on
trekker search "<topic/area of work>"
# 2. What's currently being worked on?
trekker --toon task list --status in_progress
# 3. What changed recently? (audit trail)
trekker history --limit 10
# 4. Find unblocked tasks ready to work on
trekker ready
# 5. Get context from comments on active tasks
trekker comment list <task-id>
Why context recovery is mandatory:
STOP. Before doing anything, search for related work:
# Use single keywords - FTS5 is not semantic, multi-word = AND logic
trekker search "authentication"
trekker search "login"
# Check completed tasks for solutions
trekker --toon task list --status completed
# Check archived tasks too
trekker --toon task list --status archived
Why search is mandatory:
# Start a task
trekker task update <task-id> -s in_progress
# Document progress
trekker comment add <task-id> -a "claude" -c "Progress: ..."
# Complete with summary
trekker comment add <task-id> -a "claude" -c "Summary: ..."
trekker task update <task-id> -s completed
# ALWAYS show next ready tasks after completing
trekker ready
trekker comment add <task-id> -a "claude" -c "Checkpoint: done X. Next: Y. Files: a.ts, b.ts"
When all tasks in an epic are done, use epic complete to archive everything at once:
# Complete epic and archive all its tasks/subtasks
trekker epic complete <epic-id>
Why this matters:
When to use:
| Command | Purpose |
|---|---|
trekker task create -t "Title" | Create task |
trekker task list [--status X] | List tasks |
trekker task show <id> | Show details |
trekker task update <id> -s <status> | Update status |
trekker comment add <id> -a "claude" -c "..." | Add comment |
trekker dep add <id> <depends-on> | Add dependency |
trekker ready | Show unblocked tasks ready to work on |
trekker search "<query>" | Full-text search |
trekker history [--entity <id>] | View audit log of changes |
trekker list [--type X] [--sort Y] | Unified view with filters |
trekker epic complete <epic-id> | Complete epic & archive all tasks |
Need more details? Run trekker quickstart for full command syntax and examples.
Use trekker history to understand what happened in past sessions:
# Recent changes across all entities
trekker history --limit 20
# Changes to a specific task
trekker history --entity TREK-1
# Only task updates (filter by type)
trekker history --type task --action update
# Changes since a specific date
trekker history --since 2025-01-15 --limit 30
# Filter by action type
trekker history --action create,update --limit 15
When to use history:
Use trekker list for unified views across epics, tasks, and subtasks:
# All active items, prioritized
trekker list --status todo,in_progress --sort priority:asc
# Critical and high priority work
trekker list --priority 0,1 --sort priority:asc
# Only tasks (no epics/subtasks)
trekker list --type task --status todo
# Sort by creation date (newest first)
trekker list --sort created:desc --limit 20
# Alphabetical by title
trekker list --sort title:asc
Pro tip: Combine filters for focused views:
trekker list --type task --status in_progress --priority 0,1,2
Tasks: todo, in_progress, completed, wont_fix, archived
0=critical, 1=high, 2=medium (default), 3=low, 4=backlog, 5=someday
Future sessions depend entirely on what you write. Low-quality tasks waste time.
| BAD (vague) | GOOD (actionable) |
|---|---|
| "Fix bug" | "Fix null pointer in UserService.getById when user not found" |
| "Add feature" | "Add email validation to registration form with RFC 5322 regex" |
| "Update code" | "Refactor PaymentProcessor to use strategy pattern for providers" |
| "Work on auth" | "Implement JWT refresh token rotation with 7-day expiry" |
Every task MUST have a description (-d flag) that answers:
# BAD
trekker task create -t "Fix login"
# GOOD
trekker task create -t "Fix login failure when password contains special chars" \
-d "Users with & or < in passwords get 500 error. Issue in auth/validator.ts line 42. Need to escape before SQL query."
| BAD | GOOD |
|---|---|
| "Working on it" | "Progress: Added input sanitization to validator.ts. Testing edge cases next." |
| "Done" | "Summary: Fixed by escaping special chars in sanitizePassword(). Added tests in validator.test.ts. Verified with manual testing." |
| "Stuck" | "Blocked: Need DB admin access to verify fix in staging. Contacted @ops in Slack." |
Trekker uses SQLite with Write-Ahead Logging (WAL) for concurrent access.
Best practices:
trekker task show <id>