Skip to content

Repository files navigation

reply-skills

Outbound sales expertise for AI agents, as plain markdown skills.

Teach your agent how to run real outbound: shape an audience, launch a campaign, work the replies, read the numbers honestly — with guardrails that protect your domain and explicit approval gates before anything reaches a real person.

Skills are in the open Agent Skills format, so they work in Claude Code, Codex, Cursor, Antigravity and any SKILL.md-compatible host.

Three packs

The SDR expertise is independent of any product. Reply.io execution is a separate, replaceable pack. Install what you need:

Pack What it gives you Requires
ai-sdr-core The vendor-neutral core: an operation contract of 325 SDR business operations in 21 families, 30 of them core — discovery and contacts, audiences and imports, campaigns, steps and enrolment, messages and conversations, tasks and meetings, consent and suppression, sending capability, oversight and measurement. Each operation says what it reaches, whether it can be undone, what approval it needs, what to read before repeating it and what it costs. Plus outbound strategy and playbooks, and the guardrails — sending limits, channel limits, approval boundaries. Works with any provider, or none.
reply-adapter Executes that core against Reply.io: the reply CLI, API v3, the MCP server, auth and scopes, error translation — and states, operation by operation, what Reply performs directly, what it performs only in part, and what it does not perform at all. ai-sdr-core + a Reply.io account
agentic-runtime Durable multi-session work: goals, plans, work items, checkpoints, resumability, reports, user memory. Skip it if your orchestrator already does this. ai-sdr-core

ai-sdr-core and agentic-runtime are useful without Reply.io and without the Reply CLI. Only reply-adapter needs an execution provider — see Execution requirements.

Where this fits

Reply's agentic toolkit is three pieces. They are complementary, not alternatives:

What it is When you want it
reply CLI npm i -g reply-cli — authenticated access to every v3 endpoint via reply api Your agent has a shell. This is the complete surface.
Reply MCP A curated tool catalog over mcp.reply.io Your client speaks MCP and has no shell — desktop apps, hosted assistants.
reply-skills (this repo) Outbound expertise as markdown skills: what to do, in what order, with what guardrails Your agent knows how to call things but not what to run.

MCP gives your agent tools. Skills give it judgement. Most setups want both; a shell-capable agent can do everything through the CLI alone.

The shortest path that works: install the CLI, reply auth login, reply skills install, then talk to your agent in plain words. MCP is optional — add it when your client has no shell.

Install — one command, any assistant

The reply CLI detects the assistants on your machine and installs the packs into each one, dependencies resolved:

npm install -g reply-cli    # needs Node.js 20 or newer
reply skills install
✓ detected Claude Code, Codex
✓ Claude Code · ai-sdr-core, reply-adapter, agentic-runtime installed
✓ Codex       · ai-sdr-core, reply-adapter, agentic-runtime installed
Start a new session in each assistant so the skills load.

Install a subset — dependencies come along, so adapter pulls core:

reply skills install core
reply skills install adapter runtime
reply skills install --agent codex     # only this assistant
reply skills install --project         # into this repository, not your home

reply skills list shows what is installed where, reply skills update brings packs to the latest version, and reply skills remove takes them out. Add --dry-run to any of them to see the plan without changing anything.

Claude Code, Codex, Cursor, Windsurf, Antigravity and GitHub Copilot are the hosts this is verified against. The per-host sections below are the manual equivalents, for when you would rather not install the CLI.

Install — Claude Code

Everything, in three terminal commands:

claude plugin marketplace add reply-team/reply-skills
claude plugin install reply-adapter@reply-skills
claude plugin install agentic-runtime@reply-skills

ai-sdr-core is installed automatically as a dependency of either pack — Claude Code resolves it for you and reports (+ 1 dependency: ai-sdr-core).

Selective installs, if you want less:

# Just the vendor-neutral SDR expertise — no provider, no runtime
claude plugin install ai-sdr-core@reply-skills

# Core + Reply execution, no durable-work runtime
claude plugin install reply-adapter@reply-skills

# Core + durable work, driven by your own orchestrator, no Reply
claude plugin install agentic-runtime@reply-skills

Skills appear namespaced per pack — ai-sdr-core:campaign-launch, reply-adapter:reply-cli — so they never collide with skills you wrote yourself. Start a new session for newly installed skills to be picked up.

Install — any agent, via the skills ecosystem CLI

npx skills is the ecosystem's package manager for Agent Skills, with a directory entry at skills.sh/reply-team/reply-skills. Use it to reach the long tail of hosts we do not package for individually, or to try these skills quickly in whatever agent you already run.

