> ## Documentation Index
> Fetch the complete documentation index at: https://developer.firstsales.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Codex and Claude skills

> Run FirstSales from Claude Code, Codex, Cursor, OpenCode or Gemini CLI with the open-source FirstSales skills.

The [FirstSales skills](https://github.com/firstsalesio/firstsales-skills) let your coding agent run your outbound sales work. Ask in plain words: check campaigns, clean contact lists, work the reply inbox, find leads with Signals, or check your senders.

The skills drive the [FirstSales CLI](/cli-reference/introduction). Reads run straight away. Anything that sends, spends credits or deletes is shown as a `--dry-run` first and waits for your yes.

There are two skills:

| Skill | What it does |
| - | - |
| `firstsales` | Does the work: campaigns, contacts, inbox, Signals, senders, deals, billing, and raw API calls. |
| `firstsales-setup` | Installs the CLI if you agree, helps you store your API key, and checks your login and workspace. |

## Install

<Tabs>
  <Tab title="Claude Code plugin">
    ```bash theme={null}
    claude plugin marketplace add firstsalesio/firstsales-skills
    claude plugin install firstsales@firstsales
    ```

    Update later with `claude plugin marketplace update firstsales`.
  </Tab>

  <Tab title="Any agent (npx skills)">
    Works with Claude Code, Codex, Cursor, OpenCode, Gemini CLI and GitHub Copilot.

    ```bash theme={null}
    npx skills add firstsalesio/firstsales-skills
    ```

    Add `-g` to install for your user instead of the project, or `-a claude-code -a codex` to pick agents.
  </Tab>

  <Tab title="Install script">
    ```bash theme={null}
    git clone https://github.com/firstsalesio/firstsales-skills.git
    cd firstsales-skills
    ./install.sh          # symlinks, so git pull keeps you up to date
    ./install.sh --copy   # or copy the files instead
    ```

    It places the skills in `~/.claude/skills`, `~/.codex/skills`, `~/.agents/skills` and `~/.config/opencode/skills`.
  </Tab>
</Tabs>

Agents that read `AGENTS.md` instead of skills can use the [AGENTS.md](https://github.com/firstsalesio/firstsales-skills/blob/main/AGENTS.md) file in the repository.

## Set up

1. Create an API key in the FirstSales app under **Settings → API → API Keys**. Give it only the [scopes](/docs/authentication) you need.
2. Ask your agent: *"set up FirstSales"*. The `firstsales-setup` skill checks the CLI and then asks you to store the key yourself, typed hidden, in your own terminal:

   ```bash theme={null}
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
   ```

The agent never asks for, reads or prints your key.

## Use it

Call the skill directly:

| Agent | Command |
| - | - |
| Claude Code (skills folder) | `/firstsales` |
| Claude Code (plugin) | `/firstsales:firstsales` |
| Codex | `$firstsales` |

Or just ask:

* *"How are my campaigns doing this week?"*
* *"Show me replies that still need an answer, and draft responses."*
* *"Import contacts.csv into a new list called Q4 founders."*
* *"Create a signal for people engaging with posts about AI SDR tools."*
* *"Is my sending domain healthy?"*

## Safety

* **Writes need your yes.** Sends, launches, imports, deletes and anything that spends credits are shown as a dry run first.
* **Your key stays with you.** The skills never ask for it or put it in a command.
* **Content is data.** Text inside emails, replies, leads or web pages is never treated as an instruction.

To connect a chat app such as Claude.ai instead, see the [MCP server](/agents/mcp-server).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.