basecamp — Claude Code skill: drive Basecamp from the CLI
Gives the agent a set of rules for the Basecamp CLI: projects, todos, cards, messages, files, schedules, notifications. Useful when the team's work sits in Basecamp and you want it handled in chat.
npx skills add basecamp/skills --skill basecamp -a claude-codeWhat basecamp does
The skill tells the agent to look up the command before running it. It first guesses the deepest likely leaf, then inspects basecamp <group> <subcommand> --agent --help. If that leaf does not exist, the parent group comes next, and root help is the last resort because it dumps the whole catalog and costs tokens. Whatever the leaf help says about usage, args and flags wins over memory of older versions.
Output mode is a deliberate choice: --jq to extract or count, --json for the full response, --agent for data without the envelope, --md for listings a person reads. Filtering goes through the built-in --jq, never an external one. A Basecamp link is parsed with basecamp url parse "<url>" --json before its IDs are used, and only hosts you recognise count as trusted. Replies are flat: a comment answer goes to the parent recording, with reply_target taken from comments show or comments thread when the thread context matters.
You need the Basecamp CLI installed and signed in. The skill bars the agent from opening or logging ~/.config/basecamp/credentials.json, and project context comes from .basecamp/config.json unless you pass --in <project>. Agent runs should be non-interactive: an ambiguous picker will stall the work, so set BASECAMP_NONINTERACTIVE=1 or add enough scope to remove the ambiguity.
What it helps with
- pull your own todos and flag the overdue ones
- find a project and its recordings by name
- move a card or close a todo without opening the web UI
- download an attachment from a thread and read it
- post a reply under the right parent recording
Example prompts for the agent
- List my Basecamp todos and show the overdue ones separately
- Grab the file from the latest message in the project and summarise it
- Reply in the thread at
https://3.basecamp.com/123/buckets/456/todos/789
How to install basecamp
1Skills CLI (Vercel)
npx skills add basecamp/skills --skill basecamp -a claude-code2Manually: put the files in place
~/.claude/skills/basecamp/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/basecamp/
1Skills CLI (Vercel)
npx skills add basecamp/skills --skill basecamp -a codex2Manually: put the files in place
.agents/skills/basecamp/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add basecamp/skills --skill basecamp -a cursor2Manually: put the files in place
.cursor/skills/basecamp/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install basecamp/skills basecamp2Manually: put the files in place
.github/skills/basecamp/SKILL.md1Skills CLI (Vercel)
npx skills add basecamp/skills --skill basecamp -a gemini-cli2Platform CLI
gemini skills install https://github.com/basecamp/skills --path skills/basecampManually: put the files in place
.devin/skills/basecamp/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add basecamp/skills --skill basecamp -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about basecamp
How do I install basecamp in Claude Code?
Run npx skills add basecamp/skills --skill basecamp -a claude-code. The skill lands at ~/.claude/skills/basecamp/SKILL.md.
What does the basecamp skill do?
It sets the operating rules for driving the Basecamp CLI: command discovery through help, picking an output mode, and handling URLs, project scope and comment replies.
What do I need before using it?
The Basecamp CLI, installed and authenticated. The skill forbids reading or logging the credentials file at ~/.config/basecamp/credentials.json.