/ Directory / Playground / CCPM (Claude Code Project Mgmt)
● Community automazeio ⚡ Instant

CCPM (Claude Code Project Mgmt)

by automazeio · automazeio/ccpm

Use GitHub Issues + Git worktrees as your project management layer for Claude Code — every issue becomes a branch, every agent works isolated, no cross-contamination.

CCPM (Claude Code Project Management) treats GitHub Issues as the unit of work for AI coding agents. Each issue gets its own Git worktree (branch + isolated checkout), so multiple Claude sessions can work in parallel without stepping on each other. The skill provides commands to create issues from prompts, claim them, ship them as PRs, and clean up. Built for solo devs who run several Claude tabs at once.

Why use it

Key features

Live Demo

What it looks like in practice

ready

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "ccpm-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/automazeio/ccpm",
        "~/.claude/skills/ccpm"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "ccpm-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/automazeio/ccpm",
        "~/.claude/skills/ccpm"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "ccpm-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/automazeio/ccpm",
        "~/.claude/skills/ccpm"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "ccpm-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/automazeio/ccpm",
        "~/.claude/skills/ccpm"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "ccpm-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/automazeio/ccpm",
        "~/.claude/skills/ccpm"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "ccpm-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/automazeio/ccpm",
          "~/.claude/skills/ccpm"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add ccpm-skill -- git clone https://github.com/automazeio/ccpm ~/.claude/skills/ccpm

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use CCPM (Claude Code Project Mgmt)

Run 3 Claude sessions on 3 different issues at once

👤 Solo founders, indie devs ⏱ ~60 min intermediate

When to use: You have 5 small issues; doing them sequentially is slow but switching branches breaks state.

Prerequisites
  • gh CLI authenticatedgh auth login — verify with gh repo view
  • Skill installed — git clone https://github.com/automazeio/ccpm ~/.claude/skills/ccpm
Flow
  1. Pick issues
    Use ccpm. List open issues; recommend 3 small ones I can do in parallel today.✓ Copied
    → 3 issues with rough estimate, no blockers between them
  2. Start them
    Start issue #42, #43, #45 each in its own worktree. Open 3 Claude Code sessions ready.✓ Copied
    → 3 worktrees created at ../wt-42 etc; each session knows which issue it owns
  3. Ship them
    (In each session) When done — /ship — push branch and open PR linked to the issue.✓ Copied
    → PR created, linked to issue, CI starts

Outcome: Three issues closed by EoD without branch-juggle pain.

Pitfalls
  • Issues touch overlapping files → merge conflicts — Skill warns when chosen issues have file overlap; pick non-overlapping for parallel
Combine with: github

Turn a casual idea into a properly scoped issue

👤 Anyone with idea overflow ⏱ ~5 min beginner

When to use: You keep typing 'oh and we should also...' into chat. Capture them as proper issues.

Flow
  1. Capture
    Use ccpm. I want to add JSON export to the dashboard. Create an issue with rationale, acceptance criteria, and a rough plan.✓ Copied
    → Well-formed issue created on GitHub
  2. Link
    Link to related issues if any.✓ Copied
    → Linkages added

Outcome: Ideas become issues you can actually triage later.

Pitfalls
  • Issues become too verbose — Skill enforces a 200-word ceiling for the body
Combine with: github

Abandon a started issue without leaving rotting branches

👤 Anyone who's tried something and reconsidered ⏱ ~2 min beginner

When to use: 30 minutes into an issue you realize the approach is wrong; want to bail cleanly.

Flow
  1. Abandon
    /abandon. Remove the worktree, delete the branch, close the issue with a comment explaining why.✓ Copied
    → Worktree gone, branch deleted, issue closed with explanation

Outcome: No orphan branches haunting the repo.

Pitfalls
  • You actually wanted to keep some of the work — Skill stashes a patch under /tmp/ccpm-stashes before deleting — recoverable for ~7 days
Combine with: github

Combinations

Pair with other MCPs for X10 leverage

ccpm-skill + github

Make sure CCPM and the GitHub MCP agree on issue state

Sync issue state after every /ship to ensure project boards reflect.✓ Copied
ccpm-skill + memorix-mcp

Carry context across the worktrees

When starting an issue, recall any memorix entries tagged with this issue's component.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
list filters Find work 0
start issue_number Begin work on an issue 0
ship issue_number? Done; ready to PR 0
abandon issue_number, reason Bail out cleanly 0

Cost & Limits

What this costs to run

API quota
Bound by GitHub API limits (5000/h auth)
Tokens per call
Light — most ops are git + gh CLI
Monetary
Free
Tip
Don't over-issue — skill encourages capturing thoughts but not every microthought

Security

Permissions, secrets, blast radius

Minimum scopes: repo (for issue + PR write)
Credential storage: Via gh auth
Data egress: GitHub API
Never grant: admin:org

Troubleshooting

Common errors and fixes

git worktree add fails: already used

A previous worktree still exists; clean with git worktree prune

Verify: `git worktree list`
gh PR create errors with 'no commits between'

Make at least one commit on the worktree branch before /ship

Two sessions claim the same issue

Skill writes a lockfile per issue — second start fails with a clear message

Alternatives

CCPM (Claude Code Project Mgmt) vs others

AlternativeWhen to use it insteadTradeoff
Linear MCPYou're on Linear, not GitHub IssuesCCPM is GitHub-only; Linear MCP is its own ecosystem
Plain `git worktree` + checklistYou only run 1 agent at a timeManual; CCPM automates the lifecycle

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills