AI coding agents can call CLIs, parse outputs, and chain commands. Without domain knowledge, they invent flags that don't exist, call interactive commands that hang, skip prerequisite steps, and pass wrong arguments.
We built Clams Agent Skills to fix this. An agent skill is a package of instructions that teaches your AI agent a specific domain. Install the Clams skill once, and your agent knows every Clams command, workflow, and edge case.
Our CLI is already written with machines in mind. The skill makes it even easier for agents to navigate. Everything we've learned from using Clams daily, every workflow we know our users are running, is handed over to the agent. It doesn't have to only lean on the CLI docs.
Install
npx skills add clams-tech/skills
Works with Claude Code, Codex, Opencode, and any agent that supports the spec. The skill installs to your project or global config. The agent picks it up on next launch.
What's Happening in the Demo
The demo above includes four prompts to Claude Code. No mention of Clams in any of them. Skills load when triggered by certain keywords. In the demo, it was simply mentioning a txid and the categorization of a transaction. Domain knowledge is then loaded incrementally, so the agent only pulls the information it needs. It moves fast without bloating its context window, staying efficient with token use.
"Find this transaction and tell me how it's categorized." A txid gets pasted in. The agent queries connections, finds the matching transaction, and explains it in context: which wallet, what type, the cost basis, how it's categorized.
"Create a connection for my River account and upload the CSV from my desktop." The agent knows Clams has native River support built in. No custom mapping needed. It creates the connection, uploads the CSV, syncs, and processes journals.
"Check that transaction again. Has the categorization changed?" The new data from River triggered a reclassification. The agent detects it, explains what changed, and walks through the impact on 2026 capital gains.
"Generate a capital gains report as a PDF, save it to my desktop." The agent syncs rates, processes any unprocessed journals, generates the report, and exports it. Natural language in, audit-ready report out.
Every step follows the correct command sequence. Rate syncing happens before report generation. Journals are processed after connection syncs. The agent doesn't skip steps because the skill tells it not to.
Eval Results
To ensure the quality of the skill, we run 37 assertions against common Bitcoin accounting workflows: connecting wallets, syncing, processing journals, querying transactions, generating reports, handling edge cases.
| With Skill | Without Skill | |
|---|---|---|
| Pass rate | 100% (37/37) | 67% (25/37) |
| Time | 57s | 80s |
| Tokens | ~20k | ~25k |
Without the skill, agents fail in predictable ways. They skip clams rates sync before generating reports, producing calculations with missing price data. They call clams init in the middle of a workflow, triggering an interactive setup that hangs. They guess at connection types instead of listing available options first. They pass wrong flags to journal processing commands.
The skill eliminates these failure modes. Faster, cheaper, correct.
Privacy
An agent skill sends your prompts and command outputs to your model provider (Anthropic, OpenAI, etc.) for processing. Your Bitcoin data passes through their API. This is the same tradeoff you make every time you use an AI coding agent with any tool.
If you need full privacy, use a local model paired with Opencode. In our tests the UX isn't perfect, but it is very much usable.
What's Next
We're working on a solution that will provide an excellent agentic experience and ensure your data never leaves your device. More news on that soon.
Run into issues or want to provide feedback? Use the feedback command in the CLI or reach out at support@clams.tech.
Clams Team