From todo-sync
Automatically syncs todos and plans from ~/.claude/ to the current project. Use this skill when asking about todo sync behavior, troubleshooting sync issues, or understanding where todos are stored.
npx claudepluginhub nsheaps/ai-mktpl --plugin todo-syncThis skill uses the workspace's default tool permissions.
This plugin automatically synchronizes your todos and plans from the global Claude directory (`~/.claude/`) to your current project's `.claude/` directory.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Designs, implements, and audits WCAG 2.2 AA accessible UIs for Web (ARIA/HTML5), iOS (SwiftUI traits), and Android (Compose semantics). Audits code for compliance gaps.
This plugin automatically synchronizes your todos and plans from the global Claude directory (~/.claude/) to your current project's .claude/ directory.
The plugin uses a PostToolUse hook that triggers after every TodoWrite tool call:
~/.claude/todos/.claude/todos/ in your project~/.claude/plans/ to .claude/plans/~/.claude/todos/{session-id}.json~/.claude/plans/{plan-name}.md.claude/todos/{session-id}.json.claude/plans/{plan-name}.mdTodos: When both source and destination files exist, todos are merged by deduplicating on the content field. This prevents duplicate todo entries.
Plans: Plans are copied if the source is newer than the destination or if the destination doesn't exist.
~/.claude/todos/ contains files for your session/plugins command outputclaude --debugThe script creates directories automatically. If you see permission errors:
.claude/ isn't gitignored with restrictive permissionsFiles containing only [] (empty arrays) are skipped during sync to avoid cluttering the project.
The plugin automatically adds patterns to ~/.config/git/ignore (the global gitignore) for .claude/todos/ and .claude/plans/ directories. This prevents synced files from being committed in any project by default.
If you want to track todos in version control for a specific project, add explicit !.claude/todos/ pattern to that project's .gitignore.
The sync happens automatically on TodoWrite. If you need to manually trigger it, simply update your todos:
TodoWrite: [your todos here]
The hook will fire and sync will occur.