# Everything — asks where to install, or installs all 18 when a coding agent invokes it
npx skills add reply-team/reply-skills

# Everything, no prompts, into one named agent
npx skills add reply-team/reply-skills --skill '*' --agent claude-code -y

# See what the repository offers without installing anything
npx skills add reply-team/reply-skills --list

Verified with skills CLI 1.5.21 (Windows, Claude Code 2.1.220): --list reports Found 18 skills, and a full install places all 18 — with their references/ and templates/ files — in the host's skills directory (.claude/skills/ for a project-scoped Claude Code install), recording provenance in skills-lock.json so npx skills update works later. Invoked by an agent rather than a person it prints Agent detected — installing non-interactively and installs all 18, so it is safe to script.

This channel has no pack model. It installs individual skills by name: no packs, no namespacing, no dependency resolution. Install all 18 — that is the only shape supported here. A --skill subset is your own responsibility, because the CLI will install reply-operations-mapping or durable-work without sdr-operations and say nothing about it, leaving a skill whose declared dependency is simply absent.

If you want dependencies resolved for you, use the Claude Code marketplace above, where installing reply-adapter pulls in ai-sdr-core automatically.

Install — Codex

Codex has its own plugin mechanism and reads this repository as a marketplace:

codex plugin marketplace add reply-team/reply-skills

# ai-sdr-core FIRST — Codex resolves no dependencies, see below
codex plugin add ai-sdr-core@reply-skills
codex plugin add reply-adapter@reply-skills
codex plugin add agentic-runtime@reply-skills

Skills appear namespaced per pack — ai-sdr-core:campaign-launch, reply-adapter:reply-cli — so they never collide with skills you wrote yourself. Start a new session for newly installed skills to be picked up.

Install order matters here. The Codex plugin format has no dependency field at all, so nothing installs ai-sdr-core for you. Adding reply-adapter on its own gives you five skills whose guidance is missing. Install the core first, or install all three.

Managing them:

codex plugin list                              # installed
codex plugin list --available                   # what the marketplace offers
codex plugin remove reply-adapter@reply-skills   # remove one pack
codex plugin marketplace upgrade                # pull a newer snapshot of this repo

Verified with codex-cli 0.146.0-alpha.3.1: all three packs install, and all 18 skills reach the model — 9 + 5 + 4, confirmed via codex debug prompt-input. Re-running codex plugin add upgrades in place: it does not duplicate the config entry or the cache.

On Windows the codex binary is not on PATH — it ships with the desktop app at %LOCALAPPDATA%\OpenAI\Codex\bin\<hash>\codex.exe. Call it by full path, and note that tooling which detects Codex with which codex will wrongly report it as missing.

Install — Cursor, Windsurf, Antigravity, GitHub Copilot and other SKILL.md hosts

Verified on Cursor, Windsurf, Antigravity and GitHub Copilot. These hosts are installed to by copying a pack's skills directory. Cursor is confirmed — Cursor 3.14.27 and cursor-agent 2026.08.04-aaa8809, with reply skills install --agent cursor writing to ~/.cursor/skills, or to .agents/skills with --project. Windsurf is confirmed as well — it ships as Devin 3.6.27 with the devin CLI 3000.3.27, and reply skills install --agent windsurf writes to ~/.codeium/windsurf/skills, or to .windsurf/skills with --project. Antigravity 2.0.1 is confirmed at ~/.gemini/config/skills, or .agents/skills with --project; it is the one host that needs no new session, re-reading its skills every turn. The CLI decides that host is present by looking for ~/.gemini/antigravity, which is not the directory it writes to — if your install goes undetected, that is the one to check. GitHub Copilot is confirmed with Copilot CLI 1.0.80 at ~/.copilot/skills, or .agents/skills with --project, and copilot skill list names every skill it loaded and where from. Its VS Code agent host reads the same ~/.copilot/skills, but scans it once per window, so reload the window there.

reply skills install (above) does this copying for you, to the same paths. These manual steps are the equivalent by hand.

No plugin mechanism means no dependency resolution, so install the core yourself — every other pack needs it:

git clone https://github.com/reply-team/reply-skills /tmp/reply-skills

