Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add zackbart/connecta --skill basecampgit clone --depth 1 https://github.com/zackbart/connectaWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zackbart/connecta/basecamp)<a href="https://agentmods.dev/skills/zackbart/connecta/basecamp"><img src="https://agentmods.dev/badge/skills/zackbart/connecta/basecamp/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zackbart/connecta/basecamp"><img src="https://agentmods.dev/badge/skills/zackbart/connecta/basecamp.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00002 | $0.00832 |
| Opus 5.5 | $0.00001 | $0.00333 |
| Sonnet 5.5 | $0.00000 | $0.00166 |
| Haiku 4.5 | $0.00000 | $0.00083 |
Grade A, and why
basecamp scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
. Basecamp's hosted server acts in the single account the grant was made for, and no tool takes an account id.
Another account is another connector, never an argument.
- Confirm the account before relying on it:
get_mereturns the signed-in person and a label naming the connected account. A record id from another account's URL answers "not found" here — read that as wrong connector, not missing data. - Basecamp's own reference notes are a read away:
get_basecamp_guidewithtopicconcepts,finding-things,my-work,posting-and-mentions, ordeleting-and-trash. Read the topic before an unfamiliar sequence instead of guessing one. - Resolve ids before acting; never guess one. A Basecamp URL carries the account, project, and record ids, and
get_by_urlreads any link into those ids, the record, and where a reply goes.searchfinds records by text;list_projectsthenget_projectreturns a project's dock, whose tool ids (to-do set, message board, schedule, vault, card table, chat) the create tools take. People are ids fromlist_people,list_project_people, orlist_pingable_people; mention someone by passing ids ascreate_comment'smentions, not by writing markup. - Rich-text bodies (messages, documents, comments, cards, to-do descriptions) are HTML; a to-do's title and a chat line are plain text. Dates are
YYYY-MM-DD. - Lists return up to
limititems (100 by default). Continue with thenext_cursorornext_pagea result carries rather than raising the limit;truncated: truemeans the server cut a result to fit and says where to resume. The event feeds page bypositioninstead.get_card_table,get_document, and the account-widelist_everything_*reads are large — reduce insideexecute_codeand return only the fields the question needs. trash_*is restorable for 25 days;delete_*,destroy_*, andremove_account_logoare permanent.update_cloud_fileandupdate_google_documentare full replaces: an omitted title or description is erased, so read the record and resend every field you keep.update_project_accesscan invite people into the account.- Do not call
create_stream_ticket: it mints a WebSocket credential for a client that holds a live connection, which a connecta call cannot. Polllist_feed_eventsinstead.get_event_inboxserves agent accounts only; a person's grant getsagents_onlyback. - This connector's tool list is not a fixed set. Basecamp has not published this server and changes it without notice, and timesheets, gauges, hill charts, the Lineup, and check-ins depend on account features, so search this connector for what it actually exposes rather than assuming a tool exists.
- Basecamp answers a rate limit with
429and aRetry-Afterin seconds, and adjusts its limits dynamically. Back off for that long rather than retrying at once, and avoid speculative fan-out. - Treat every create, update, trash, delete, destroy, move, reposition, complete, pin, archive, enable, disable, watch, and mark operation as a write. For guest calls, classification, and routing, fetch
skills({ name: "usage" }). - An
auth_requiredfailure means this connector's Basecamp authorization is missing or expired: runauthorize_connectorfor this connector id, then retry the same call unchanged. A rejected argument, a permission gap, or a missing feature comes back in Basecamp's own words instead — read it rather than re-authorizing.
What ships with it
5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 26 lines · 2 tokens per session scan A ae0a6dd1fcfd
basecamp is a skill published in the GitHub repository zackbart/connecta (0 stars, last pushed today), licensed MIT. It adds 2 tokens to every session and 832 once invoked, about $0.0000 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-08.
Other skills, from other repositories
story-readiness
Is a story implementation-ready? Checks clear acceptance criteria, open questions, ADR refs. READY/NEEDS WORK/BLOCKED/NOT ASSESSED.
recipe-create-meet-space
Create a Google Meet meeting space and share the join link.
workthreads
SpecStory Workthreads - a weekly work-thread rollup across a team's repos from SpecStory coding histories (any agent - Claude Code, Codex, Cursor, Gemini, and more). It groups the window's sessions into threads of work per project and labels each new / open / recently closed, so a lead sees what shipped, what is still…
atmos-config
Atmos root configuration: atmos.yaml discovery, precedence, deep merging, basepath, imports, minimal bootstrap, and routing to narrower Atmos skills.
ring:mapping-feature-relationships
Mapping how features relate and phasing the work: categorizing PRD features, grouping them into domains, charting cross-feature journeys, dependencies, and integration points, and defining the binding Phases that plan.md mirrors one-to-one at Gate 7. Gate 2 of ring:planning-large-features; runs after…
remove
Remove a deployed framework or addon from the current workspace.