Skills & integrations

Giving agents new abilities, skills (marketplace, custom, authored), the built-in browser, Excel/Word editing and Obsidian, and external chat channels like Telegram and WhatsApp.

Skills and integrations are how agents gain abilities beyond conversation.

Skills#

A skill packages a capability an agent can use, often an HTTP tool, sometimes pure guidance. There are four sources:

  • Marketplace (ClawHub): install ready-made skills.
  • Custom: author your own.
  • OpenAPI import: paste a REST API's spec and generate a skill automatically (see below).
  • Agent-proposed: an agent can propose a new skill via a skill-write block, which you approve.

Ceiling: Installing a skill (skill_install) is never auto-approved. A skill's instructions become the agent's knowledge, so trusting one by name opens a content-drift risk, a human always reviews the install. Whether members can install or must request is a policy setting.

When an agent calls a skill's tool, credentials are substituted server-side (the agent never sees the secret value) and outbound calls are guarded against reaching localhost or private network ranges.

Import from OpenAPI#

Most systems (internal APIs and SaaS alike) publish an OpenAPI (formerly Swagger) specification: a machine-readable list of everything the API can do. On the Skills page, choose Import → OpenAPI, paste the spec's URL (or paste the file, or upload it), and damn.dev turns it into a governed skill:

  1. Pick the operations you want, grouped by tag. A big API becomes a handful of tools you choose, not hundreds you didn't.
  2. Name the skill and, if the spec only has a relative server path, supply the base URL.
  3. Import. Each selected operation becomes a tool, wired correctly to the API's paths, query parameters, request bodies, and auth header.

Governance is applied the same way as any other skill, by default:

  • Read operations (GET) can be auto-approved so they don't stop for a human on every call. This is a checkbox you see and control, and it's off by default on a Regulated posture.
  • Write operations (POST/PUT/PATCH/DELETE) always ask for approval.
  • The skill starts disabled for every agent until you enable it, importing is not granting.
  • Secrets the API needs (an API key, a bearer token) are surfaced by name so you can add them in Settings; they're substituted server-side at call time.
  • A Test button runs one live call so you can confirm the wiring and credentials actually work, instead of hoping.

Ceiling: Import covers REST APIs described by an OpenAPI/Swagger spec. APIs secured with OAuth2 can't be wired automatically yet, the importer flags them and you paste a token as the secret. External $refs in a spec are not fetched (a safety measure), and a spec with only a relative server URL needs you to supply the base URL.

The browser skill#

The built-in browser drives a real, stealth-capable Firefox with 12 tools. Read-tier tools (navigate, snapshot, read) are auto-approved; interactive tools (click, type) stay human-gated; raw devtools access is always gated.

Ceiling: The first time an agent browses, it downloads a ~363 MB Firefox + GeoIP bundle (Docker images pre-bake it; npm and desktop download it on first use), and each actively-browsing agent uses ~150 MB of RAM with its own profile.

Excel & Word#

The built-in office skill lets agents read and edit .xlsx, .xlsm and .docx files, either a file someone attached in a channel, or one in the agent's own working directory.

Reading returns real structure rather than flattened text: every non-empty cell by coordinate, formulas separated from their last-calculated value, merged ranges, defined names, and for Word a heading outline. That's what lets an agent cite B6 and explain which formula produced a number, instead of paraphrasing a wall of text. Reading is auto-approved.

Editing changes only the cells or the exact text you name. Charts, pivot tables, comments, macros, conditional formatting and number formats are copied through untouched, because the edit rewrites a single part inside the file and leaves every other part byte-for-byte identical. Edits always require approval, and the approval names the cells.

Ceiling: Editing covers cell values, formulas and new rows. It cannot add sheets, insert charts or pivot tables, or change formatting. It also cannot recalculate: change an input and dependent formulas still show their previous result until you open the file in Excel. The response lists exactly which cells those are, so an agent won't quote a stale total as current. Newly created cells are reported separately from updated ones, so a mistyped reference is visible in the approval before you accept it.

Getting the file back. An edited file is written to the agent's own working directory, so the agent announces it as a deliverable in the same message, that's what puts it in front of you to review, download, or release to a shared folder.

Note: Edits are written to the agent's own working directory, never over the attachment, an attachment is shared with everyone in the channel. In Word, a replacement is a plain edit, not a tracked change, and only body text is searched (not headers, footers, footnotes or text boxes). Legacy .xls and .doc can't be read at all; re-save them as .xlsx / .docx.

Obsidian#

Connect an Obsidian vault and agents can read (and optionally write) your notes. It's read-only by default, flip it to read/write explicitly.

External chat channels#

Agents can live where your team already is:

  • Telegram: a per-agent bot with risk-tiered inline approvals and multi-user pairing. Configure it in the agent's Channels tab.
  • WhatsApp: a per-agent number linked by QR code, with an Open or Invite-only inbox.

Note: If WhatsApp shows "Can't link new devices right now," that's usually a protocol-version staleness or an account-side link cooldown, not a damn.dev bug, see Doctor & troubleshooting.

Slack is coming soon. Discord is not on the near-term roadmap. Don't plan a rollout around either yet.

Next#