plugins/todo-sync/skills/todo-sync/SKILL.md
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 skillsauth add nsheaps/ai-mktpl Todo SyncInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
tools
Reference material for Claude Code internals — the on-disk layout under ~/.claude and project-scope .claude, the plugin cache, session-env propagation, and the full hook lifecycle. Auto-recall when working on Claude-Code-related tasks: writing or debugging hooks, authoring plugins, inspecting session state, troubleshooting why an env var is or isn't visible to a Bash tool call, or when paths under ~/.claude or ~/.claude/plugins/ come up.
development
Manage GitHub App installation tokens in Claude Code sessions. Use when tokens expire, auth errors occur in long-running sessions, or when setting up GitHub App credentials for agent teams. <example>my github token expired</example> <example>refresh the github app token</example> <example>check token status</example> <example>set up github app authentication for this session</example>
tools
Auto-detect project formatting tools and configure edit-utils settings
tools
Use this skill when the user asks about 1Password, secrets management, retrieving credentials, using op CLI, service accounts, secret references, vault operations, or any task involving the 1Password CLI (op). Also use when needing to inject secrets into environment variables, read passwords or API keys from 1Password, or manage 1Password items from the command line.