Open source collaboration assistant — skills + MCP tools
npx claudepluginhub darkingtail/contribbotOpen source collaboration skills — daily sync, task management, upstream triage, project onboarding
/kənˈtrɪbɒt/ — contrib + bot, the "b" in "contrib" merges with "bot"
中文 | English
Open source collaboration assistant. Helps developers efficiently maintain and contribute to open source projects.
MCP tools + skills — todo management, upstream tracking, issue/PR workflows, multi-project oversight.
gh) — authenticated (gh auth login)# Step 1: Add marketplace (first time only)
claude plugin marketplace add https://github.com/darkingtail/contribbot
# Step 2: Install
claude plugin install contribbot
This installs skills + MCP server (contribbot-mcp). Skills provide guided workflows, MCP server provides the tools.
contribbot's MCP server works with any MCP-compatible tool. See Other Platforms Setup for Claude Desktop, Gemini CLI, Codex CLI, Cursor, Windsurf, etc.
Most AI coding tools can read GitHub issues and create PRs. contribbot goes further — it tracks what you're working on, what changed upstream, and who's doing what across multi-maintainer repos.
| gh CLI | contribbot | |
|---|---|---|
| Read issues/PRs | ✅ | ✅ |
| Create issues/PRs | ✅ | ✅ + auto-link to local todos |
| Track personal tasks | ❌ | ✅ todo lifecycle with implementation records |
| Track upstream changes | ❌ | ✅ commit-level tracking with triage |
| Multi-maintainer coordination | ❌ | ✅ claim work items, comment to GitHub |
| Fork alignment | ❌ | ✅ sync fork + cherry-pick decisions |
| Cross-stack tracking | ❌ | ✅ track React → Vue feature parity |
| Project knowledge | ❌ | ✅ persistent knowledge per repo |
Skills are guided workflows that orchestrate MCP tools. In Claude Code, trigger them by name or natural language.
| Skill | Description |
|---|---|
contribbot:project-onboard | New project setup — detect fork/upstream, init config, first sync |
contribbot:daily-sync | Daily check — sync fork, fetch upstream commits, skip noise, triage |
contribbot:start-task | Start working — pick todo, activate, LLM generates implementation plan |
contribbot:todo | Todo lifecycle — add, activate, claim, update, done, archive, compact |
contribbot:issue | Issue management — list, detail, create, close, comment |
contribbot:pr | PR management — list, summary, create, update, review, reply |
contribbot:pre-submit | Pre-merge check — PR review, CI status, security alerts |
contribbot:weekly-review | Weekly retrospective — contribution stats, progress, cleanup |
contribbot:fork-triage | Fork cherry-pick decisions for downstream consumers |
contribbot:dashboard | Project overview — single or cross-project |
contribbot auto-detects your project's relationship with upstream repos and adapts its workflow accordingly.
| Mode | Condition | What It Enables |
|---|---|---|
| none | No fork, no upstream | Issue/PR/todo management |
| fork | Has fork source | Fork sync + cherry-pick decisions |
| upstream | Has external upstream | Cross-stack commit tracking |
| fork+upstream | Both | Fork sync + cross-stack tracking |
Run /contribbot:project-onboard to auto-detect and configure.
When you work on darkingtail/plane (a fork of makeplane/plane), contribbot stores data under ~/.contribbot/makeplane/plane/ — the parent repo path.
Why: multiple people may fork the same repo. Storing under the parent ensures everyone's local data aligns to the same canonical repo, and sync_fork / upstream_daily always know which repo is the source of truth.
Your fork is recorded in config.yaml as the fork field:
# ~/.contribbot/makeplane/plane/config.yaml
role: admin
org: null
fork: darkingtail/plane # your fork
upstream: null