# Agent Skills

> The Reply.io Agent Skill — install one skill and your agent learns the core outreach workflows, executed through the reply CLI.

## Status: Available (v1)

The [Reply.io Agent Skill](https://github.com/replyio/reply-skill) packages the core outreach [workflows](/workflows) as one installable skill. It drives the [CLI](/cli) — the skill decides *what* to do, the CLI does it:

```
AI agent  →  Agent Skill (workflows, guardrails)  →  reply CLI  →  Reply.io v3 API
```

## Install

```bash
npm i -g reply-cli
export REPLY_API_KEY=...
git clone https://github.com/replyio/reply-skill.git ~/.claude/skills/reply
```

Then ask your agent things like *"import this CSV and skip duplicates"*, *"show me interested replies from this week"*, or *"which sequences are underperforming?"*.

## What's in v1

Four workflows, each with dry-runs, verification steps, and hard confirmation gates (nothing sends, starts, or deletes without explicit approval):

1. **Import prospects** — CSV → mapping preview → dedupe → list → verify
2. **Launch outreach** — account & schedule checks → sequence → enrollment → confirmed start
3. **Manage replies** — inbox triage → thread context → approved reply → categorize
4. **Analyze performance** — reports + per-sequence stats → diagnosis → recommendations

The catalog below shows each outcome-level skill and its availability. Entries marked **Coming soon** depend on API endpoints that aren't generally available yet (prospect search, enrichment) — they'll join the same skill as workflows when the endpoints ship.

## Find Prospects (Coming soon)

Turn an ICP description into a saved, deduplicated prospect list.

- Install (planned): `# Coming soon — will ship as a workflow in github.com/replyio/reply-skill`
- Inputs: ICP description in natural language (titles, industries, company size, geography); Optional exclusion list (existing customers, competitors)
- Outputs: A contact list populated with matching prospects; A summary of search filters used and match counts
- Composes: prospect-search, contact-data

Wraps Live Data search, preview, and contact import into one operation. The skill translates a natural-language ICP into structured filters, previews the result size before spending credits, and lands the output as a named contact list.

## Build an ICP (Coming soon)

Derive an ideal customer profile from your best existing customers or a business description.

- Install (planned): `# Coming soon — will ship as a workflow in github.com/replyio/reply-skill`
- Inputs: A business/offer description, or a list of best-customer domains
- Outputs: A structured ICP (titles, seniorities, departments, industries, sizes, locations); Ready-to-run Prospect Search filters
- Composes: contact-data, analytics, prospect-search

Analyzes which segments actually convert (from reporting data when available) and produces a structured ICP that feeds directly into the Find Prospects skill or a Live Data search.

## Enrich Contacts (Coming soon)

Fill missing emails, phones, and firmographics across a whole contact list.

- Install (planned): `# Coming soon — will ship as a workflow in github.com/replyio/reply-skill`
- Inputs: A contact list (or filter) identifying records to enrich
- Outputs: Enriched contact records with validation status; A gap report of contacts that could not be enriched
- Composes: contact-enrichment, contact-data, email-validation

Runs waterfall enrichment over a list, schedules email validation on the results, and writes everything back to contact records — one skill call instead of three API round-trips per contact.

## Import Prospects

CSV in, deduplicated contacts out — mapped, verified, and organized into a list.

- Install (planned): `git clone https://github.com/replyio/reply-skill.git ~/.claude/skills/reply`
- Inputs: A CSV file (or pasted rows) of prospects; Dedupe preference (skip existing vs. update) and an optional target list
- Outputs: Added / updated / skipped / failed counts with per-row failure reasons; A verified contact list ready for outreach
- Composes: contact-data

Runs a zero-API dry-run first to preview the column mapping and row count, confirms dedupe strategy and destination with the user, imports in batches, then verifies list membership. Ships in the [Reply.io Agent Skill](https://github.com/replyio/reply-skill) as `workflows/import-prospects.md`, executed via `reply contacts import`.

## Launch Outreach

Verify accounts, build the sequence, enroll contacts, and start — with a confirmation gate before anything sends.

- Install (planned): `git clone https://github.com/replyio/reply-skill.git ~/.claude/skills/reply`
- Inputs: Target contacts (a list, a fresh import, or explicit IDs/emails); A sequence to reuse, or a name plus message drafts for a new one
- Outputs: A running sequence with assigned mailboxes, schedule, and contacts; The sequence ID, enrollment counts, and skipped contacts with reasons
- Composes: sequences, templates-schedules, mailbox-management, contact-data

The full launch checklist as one workflow: check sending accounts, create or select the sequence, dry-run the enrollment, add contacts, and start — only after explicit confirmation. Ships in the [Reply.io Agent Skill](https://github.com/replyio/reply-skill) as `workflows/launch-outreach.md`, executed via the [CLI](/cli). Complex step editing (A/B variants on live sequences, LinkedIn steps) is handed off to the Reply app in v1.

## Handle Replies

Triage the inbox, surface interested prospects, and send approved replies.

- Install (planned): `git clone https://github.com/replyio/reply-skill.git ~/.claude/skills/reply`
- Inputs: Optional filters (category, sequence, unread, meeting intent)
- Outputs: Sent replies (each explicitly approved) and categorized threads; A queue of threads still needing attention
- Composes: conversations-inbox

Reads the inbox, groups threads by category and meeting intent, presents full conversation context, drafts responses with the user, and sends only after showing the exact text and getting confirmation. Ships in the [Reply.io Agent Skill](https://github.com/replyio/reply-skill) as `workflows/manage-replies.md`. Fully automated reply policies (auto-answer via webhooks) are not in v1 — every send is human-approved.

## Book Meetings (Coming soon)

Convert interested replies into scheduled meetings via Reply's booking calendar.

- Install (planned): `# Coming soon — will ship as a workflow in github.com/replyio/reply-skill`
- Inputs: Threads with meeting intent (or a filter for them); The booking calendar link and scheduling preferences
- Outputs: Threads driven to a booked meeting, confirmed in-thread; Booked meetings visible in the meetings report
- Composes: conversations-inbox, analytics

Detects meeting intent in conversations, drives the scheduling exchange in-thread, and shares the booking calendar link. To be precise about mechanics: booking itself happens through Reply's scheduling product (the in-app booking calendar) — there is no book-a-meeting API endpoint today. The skill manages the conversation around booking and verifies outcomes in the meetings report.

## Analyze Campaign Performance

Turn raw reporting data into decisions — what to scale, pause, or rewrite.

- Install (planned): `git clone https://github.com/replyio/reply-skill.git ~/.claude/skills/reply`
- Inputs: A time window and the sequences (or the whole account) to analyze
- Outputs: A performance readout (delivered, opens, replies, interested, meetings) with diagnosis; One or two recommended actions — executed only on confirmation
- Composes: analytics, sequences

Pulls the account email overview and per-sequence stats, benchmarks deliverability, copy, and targeting, flags stalled or degraded sequences, and recommends concrete changes — pausing or edits happen only after explicit approval. Ships in the [Reply.io Agent Skill](https://github.com/replyio/reply-skill) as `workflows/analyze-performance.md`.
