todo-plus-plus

Enforce git commit and push checks before task completion in Claude Code sessions.

3|1|Updated Dec 3, 2025
One-click install
npx skills add https://github.com/nsheaps/ai-mktpl --skill todo-plus-plus
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: todo-plus-plus
Source: https://github.com/nsheaps/ai-mktpl/tree/main/plugins/todo-plus-plus/skills/todo-plus-plus
Command: npx skills add https://github.com/nsheaps/ai-mktpl --skill todo-plus-plus

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Prevents tasks from being marked complete when there are uncommitted or unpushed changes in a repository, avoiding lost work in ephemeral Claude Code sessions and sub-agent workflows.

Core Features & Use Cases

  • Commit-on-Complete Enforcement: Blocks TaskCompleted events until staged/unstaged/untracked changes are committed and local commits are pushed.
  • Unpushed Commit Detection: Checks for local commits that haven't been pushed to the remote and requires push before completion.
  • Ephemeral Session Awareness: Injects reminders at SessionStart that tasks are local-session only and recommends using external trackers for persistent task management.
  • Use Case: Prevents teammates or agents from accidentally discarding work by ensuring commits and pushes before tasks are finalized.

Quick Start

Use the todo-plus-plus plugin when completing a task to enforce commit and push before marking it complete.

Frequently Asked Questions about todo-plus-plus

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent lost work from uncommitted changes in ephemeral Claude Code sessions?

To prevent lost work in ephemeral Claude Code sessions, enforce a commit-on-complete workflow that blocks task completion until all staged, unstaged, and untracked files are committed and local commits are pushed to the remote repository.

Does Claude Code automatically block TaskCompleted events if there are unpushed git commits?

Claude Code can block TaskCompleted events for unpushed git commits by applying a task lifecycle hook that verifies local commits are pushed to the remote before allowing the task state to finalize.

How do I enforce a git push requirement before a sub-agent finalizes a task?

Enforce a git push requirement before task finalization by injecting a check that intercepts task lifecycle events, detecting pending local commits and preventing completion until those commits are successfully pushed.

Can I skip commit and push enforcement for non-git repositories in Claude Code?

Yes, you can skip commit and push enforcement for non-git repositories by applying checks that automatically detect the absence of a git repository and bypass the uncommitted and unpushed change validations.

How do ephemeral sessions handle persistent task management when work is local only?

Ephemeral sessions handle local-only task management by injecting SessionStart reminders that warn users tasks are local-session only, recommending external trackers to maintain persistent task management across sessions.