basecamp-connect
Drive your own Claude Code session from Basecamp: run the local connector, acknowledge trusted requests, and delegate work to…
Interact with Basecamp through the Basecamp CLI. Use for any Basecamp question or action, including projects, todos, cards, messages, files, schedules, check-ins, people, assignments, notifications, search, and account settings.
Claude Code
$ npx -y skills add basecamp/basecamp-cli --skill basecamp --agent claude-code
Codex
$ npx skills add basecamp/basecamp-cli --skill basecamp -a codex -y
Cursor
$ npx skills add basecamp/basecamp-cli --skill basecamp -a cursor -y
Gemini CLI
$ npx skills add basecamp/basecamp-cli --skill basecamp -a gemini-cli -y
GitHub Copilot
$ npx skills add basecamp/basecamp-cli --skill basecamp -a github-copilot -y
OpenCode
$ npx skills add basecamp/basecamp-cli --skill basecamp -a opencode -y
Windsurf
$ npx skills add basecamp/basecamp-cli --skill basecamp -a windsurf -y
name: basecamp description: | Interact with Basecamp through the Basecamp CLI. Use for any Basecamp question or action, including projects, todos, cards, messages, files, schedules, check-ins, people, assignments, notifications, search, and account settings. triggers: - basecamp - /basecamp - basecamp todos - basecamp subtasks - basecamp project - project wallpaper - project logo - basecamp cards - basecamp chat - basecamp campfire - basecamp ping - basecamp pings - basecamp messages - basecamp file - basecamp document - basecamp bookmarks - basecamp bubble-up - basecamp spotlight - basecamp drafts - basecamp notes - basecamp calendars - basecamp schedule - basecamp checkin - basecamp check-in - basecamp timeline - basecamp timesheet - log time - basecamp template - basecamp webhook - external link - basecamp gauge - basecamp hill chart - hill chart progress - update the hill chart - basecamp assignment - basecamp notification - basecamp account - link to basecamp - track in basecamp - post to basecamp - comment on basecamp - complete todo - mark done - create todo - move card - move to another project - copy to another project - copy todo - copy card - download file - search basecamp - find in basecamp - look up basecamp - check basecamp - list basecamp - show basecamp - get from basecamp - fetch from basecamp - can I basecamp - how do I basecamp - what's in basecamp - what basecamp - does basecamp - my todos - my tasks - my schedule - my basecamp - assigned to me - my assignments - my notifications - overdue todos - upcoming events - project gauge - project progress - 3.basecamp.com - basecampapi.com - https://3.basecamp.com/ invocable: true argument-hint: "[action] [args...]"
The installed CLI is the command reference. This skill sets the operating rules and does not duplicate its catalog.
For each task:
1. Infer the deepest plausible leaf command from the user's words. 2. If its exact arguments or flags are not already established by a tool result in this conversation, inspect that leaf directly:
basecamp <group> <subcommand> --agent --help
3. If the leaf does not exist, inspect its nearest parent group. Use root help only when the top-level group itself is unclear:
basecamp <group> --agent --help # fallback basecamp --agent --help # last resort
4. Treat leaf `usage`, `args`, `flags`, and `notes` as the source of truth. Do not guess positional arguments, flags, aliases, scope, or whether a group runs bare. 5. Execute with an explicit output mode, then read structured errors and breadcrumbs before deciding what to do next.
Leaf help is cheap and local; root help returns the full catalog and costs many tokens. Do not load it to confirm global flags this skill documents. For obvious Docs & Files requests, route straight to `files list`, `files download`, or `files uploads create` before trying parent or root help. A subcommand's `inherited_flags` is intentionally short; global flags such as `--agent`, `--jq`, `--profile`, and `--verbose` still apply where supported.
not open `~/.config/basecamp/credentials.json`.
`basecamp url parse "<url>" --json`. Only trust URLs from a known Basecamp host. Read-only commands whose leaf help explicitly accepts `<id|url>` may consume the trusted URL directly.
comment ID. For a comment URL, use `comments show` or `comments thread` to get `reply_target` when context matters.
`basecamp config show --json`: its `project_id` is the effective value across flags, env and every config layer, with its source. Do not read `.basecamp/config.json` directly; it is only one layer. With no `project_id`, pass `--in <project>` or the scope shown by leaf help.
block execution.
them; images often hold the task's context.
since the old ID stops taking writes. A copy prints its own ID. Never repeat a copy: Basecamp files it in the background, so a copy that is still running or lost its answer may already exist. Check with `basecamp filings show <id>` or the hint it printed.
versions.
prints.
Choose deliberately:
| Goal | Mode | |---|---| | Extract, count, or transform data | `--jq '<expression>'` | | Consume full structured response | `--json` | | Consume data without an envelope | `--agent` | | Present portable output directly to a person | `--md` |
`--jq` implies JSON and filters the envelope, so data is usually under `.data`. With `--agent --jq`, it filters the data-only payload. Use `--md` for human-facing listings, but remember that `--md` alone does not suppress interactive prompts. Add enough scope to remove ambiguity or set `BASECAMP_NONINTERACTIVE=1`.
Examples of generic transformations, not command discovery:
basecamp <leaf-command> --jq '.data | length'
basecamp <leaf-command> --jq '[.data[] | {id, name}]'Do not infer project or account scope from a command's noun; inspect leaf help and its notes. Use the user's e
basecamp is the official command-line interface for Basecamp. Manage projects, todos, messages, and more from your terminal or through AI agents.
Drive your own Claude Code session from Basecamp: run the local connector, acknowledge trusted requests, and delegate work to…
Diagnose Basecamp CLI, authentication, and agent-plugin health.
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…