# Set up SnowBear

## At a glance

- **What SnowBear is:** an AI outreach agent. It researches companies, open roles and people, drafts personalized LinkedIn and email outreach, and follows up until there's a conversation. People use it for sales, hiring and job seeking.
- **How to connect, sign-in first:**
  1. MCP at `https://www.snowbear.ai/mcp` with browser sign-in. Chat apps (ChatGPT, Claude.ai) and coding agents (Codex, Claude Code, Cursor) use this.
  2. The REST API at https://www.snowbear.ai/api/v1 with OAuth sign-in. HTTP agents that can't receive a browser callback use the device flow.
  3. A personal API key, for your own scripts: the same REST address, with `X-API-Key: sb_live_…` (or `Authorization: Bearer sb_live_…`).
- **Never ask for a key when sign-in works:** agents must not ask a person to paste an API key when sign-in is available. Signing in also lets a new person create their account.
- **Tools:** [every MCP tool, and whether it only reads or makes changes](https://www.snowbear.ai/tools.md).
- **Pricing:** [plans and credits](https://www.snowbear.ai/pricing.md). Free to start; once connected, get_billing reads the person's plan and balance.
- **Support:** [how to reach support](https://www.snowbear.ai/support.md) and revoke an assistant's access.

Research companies and professional contacts, explain warm connections, manage lists, review conversations, draft personalized LinkedIn and email messages, and carry out user-authorized outreach through the connected SnowBear account. Supports sales, hiring and job seeking. This guide is public setup help and API reference. Private account data requires authorization. The [web page](https://www.snowbear.ai/ai) contains the full guide without JavaScript; the [plain-text version](https://www.snowbear.ai/ai.txt) and [Markdown version](https://www.snowbear.ai/ai.md) have the same content.

## Setup communication

Setup starts with a brief thank-you, acknowledgment of the user's request and a plain-language note that setup is starting. For example: "Thanks, I've got your request. I'm starting SnowBear setup and will keep you updated as I go."

Before a connection starts, the user hears what happens: a SnowBear page opens, they sign in or create an account, review access and select Allow, then come back to the chat; some apps leave a blank or closing tab, which they can close. Setup includes short updates between connection steps and during noticeable delays, including after sign-in. Updates distinguish reviewing instructions, waiting for the user's action and verifying access. After sign-in, an acknowledgment and explanation of the access check come before verification and further account reads; access is reported as verified only after a successful check. Updates describe actual progress without promising monitoring the client cannot perform. Progress visibility depends on the client's support for intermediate messages. Guidance first read here can take effect only after this page has been retrieved. User-facing setup describes account access and readiness in plain language, for example "I am checking your account and setup status." Operation names, API paths and internal selection/version fields are implementation details for the agent, not manual user steps or ordinary headings, checklists and completion summaries. Technical details are relevant when requested or needed to resolve a specific error; connector configuration values remain available when the user must enter them.

## Chat clients: connect and start using SnowBear

ChatGPT, Claude.ai and other noncoding MCP clients need only a working SnowBear connection. Companion skill files are optional and are not part of initial chat setup. No ZIP download, skill upload, terminal, code execution or local file access is required for this connection.

**No SnowBear account is needed beforehand.** Start the connection in your AI client, then choose Create an account or Sign in during SnowBear's account authorization step. There is no separate signup or website visit to complete first.

**Server address for connector settings:** `https://www.snowbear.ai/mcp`

Show this address as copyable code for the client's server URL field. Do not present /mcp as a clickable sign-in link, an "Open SnowBear server" button, or a setup-card destination, before or after authentication. It is a protocol endpoint, not a web sign-in page. Opening it directly in a browser can return an unauthorized response because that request does not carry the connector's OAuth token; website sign-in does not change that. Keep the server address exact, without tracking parameters.

Sign-in and account creation start from the client's supported Connect or Authenticate controls, which open SnowBear's account authorization page. Do not add a separate Open SnowBear or create-an-account prerequisite. Only an authorization or device-verification link actually returned by the supported connection flow belongs in a clickable connection action. Never invent an authorization URL or use /mcp as that link.

1. **Check the existing connection.** If SnowBear tools are already available for the intended account and environment, use that connection. Check available connector controls when the client provides them. A connector name or directory listing alone does not prove access. Avoid duplicate connections; do not remove or replace an existing connector without the user's request.
2. **Connect only if needed.** Use the client's supported connector or plugin controls with the server address above and OAuth. During account authorization, the user signs in or creates their SnowBear account and reviews access, then enables SnowBear in the chat if needed. An existing SnowBear account is not a prerequisite. The Claude and ChatGPT sections below give client-specific steps. If custom connectors are unavailable or restricted, explain the supported option or administrator requirement instead of substituting skill installation or asking for credentials in chat.
3. **Agent action: verify account access.** Perform this check yourself with the connected tools; do not turn the account check itself into a user checklist or ask the user to call an API. Tell the user "I am checking your account and setup status." After sign-in, get_me is the first authenticated setup check for the intended account and environment. It returns identity, onboarding, enrichment and connection state. A successful read_docs call verifies documentation access only and does not replace this account check. Use search_docs or read_docs for factual fields when needed. An approval screen alone is not verification; an absent companion skill does not block a working connection.

Operation names and API paths in this guide are implementation details for the agent, not text to repeat in setup messages. Keep them out of user-facing headings, progress updates, checklists and completion summaries unless the user requests technical details or they are necessary to resolve a specific error. Connector settings values and supported client controls may still be shown when the user needs to enter them.

The connection is verified after a successful get_me read; any unfinished identity setup is reported separately. The account check and applicable handoff below complete chat setup without requiring a skill. Routine setup and completion messages need no skill-installation checklist or offer. Optional packages remain available later if the user asks for them. A client without MCP support can use the separate HTTP-agent setup below; skill installation does not add missing MCP or OAuth capabilities.

## After connecting

get_me (GET /me) is the authenticated account setup check, including after sign-in. It returns account state without starting enrichment, discovery or outreach; read_docs returns documentation, not the user's setup state. No installed skill is needed for this operation.

is_onboarded means identity onboarding is complete, including previously completed native accounts; it does not mean LinkedIn sending is connected. linkedin.confirmed and linkedin.url describe identity. Unconfirmed candidates are under linkedin.candidates with option_number, name, linkedin_url and available role/company or headline evidence; candidate decisions use the returned option_number and linkedin.presentation_version with confirm_my_linkedin (POST /me/linkedin), after the user's choice. A supplied personal LinkedIn URL uses action=confirm_url. Confirmation needs write access and can start durable identity enrichment, but sends no outreach. A stale selection requires a fresh /me read, not a guessed version.

enrichment.status is ready for matching saved enrichment, ready_for_promotion for a prepared candidate, or the current preparation state such as processing or not_started. An already confirmed identity with pending enrichment needs no repeat confirmation or tight polling. profile contains saved professional background; goals remain the user's choice. timezone may be null. dashboard_access says whether this account can open the SnowBear web dashboard. When it is false, the account has no dashboard and works through this connection or by text or email with SnowBear. Docs that mention the dashboard or the app describe accounts that have it. linkedin_connection reports the live LinkedIn connection. linkedin_sending has one entry per action: connection_requests and messages. status ready means a send made now goes out today. waiting means SnowBear sends it automatically at explanation.until and the user has nothing to do. blocked means the user has to act, so show explanation.message. left_today is how many more can go out today. scheduled_today is how many SnowBear already plans to send today from the same limit. Every send is checked again when it goes out. Identity completion and LinkedIn reconnection are not prerequisites for unrelated permitted saved-data reads.

A failed /me read leaves account readiness unverified even if documentation loaded. A successful account check and a failed campaign read are separate results. Missing account fields are unknown, not proof of completion or a reason to restart onboarding. Account and identity details are private authenticated data, never part of public setup metadata.

A successful get_me account read verifies account access independently of any companion skill. LinkedIn confirmation is the main onboarding step. When linkedin.confirmed is false, the handoff first shows the possible profiles from get_me (number, name, headline or role and company, link) and asks which is the user's, then confirms only the profile the user picks with its option_number and the current presentation_version, or reject_all when none match. When no candidates are listed but linkedin.url holds a saved profile link, the handoff shows that link and asks whether it is the user's; a yes is confirmed with action=confirm_url and that link. When nothing is on file, the handoff asks for the user's LinkedIn profile link and confirms it with confirm_url. A read-only connection can still show the profiles; confirming needs a connection that allows changes. An already confirmed identity, including one whose enrichment is still loading, is not confirmed again.

For setup alone, after the LinkedIn step, the default handoff includes a brief read-only campaign snapshot, not a question asking whether to check campaigns. A short update after sign-in explains that access and campaign status are being checked. An explicit connection-only request or declined review takes precedence; an existing authorized task continues directly.

The snapshot uses list_campaigns and review_campaign, or GET /campaigns and GET /campaigns/{campaign_id}/review, within the verified account and environment. A review of up to three relevant active or recent campaigns keeps setup short; partial coverage is labeled. These operations read saved data without starting discovery or outreach.

The useful handoff includes campaign names and status, sourcing progress, recent sends and replies with the returned reporting window, pending approvals, and actionable blockers where available. Queued messages are distinct from sent messages, missing metrics are unknown rather than zero, and a sourcing-only campaign is not expected to send. If there are no campaigns, the handoff says so and suggests a relevant first use. Failed campaign reads are reported as a limitation, never as an empty account or a successful review.

The handoff then offers two first steps tailored to the user's goal: finding relevant companies or people with SnowBear's search, and creating a campaign that finds matching people every weekday. New campaigns start paused; the suggested start is three new people per weekday, with each first message held for approval. Either starts only when the user chooses. An existing choice, research-only or connection-only request, or prior decline takes precedence. Later campaign reviews suggest one supported next step. Skill-installation status and setup internals are unnecessary unless requested. LinkedIn reconnection affects LinkedIn sending; saved research and draft previews remain available subject to permissions, and email is separate. The read-only snapshot does not approve messages, change or activate campaigns, start paid discovery, send outreach, or schedule recurring work. Those actions still require the user's authorization.

## Account questions and tools

Research companies and professional contacts, explain warm connections, manage lists, review conversations, draft personalized LinkedIn and email messages, and carry out user-authorized outreach through the connected SnowBear account. Supports sales, hiring and job seeking. SnowBear MCP tools and authenticated API endpoints provide research, drafting, campaign, contact, reply, approval and performance operations without automating the dashboard. read_docs and search_docs provide current reference for these operations. Account access requires authentication; sign-in and consent happen on SnowBear's website. UI features without a tool or API endpoint require separate browser interaction.

## Choose your connection

- ChatGPT: sign in to ChatGPT, then use its supported MCP connector and native OAuth sign-in. A SnowBear account does not sign you into ChatGPT.
- Claude.ai: use its supported MCP connector and native OAuth sign-in.
- Codex, Claude Code or Cursor: use remote MCP with browser OAuth.
- Muse: see Muse below. Instinct or another agent: use its native SnowBear MCP connector when available. A custom HTTP/API connector needs REST OAuth with the REST resource below. Device OAuth is suitable only when the runtime can privately store credentials, poll the token endpoint and renew tokens. Product names alone do not establish those capabilities.
- A personal script or integration, last: a named, revocable personal API key can authenticate REST requests at the same address. An integration acting for other customers should use delegated OAuth.

## Sign in or create an account

You do not need to create a SnowBear account before connecting. The account authorization step offers Create an account and Sign in, so new users register directly in that flow. A new user verifies a phone number or email on SnowBear, then reviews the agent's access. Full conversational onboarding is not required. The user may cancel. Passwords, SMS/email verification codes and authentication secrets belong in the site's sign-in controls or a supported private credential store, never expose them in chat, shared tool inputs, shared files or logs. Authorized clients may send their privately stored credentials directly in OAuth requests and authenticated HTTP headers.

Without account access, an AI can explain these setup steps and show the user the sign-in link; it cannot read campaigns or perform account operations.

## Claude web

Open Customize → Connectors → Add custom connector. Enter SnowBear and copy `https://www.snowbear.ai/mcp` into the server URL field, review the detected settings, and use OAuth to connect your own SnowBear account. Organization members may need an owner to add the connector first. Enable the connector in the conversation after connecting.

The connection supplies SnowBear tools directly. Check account setup with get_me and continue with the applicable handoff; separate skill installation is not part of this setup. Tool descriptions and schemas carry their necessary effects and preconditions, and read_docs/search_docs supply factual API reference. The hosted guide supplies setup and factual reference, not dynamically loaded behavioral instructions.

## ChatGPT

If a working SnowBear connection is already available for the intended environment, reuse it. Otherwise, sign in to ChatGPT first. No terminal or local installation is required for this hosted MCP connection. Open Plugins, then Add custom MCP server. Use the name SnowBear, copy `https://www.snowbear.ai/mcp` into the server URL field, and choose OAuth. Follow ChatGPT's native linking controls. In SnowBear's account authorization step, choose Create an account if you are new, or Sign in if you already have an account, then review access. No separate SnowBear signup is required before this step. Workspace permissions and product availability may restrict custom connectors; explain the displayed restriction rather than bypassing it. After linking, finish Create as a plugin if prompted, install SnowBear from your personal plugins, and select SnowBear in the conversation through the supported plugin picker or @ menu. A setup prompt cannot install or enable a connector by itself. Once SnowBear tools are available, check account setup with get_me; no separate companion skill installation is required. Manual tokens and device-code authentication are not substitutes for ChatGPT's native connector OAuth.

## Muse

Connect Muse to SnowBear's MCP server at `https://www.snowbear.ai/mcp` with OAuth, requesting scope "snowbear:read snowbear:write offline_access" so SnowBear can save searches and create campaigns. Before connecting, tell the user what happens: a SnowBear page opens, they sign in or create an account and select Allow; Muse then opens a blank tab, which they close before returning to this chat. Then run the account check, confirm their LinkedIn profile with them and offer the two first steps: finding relevant companies or people, and creating a campaign.

## Coding agents

### Codex

```sh
codex mcp add snowbear --url https://www.snowbear.ai/mcp
codex mcp login snowbear
```

Complete sign-in in the browser. In the IDE, the MCP server settings also provide Authenticate. Restart or reload the client if its tools have not appeared.

### Claude Code

```sh
claude mcp add --transport http snowbear https://www.snowbear.ai/mcp
```

Use /mcp, choose snowbear and authenticate in the browser. Verify a read-only tool call. Optional companion-skill and plugin installation choices are in Skills below.

### Cursor

Add `"snowbear": { "url": "https://www.snowbear.ai/mcp" }` under mcpServers in Cursor's MCP configuration, then use Connect in its MCP settings and complete browser OAuth.

## HTTP agents and device OAuth

The issuer is https://www.snowbear.ai. Its metadata is https://www.snowbear.ai/.well-known/oauth-authorization-server. REST resource metadata is https://www.snowbear.ai/.well-known/oauth-protected-resource/api/v1. The REST resource is https://www.snowbear.ai/api/v1; MCP is a separate resource at https://www.snowbear.ai/mcp.

### Match the connection to the interface

An MCP connection authorizes https://www.snowbear.ai/mcp and supplies MCP tools. Its token does not authorize REST requests, including GET https://www.snowbear.ai/api/v1/docs. A custom HTTP/API connector can use https://www.snowbear.ai/oauth/authorize/api as its authorization URL. This route grants REST access without a resource parameter. Alternatively, https://www.snowbear.ai/oauth/authorize accepts resource=https://www.snowbear.ai/api/v1; omitting it on that general route defaults to MCP. The connector must support receiving the browser callback, retaining the returned credentials privately, and sending the access token as Authorization: Bearer to https://www.snowbear.ai/api/v1. An OAuth token is not a manual X-API-Key token.

Browser clients use authorization code OAuth with S256 PKCE and an exact registered redirect. Request scope "snowbear:read snowbear:write offline_access" when registering and when authorizing; omitting scope also counts as read and write. A read-only request gets view-only access, and a refresh can't add write access later. Clients that cannot send the resource parameter should authorize against https://www.snowbear.ai/oauth/authorize/api, which issues REST-bound tokens through the standard OAuth flow. Set this as the connector's authorization URL; the shared discovery document still advertises the general authorization URL. Registration stays at https://www.snowbear.ai/oauth/register, token exchange and refresh stay at https://www.snowbear.ai/oauth/token, and revocation stays at https://www.snowbear.ai/oauth/revoke. This requires a connector that accepts a custom authorization URL. Token exchange and refresh can omit resource: the approved grant retains REST access. If resource is supplied, it must match the approved resource. Neither exchange nor refresh can switch resources. Start a new REST authorization for an existing MCP-only connection; its refresh token cannot convert it. Public clients use token_endpoint_auth_method none. A client that only supports MCP should use its MCP tools. Connecting successfully in the client UI does not prove a REST request will work.

### Check device-client capabilities before creating a link

Device OAuth requires a runtime that can keep client_id and the private device_code together across requests, POST to the token endpoint at the returned interval, and save access and refresh tokens in a private credential store usable by the intended session or scheduled task. A native connector may manage its credentials without exposing them to the conversation; another HTTP tool does not automatically share those credentials. If these capabilities are unavailable, use the supported native connector or the manual-token option for a suitable API client. Creating a link alone cannot establish access.

Use JSON request bodies with Content-Type: application/json for the register, device_authorization, token and revoke requests below. Token endpoints also accept standard form encoding.

For a client that cannot receive callbacks:

1. Register at POST https://www.snowbear.ai/oauth/register with client_name, token_endpoint_auth_method: none, grant_types: ["urn:ietf:params:oauth:grant-type:device_code", "refresh_token"], and response_types: []. Device-only clients may omit redirect_uris.
2. POST https://www.snowbear.ai/oauth/device_authorization with client_id, resource: https://www.snowbear.ai/api/v1, and scope: "snowbear:read snowbear:write offline_access". Request read and write so SnowBear can save searches and create campaigns; a read-only request gets view-only access, and a refresh can't add write access later.
3. Show the user verification_uri_complete as a clickable link and show user_code alongside it. The link already contains the confirmation code. The private device_code belongs only to the client.
4. The user signs in or creates an account on SnowBear, compares the displayed connection code, and approves or declines access. SMS/email verification codes are a separate sign-in step.
5. Poll POST https://www.snowbear.ai/oauth/token with grant_type: urn:ietf:params:oauth:grant-type:device_code, client_id and device_code. Wait the returned interval (initially five seconds). authorization_pending means keep waiting; slow_down adds five seconds to every subsequent interval. Stop on access_denied, expired_token or success. Requests expire after ten minutes. Approval alone does not deliver a token: the same client must complete polling with its original private device_code. The visible user_code cannot redeem the request. A status of approved without a successful token response is still incomplete.
6. Send the access token in Authorization: Bearer on REST requests to https://www.snowbear.ai/api/v1. This SnowBear proxy preserves the token through the hosted gateway; the OAuth resource is the same public REST URL. Renew by posting grant_type: refresh_token, client_id and the current refresh_token to https://www.snowbear.ai/oauth/token; include the same resource if supplied. Save the rotated refresh token privately and discard the previous one. Disconnect in Connections revokes the connection immediately. Clients can also POST https://www.snowbear.ai/oauth/revoke with client_id, token and token_type_hint: refresh_token (or access_token).

### Verify access and retain renewal

An HTTP account setup check uses authenticated GET https://www.snowbear.ai/api/v1/me with its REST Bearer access token (a personal API key works at the same address, sent as X-API-Key). An MCP account setup check uses get_me. Documentation access alone does not verify identity, onboarding or connection readiness. A successful approval page or token response alone is not a verified account read. Verification does not create or modify campaigns, contacts or schedules.

SnowBear OAuth access tokens last up to 365 days, bounded by the original one-year approval, and can be revoked immediately. Successful browser/device exchanges also return a rotating refresh token for clients that renew early. A refresh never extends the original approval period. A client that securely persists and renews those credentials can reuse the connection for separately authorized background work until the grant expires or is revoked. Scheduled work does not inherently require a manual API token. If a scheduler cannot use the connector credential store or renew OAuth, that client limitation may require a suitable private manual-token integration; an extra token is not a universal SnowBear requirement. Refresh cannot add permissions or convert an MCP grant to REST.

## Personal API keys (for your own scripts)

Sign-in comes first: MCP with browser sign-in, then the REST API with OAuth. A personal API key is for your own scripts. Sign in to SnowBear, open Connections → API and create a named key. Choose Read and write unless the integration should only read. Configure SNOWBEAR_API_KEY privately in the runtime's credential store. Send it on requests to https://www.snowbear.ai/api/v1, the same address OAuth uses, as `X-API-Key: sb_live_…` or `Authorization: Bearer sb_live_…`. OAuth access tokens go in `Authorization: Bearer sbo_at_…`. Agents must not ask a person to paste an API key when sign-in is available, and never into a ChatGPT or Claude.ai chat.

Personal API keys remain valid under their chosen expiry until revoked; OAuth access tokens expire and renew through the client. Both retain the account's permissions, approval requirements and allowances.

## API reference and troubleshooting

Authenticated GET https://www.snowbear.ai/api/v1/docs (the same address with a personal API key) lists current endpoint schemas and factual topics; GET /docs/search?q=<task> finds reference for a task. MCP read_docs and search_docs serve the corresponding reference. Tools describe their required permissions and side effects; documentation access itself creates no campaigns, sends and schedules.

For a 401 response, check the exact request URL, credential type/header, resource chosen during authorization, and whether the client actually attached the credential. MCP credentials are valid only for MCP; REST OAuth uses https://www.snowbear.ai/api/v1 and Authorization: Bearer sbo_at_…; personal API keys use the same address with X-API-Key (or Authorization: Bearer sb_live_…). An MCP-to-REST mismatch requires a separate REST authorization or use of the existing MCP tools, not broader scopes or a token refresh. A missing or expired credential requires reconnecting or renewing through the client's supported controls. A read-only connection cannot make changes: an OAuth connection needs a new authorization requesting "snowbear:read snowbear:write offline_access" (in a chat app, remove and re-add the SnowBear connector and leave Make changes checked), and a manual token needs a new read-and-write token; refreshing can't add write access. An unredeemed device request requires client-side polling, and an expired one requires a new request only after the client can complete it. Report setup as incomplete when the authenticated read fails, and distinguish the observed HTTP error from an assumed cause. Diagnostic details can include status, route and OAuth error names, but never tokens or private device codes. Respect Retry-After and stop repeated failing attempts. Setup does not authorize campaigns, outreach, recurring check-ins or purchases.

## Skills

**Optional advanced setup.** SnowBear's connected tools and factual API reference work without a companion skill. These packages add reusable research and outreach workflow guidance for clients that support skills. They are not a prerequisite for connecting or helping with the user's task, and need not be offered during routine chat setup. Preserve any skill already bundled or installed.

- **General agents and HTTP clients:** [Read skill online, no download required](https://www.snowbear.ai/skills/generic/snowbear-outreach/SKILL.md) · [Download to install](https://www.snowbear.ai/downloads/snowbear-outreach.zip)
- **ChatGPT and Codex:** [Read skill online, no download required](https://www.snowbear.ai/skills/openai/snowbear-outreach/SKILL.md) · [Download to install](https://www.snowbear.ai/downloads/snowbear-openai-skill.zip)
- **Claude.ai and Claude Code:** [Read skill online, no download required](https://www.snowbear.ai/skills/anthropic/snowbear-outreach/SKILL.md) · [Download to install](https://www.snowbear.ai/downloads/snowbear-anthropic-skill.zip)

The entrypoint and individual references are publicly readable without signing in or downloading a ZIP. Reading online previews the files; it does not install a persistent skill or grant account access. Installation uses the complete skill folder, including its relative references. All examples are fictional. These public files contain instructions and API reference, not customer data or credentials.

Use the following installation options only when skill installation is requested or is part of the user's coding-agent setup:

- **Codex:** download the OpenAI skill ZIP and extract its snowbear-outreach folder into your project's .agents/skills/ directory (or the client's supported personal skill directory). Preserve existing configuration and unrelated skills. Reload the client if needed, confirm SnowBear research and outreach appears in its skills list, then invoke $snowbear-outreach for a relevant task. MCP authentication remains separate.
- **ChatGPT:** a packaged SnowBear plugin may include its companion skill. A custom MCP-only connection does not automatically install this ZIP. If the user requests skill installation, use supported import controls if available; otherwise explain that limitation and keep using the connected tools. A link alone does not install a skill.
- **Claude.ai:** if the user requests the optional skill, download the Anthropic skill ZIP. In Customize → Skills, choose + → + Create skill → Upload a skill, upload the ZIP, then toggle it on. Code execution and file creation must be enabled for skills; account or organization settings may restrict uploads. These requirements apply to skills, not the MCP connection. Hosted files are available for preview and factual reference. Workflow guidance is delivered through the installed package. Neither the connector nor the skill directs Claude to fetch and execute remote behavioral instructions.
- **Claude Code:** install https://www.snowbear.ai/downloads/snowbear-anthropic.zip through supported local plugin controls, or extract the Anthropic skill ZIP's snowbear-outreach folder into .claude/skills/ in the intended project or ~/.claude/skills/ for personal use. Preserve unrelated skills and reload if needed.
- **Other coding and HTTP agents:** use the generic folder through the runtime's supported skill controls or skill directory. Clients without skill support can use their connected tools or documented HTTP operations. API credentials belong only in the runtime's private credential store.

If an agent cannot download a ZIP, show the direct download link for the user's browser and explain the client limitation. Keep the working connection available; do not retry blocked downloads repeatedly or substitute an incomplete single-file copy. Verify installation and reference discovery separately only when installation was requested, and do not claim success without evidence. A failed optional installation does not undo verified account access. Updates should use a reviewed complete package; source.json records its source hash. Reading or installing a skill does not approve outreach or start recurring work.

Privacy: https://www.snowbear.ai/privacy · Terms: https://www.snowbear.ai/terms

This guide does not claim a directory listing or platform approval.

## Plans and pricing

Plans, credits and typical credit costs: https://www.snowbear.ai/pricing.md. Once connected, get_billing reads the person's plan, credit balance and every plan, and create_billing_link creates an upgrade or top-up link for them. Give the link to the person; never open it or complete a payment yourself.
