I want you to install Agent Skills for 37signals products for me. Execute all steps autonomously.
OBJECTIVE: Install the agent skills for the 37signals products you use — Basecamp, HEY, Fizzy, any or all — plus the CLI behind each, so your agent can work in those products.
DONE WHEN: every product you chose in the TODO reports signed in (<cli> auth status --json | grep -q '"authenticated": true' succeeds for each of basecamp, hey, fizzy that you chose — at least one, and only those; a CLI on this machine for a product you did not choose is left alone) and npx skills list shows the skills from this repo.
- Install Basecamp CLI (only if you use Basecamp)
- Authenticate with Basecamp (only if you use Basecamp)
- Install and sign in to HEY CLI (only if you use HEY)
- Install and sign in to Fizzy CLI (only if you use Fizzy)
- Install skills
Only if you use Basecamp; otherwise mark this TODO done and continue. The basecamp skills need the Basecamp CLI. Skip the install if basecamp --version already succeeds. See the Basecamp CLI install guide for other install methods.
curl -fsSL https://basecamp.com/install-cli | bashVerify:
basecamp --version
# Expected: basecamp version X.Y.ZOnly if you use Basecamp; otherwise mark this TODO done and continue. Skip if basecamp auth status already reports authenticated (the installer runs setup on an interactive terminal). Otherwise this opens a browser for OAuth; grant access when prompted. Credentials are stored in the system keychain.
basecamp auth loginVerify:
basecamp auth status --json | grep -q '"authenticated": true' && echo OK
# Expected: OK. The status command exits 0 even when signed out, so test the flag.Only if you use HEY; otherwise mark this TODO done and continue. Run all three lines: the first installs the CLI only when hey is not already on PATH (see the HEY CLI install guide for other install methods), the second signs in only when not already signed in (it opens a browser), and the third installs the hey skill from the CLI itself, since it is temporarily missing from this repo (see the README) — it runs even when the CLI was already installed.
command -v hey >/dev/null || curl -fsSL https://hey.com/install-cli | bash
hey auth status --json | grep -q '"authenticated": true' || hey auth login
hey skill installVerify:
hey version && hey auth status --json | grep -q '"authenticated": true' && echo OK
# Expected: a version line, then OKOnly if you use Fizzy; otherwise mark this TODO done and continue. Run all three lines: the first installs the CLI only when fizzy is not already on PATH (see the Fizzy CLI README for other install methods), the second runs fizzy setup — which asks for a personal access token and an account — only when not already signed in, and the third installs the fizzy skill from the CLI itself, since it is not published in this repo yet (see the README) — it runs even when the CLI was already installed.
command -v fizzy >/dev/null || curl -fsSL https://raw.githubusercontent.com/basecamp/fizzy-cli/master/scripts/install.sh | bash
fizzy auth status --json | grep -q '"authenticated": true' || fizzy setup
fizzy skill installVerify:
fizzy --version && fizzy auth status --json | grep -q '"authenticated": true' && echo OK
# Expected: fizzy version X.Y.Z, then OKRun this whichever products you use. Installs every skill in this repo into your agent using the Agent Skills open standard. The installer auto-detects your agent (Claude Code, Cursor, Codex, VS Code, Gemini CLI, Goose, Amp, OpenCode, and others) and places skills in the right directory. Add -a claude-code to target one agent, or -g to install globally.
npx skills add basecamp/skillsVerify:
npx skills list
# Expected: basecamp and basecamp-doctor listed (hey too, once it is published here)Restart your agent session to pick up the new skills.
EXECUTE NOW: Start with Step 0. Mark TODO items complete as you go. Stop when every product you chose in the TODO reports signed in (<cli> auth status --json | grep -q '"authenticated": true' succeeds for each of basecamp, hey, fizzy that you chose — at least one, and only those; a CLI on this machine for a product you did not choose is left alone) and npx skills list shows the skills from this repo.
Do not execute this section unless explicitly requested.
brew install --cask basecamp/tap/basecamp-cli
brew install --cask basecamp/tap/hey
brew install --cask basecamp/tap/fizzyDo not execute this section unless explicitly requested.
Clone this repo and symlink skills into your agent's skill directory manually:
git clone https://github.com/basecamp/skills ~/.37signals-skills
mkdir -p ~/.claude/skills
for skill in ~/.37signals-skills/skills/*/; do
ln -sfn "$skill" ~/.claude/skills/"$(basename "$skill")"
doneFor per-project installation:
mkdir -p .claude/skills
ln -sfn ~/.37signals-skills/skills/basecamp .claude/skills/basecampUpdate with cd ~/.37signals-skills && git pull. Symlinks pick up changes immediately.