project-tasks

Manages project tasks and plans through a SQLite-backed helper with agent-based execution and changelog generation.

1|Updated Feb 25, 2026
One-click install
npx skills add https://github.com/cjthompson/claude-code-config --skill project-tasks-cjthompson
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: project-tasks
Source: https://github.com/cjthompson/claude-code-config/tree/main/plugins/project-tasks/skills/project-tasks
Command: npx skills add https://github.com/cjthompson/claude-code-config --skill project-tasks-cjthompson

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? It turns ad-hoc chat messages like "task:" or "fix:" into a persistent, queryable task database, then executes those tasks through isolated background agents with validation, repair, and restart safeguards instead of losing track of work in conversation history. ## Core Features & Use Cases - Task capture and tracking: Log tasks, fixes, and todos with priorities, tags, requirements, and dependencies via the task-db helper, then list, check, complete, cancel, or reprioritize them. - Agent-based execution: Dispatch read-only Planning Scouts and write-capable Executors in isolated worktrees, with ownership tracking, snapshot validation, and a strict accept/validate/reject decision flow. - Plan management and changelogs: Group tasks under plan: epics, reconcile plan documents with tasks through a propose/apply loop, and auto-generate CHANGELOG.md entries from completed work. - Use Case: Say "fix: login button crashes on empty password" and the skill logs it as a high-priority fix, offers to run it immediately, dispatches a Scout and Executor in a worktree, validates the result, and commits only task-owned changes after your confirmation. ## Quick Start Tell the assistant "task: add dark mode toggle to settings page" and choose Run Now when prompted to have it logged, planned, executed, and validated.

Frequently Asked Questions about project-tasks

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

FAQPage Schema
How do I log and run a task from a chat message?

Prefix your message with "task:", "fix:", "todo:", "run task:", or "run fix:". The skill parses tags, requirements, priority, and dependencies, inserts the task via the task-db helper, and for run prefixes immediately starts the execution pipeline with a Planning Scout and Executor.

How does task execution with background agents work?

A read-only Planning Scout first produces an Implementation Map, then a write-capable Executor applies it in the recorded path or an isolated worktree. Workers never commit; after the Executor returns you choose Accept, Validate at Strong or Top tier, or Reject/Cancel.

Can I group tasks under a plan and keep them in sync?

Yes. Create a plan with "plan:" from a description or file, decompose it into anchored tasks, and use the propose/apply reconciliation loop when the plan document changes. Renamed, modified, added, and removed steps are classified and applied only after your approval.

What happens when task validation fails or a worker gets stuck?

Failed or interrupted workers leave the task in_progress with partial work preserved and an awaiting_decision state. You can re-validate, repair in place (up to two passes), restart with a fresh baseline after confirmation, or cancel with selective cleanup of task-owned paths only.

Does the skill ever run git reset, clean, or broad destructive commands?

No. Cleanup restores only proven task-owned paths to the recorded baseline and removes only task-created untracked files, always after explicit confirmation. Broad commands like git reset --hard, git clean, and git checkout . are explicitly forbidden.

How is the changelog generated from completed tasks?

The helper lists completed tasks not yet in the changelog, and the skill writes grouped Markdown entries by date with plan groups first, then Fixes, Tasks, and Todos. After writing, it marks those task sequences so they are not duplicated.