# basecamp

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.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2300 installs · ★ 84
- Author: basecamp
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/basecamp/skills/tree/HEAD/skills/basecamp/SKILL.md
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/skills/basecamp

## What it 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.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add basecamp/skills --skill basecamp -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/basecamp/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/basecamp/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add basecamp/skills --skill basecamp -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/basecamp/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add basecamp/skills --skill basecamp -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/basecamp/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install basecamp/skills basecamp
```

2. **Manually: put the files in place**
- File: `.github/skills/basecamp/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add basecamp/skills --skill basecamp -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/basecamp/skills --path skills/basecamp
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/basecamp/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add basecamp/skills --skill basecamp -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/basecamp/skills/tree/HEAD/skills/basecamp/SKILL.md

## When to use it
- 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
- 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`

## Similar
- [find-skills](https://affpapa.org/en/nevibecode/skills/find-skills.md) — skill · 4000000 installs
- [grill-me](https://affpapa.org/en/nevibecode/skills/grill-me.md) — skill · 1424476 installs
- [grill-with-docs](https://affpapa.org/en/nevibecode/skills/grill-with-docs.md) — skill · 1219756 installs
- [handoff](https://affpapa.org/en/nevibecode/skills/handoff.md) — skill · 1038491 installs
- [grilling](https://affpapa.org/en/nevibecode/skills/grilling.md) — skill · 979543 installs
- [teach](https://affpapa.org/en/nevibecode/skills/teach.md) — skill · 862247 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
