Slim Basecamp skill and rely on live CLI help
Intent
Keep the Basecamp skill focused on durable operating and safety rules instead of duplicating the CLI's command manual.
The existing skill had grown to 89 KB / 1,565 lines. Loading it for a simple question such as “how many Basecamp accounts do I have?” added roughly 13,000 tokens of tool output before the command could run, even though the installed CLI already exposes structured, command-specific --agent --help.
What changed
- reduce the main skill to 8.3 KB / 235 lines (about 91% smaller)
- make live
basecamp ... --agent --helpthe source of truth for command syntax, flags, scope, and notes - retain cross-cutting rules for credentials, URLs and replies, output modes, project/account scope, stdin content, attachments, retries, authentication, and mutations
- teach the eval harness to serve structured help from the locally built CLI
- add an eval for the original account-count question
- enforce a 16 KiB skill budget and discovery-first contract in Go tests
- document deterministic checks and model-eval comparison workflows
Why the eval harness changed
A discovery-first skill cannot be evaluated faithfully if help calls receive the generic empty mock. The harness now executes only structured --agent --help requests against the local binary; normal Basecamp operations remain deterministic mocks.
Verification
GOWORK=off bin/ci- eval patterns: 162 compiled across 30 cases
- structured-help harness self-test
- skill drift checks
The hosted model eval was not run locally because ANTHROPIC_API_KEY is not configured; the existing PR eval workflow can run it when the repository secret is available.
Summary by cubic
Slims the Basecamp skill from 89 KB / 1,565 lines to 8.3 KB / 235 lines by removing the embedded command manual and treating live basecamp ... --agent --help output as the source of truth for syntax, flags, and scope. Loading the old skill added roughly 13,000 tokens for simple questions; the new one keeps only durable operating and safety rules like credentials, output modes, and mutation retries. Discovery now goes leaf-first: accounts list --agent --help directly instead of walking down the command tree.
Eval harness
- Serves structured
--agent --helpfrom the locally built CLI and enforces leaf-first discovery; other Basecamp operations remain deterministic mocks. - Adds eval cases for the account-count question and Docs & Files folder downloads, with tightened mock and matcher regexes that enforce correct command and flag sequences, plus a self-test for the structured help path, runnable via
make check-eval-harness. - Go tests enforce a 16 KiB skill budget and the discovery-first contract.
- Clarifies that the todolist
--descriptionflag accepts rich text HTML, with a test guarding the updated help text.