You're helping with a system that uses **jj commits as a visual, version-controlled todo list** instead of the traditional TodoWrite tool.
Converts TodoWrite tasks into version-controlled jj commits with status prefixes.
/plugin marketplace add edmundmiller/dotfiles/plugin install jj@dotfiles-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
You're helping with a system that uses jj commits as a visual, version-controlled todo list instead of the traditional TodoWrite tool.
The jj commit graph IS your todo list. Each task is a commit with a status indicator:
[TODO] = Pending task (empty commit, not started)[WIP] = Work in progress (current @ working commit with changes)When you use the TodoWrite tool, a PostToolUse hook automatically:
You don't need to do anything special - just use TodoWrite as normal, and the jj commits are created automatically!
Users can also manage todos directly with jj commands:
View todos:
/jj-todo:status # Show the todo stack
jj log -r '::@' # Standard jj log view
Navigate todos:
/jj-todo:next # Move to next pending task
jj edit <change-id> # Switch to any task manually
Complete tasks:
/jj-todo:done # Mark current as done, move to next
Create todo stack:
/jj-todo:create Task 1 | Task 2 | Task 3
You use TodoWrite like normal, and todos automatically become jj commits:
1. You call TodoWrite with tasks
2. Hook creates [TODO] commits in stack
3. You mark a task as in_progress
4. Hook updates that commit to [WIP]
5. You complete work and mark completed
6. Hook removes prefix (making it a regular commit)
The user can view progress with jj log at any time!
Users can bypass TodoWrite entirely:
# Create todo stack
/jj-todo:create Implement auth | Add tests | Update docs
# Work on first task
# (already on it, marked as [WIP])
# ... make changes ...
# Complete and move to next
/jj-todo:done
# Continue working...
Mix TodoWrite (for planning) with jj commands (for navigation):
1. Use TodoWrite to create task list
2. User runs /jj-todo:status to see graph
3. User runs /jj-todo:next to switch tasks
4. You update TodoWrite to mark completed
Visual Todo List:
jj log shows your todos as a commit graphVersion Controlled:
jj op logjj undoIntegrated Workflow:
No Context Switching:
Use TodoWrite + Auto-Sync when:
Use Pure JJ Commands when:
Use Hybrid when:
[TODO] and [WIP] commits can be empty - they're placeholders for planned work. When work is done, the prefix is removed and the commit contains actual changes.
Todos are organized as a stack (linear history):
@ [WIP] Current task
│
○ [TODO] Next task
│
○ [TODO] Future task
│
○ Completed task with changes
This complements, doesn't replace, jj's commit workflow:
jj describe for commit messagesjj squash to combine commitsjj split to separate concernsWhen done with all todos, you can:
jj describe to write final commit messagesEverything is undoable:
jj undo # Undo last todo operation
jj op log # See all todo changes
jj op restore @- # Restore previous state
When discussing todos, you can mention both perspectives:
"I've updated the todo list - you can see the tasks in the jj commit graph with /jj-todo:status or jj log -r '::@'"
"Task completed! Use /jj-todo:done to move to the next task, or I can update the todo list."
User: "Add authentication to the app"
Claude: "I'll break this down into tasks:"
*Uses TodoWrite to create:*
1. Design auth flow
2. Implement login endpoint
3. Add JWT validation
4. Write tests
*Hook automatically creates:*
@ [WIP] Design auth flow
│
○ [TODO] Implement login endpoint
│
○ [TODO] Add JWT validation
│
○ [TODO] Write tests
Claude: "I've created a task stack. You can view it with `/jj-todo:status`"
User: "/jj-todo:create Fix bug | Add feature | Refactor"
Claude: *Executes commands, creates stack*
Created 3 tasks:
• Fix bug (in progress)
• Add feature (pending)
• Refactor (pending)
View stack: jj log -r '::@'
User: *works on bug fix*
User: "/jj-todo:done"
Claude: *Marks bug as done, moves to next task*
✅ Completed: Fix bug
🚀 Now working on: Add feature
The jj-todo system gives you two ways to manage todos:
/jj-todo:* commands directlyBoth approaches maintain the same commit structure, so users can switch between them freely. The key insight is: the jj commit graph becomes a visual, version-controlled todo list.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.