# ai-sdr-core is required by the others — copy it first
cp -r /tmp/reply-skills/plugins/ai-sdr-core/skills/*     <host skills dir>/
cp -r /tmp/reply-skills/plugins/reply-adapter/skills/*   <host skills dir>/
cp -r /tmp/reply-skills/plugins/agentic-runtime/skills/* <host skills dir>/

Omit the packs you do not want — but never copy reply-adapter or agentic-runtime without ai-sdr-core, or their skills will reference guidance that is not there. Start a new session afterwards — except on Antigravity, which picks them up in a conversation already open.

Install channels — what is actually verified

A command in this README is part of the product contract, so each row below says which version it was tested against. A row without one has instructions that are a reasonable starting point, not a promise.

Channel Installs Dependency handling Layout on disk Verified
reply skills install Packs Resolved by the installer on every host Whatever the channel it drives produces reply CLI 0.4.0 — Claude Code and Codex; reply CLI 0.5.1 — Cursor and Windsurf; the release adding --agent antigravity — Antigravity and GitHub Copilot
Claude Code plugin marketplace Packs Resolved by the hostreply-adapter pulls ai-sdr-core Namespaced per pack Claude Code 2.1.220
npx skills / skills.sh Individual skills None — install all 18 yourself Flat, no namespacing skills CLI 1.5.21
Codex plugin marketplace Packs Manual — install ai-sdr-core first; the format has no dependency field Namespaced per pack codex-cli 0.146.0-alpha.3.1
Cursor (directory copy) Skills, by copying Manual — copy ai-sdr-core first Flat, ~/.cursor/skills or .agents/skills Cursor 3.14.27, cursor-agent 2026.08.04-aaa8809
Windsurf (directory copy) Skills, by copying Manual — copy ai-sdr-core first Flat, ~/.codeium/windsurf/skills or .windsurf/skills Devin 3.6.27, devin CLI 3000.3.27
Antigravity (directory copy) Skills, by copying Manual — copy ai-sdr-core first Flat, ~/.gemini/config/skills or .agents/skills Antigravity 2.0.1
GitHub Copilot (directory copy) Skills, by copying Manual — copy ai-sdr-core first Flat, ~/.copilot/skills or .agents/skills Copilot CLI 1.0.80

The first two channels resolve the ai-sdr-core dependency for you. On the rest, installing a pack without the core is something you have to avoid deliberately.

Several of the directory-copy rows overlap, which the table does not show: Windsurf also reads .agents/skills, the directory Cursor, Codex, Antigravity and GitHub Copilot use for --project — Codex's plugin mechanism is user-scoped, so a project-scope install falls back to copying there. Copying skills into it for one of them makes them visible in the others, and removing them for one changes what the others see. Use the per-host user directory when you want a host's skills to itself.

Execution requirements

Installing skills is not the same as configuring a provider. The core and runtime packs need nothing. reply-adapter needs at least one Reply.io execution surface — the CLI, the MCP server, or the API directly; Where this fits says which to pick, and the reply CLI repository is the source of truth for installing and authenticating it. To drive the API on its own, the full surface is the v3 reference — agents should start at llms.txt.

If the CLI is already installed, this confirms the adapter has something to drive:

reply auth whoami

What's inside

See INDEX.md for the full catalog — every skill, its pack, maturity and version. Agents: fetch that first; each skill's frontmatter is its contract.

Some business and protection content ships as honest skeletons marked TODO(expert): structure and safety posture are final, the numbers await validation by domain experts. A visible gap is deliberate — invented expertise would be worse.

The operation contract is honest in a second way, with a second marker. It carries 21 open questions: forks where two readings are defensible, we took one, and taking the other would change an operation rather than the prose around it. An operation left unsettled by one of them says so, and names the fork.

Safety model

Skills never let an agent start a campaign, send a message, or delete data without your explicit confirmation in the conversation. A message composed for one named person requires you to approve its literal text. An operation that carries a set is one decision, and it shows a preview that names the people it would reach — never a bare count, which is a number you can neither check nor refuse.

Two kinds of operation are the exception, and both run first and tell you immediately. Stopping — pausing a campaign that is burning your domain, holding outbound, clearing a queue — because waiting is the destructive choice. And recording something that already happened outside our control, such as somebody's request to stop, because delaying that is the only way to get it wrong. Starting anything back up is never in that set.

The rules live in one place — the approval-boundaries skill — and ship inside ai-sdr-core, so no selective install can leave them out. They are additionally bound mechanically by scoped API keys: grant an agent only the scopes its workflows need.

Managing installed packs

claude plugin list                      # what's installed
claude plugin details ai-sdr-core       # its skills and their token cost
claude plugin update reply-adapter      # update one pack (restart to apply)
claude plugin uninstall reply-adapter   # remove a pack
claude plugin prune                     # drop dependencies nothing needs any more

Contributing

Skills are the product here — they are reviewed like code, because they run like code. Start with CONTRIBUTING.md, then:

npm run build && npm run check    # regenerate manifests and catalogs, then verify everything

License

MIT © Reply.io

About

No description or website provided.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages