SKILL.md — a description your agent’s router matches on, plus the guidance it
loads when the description matches. No runtime, no code, nothing to host.
Skills use the open Agent Skills format, so they load in Claude Code,
Codex, and any other SKILL.md-compatible host.
MCP gives your agent tools. Skills give it judgement. MCP and the CLI are execution
surfaces — individual operations your agent can call. Skills are procedure: which operations to
compose, in what order, what to verify, and where to stop and ask. See
Choose your interface.
The three packs
The packs split along a clean line: the SDR methodology, the Reply.io execution layer, and the durable-work runtime each install on their own, so you take the pieces your setup calls for.ai-sdr-core has no dependencies of its own, and reply-adapter and agentic-runtime never depend
on each other — either can be absent. Guardrails and approval boundaries ship inside
ai-sdr-core, so no selective install can leave safe operation out.
Every skill, with its pack, category, and maturity: Skill catalog.
Install
reply skills install — recommended
The Reply CLI detects the assistants on your machine and installs all three
packs into each one, resolving dependencies itself:
adapter pulls core:
Claude Code — plugin marketplace
ai-sdr-core is resolved automatically as a dependency of either pack — Claude Code reports
(+ 1 dependency: ai-sdr-core). Install it alone if you want the vendor-neutral expertise only:
ai-sdr-core:campaign-launch, reply-adapter:reply-cli — so they
never collide with skills you wrote yourself.
Codex — plugin marketplace
codex plugin add upgrades in place rather than
duplicating the entry.
Any host — the skills ecosystem CLI
npx skills is the ecosystem package manager for Agent
Skills, with a directory entry at
skills.sh/reply-team/reply-skills. Use it to reach
hosts Reply does not package for individually.
skills-lock.json, so npx skills update works later.
Cursor, Windsurf, Gemini CLI, GitHub Copilot — directory copy
These hosts have no plugin mechanism, so a pack is installed by copying its skills directory. That works because a pack is just a directory of skills.reply skills install does this copying for you, to the same paths. Never copy reply-adapter or
agentic-runtime without ai-sdr-core, or their skills will reference guidance that is not there.
Install channels compared
Each row states the version it was verified against. Rows marked not verified have instructions that are a reasonable starting point, not a promise.
Only the first two channels resolve the
ai-sdr-core dependency for you.
Where the files land
reply skills install writes to your user directory by default, or to the current repository with
--project.
On Claude Code and Codex the packs go through the assistant’s own plugin mechanism, so they keep
updating through it. Other
SKILL.md hosts receive the skills as files.
“Not yet” means the skills directory came from that assistant’s documentation and has not been
confirmed by a verification run. The install works; what is unconfirmed is whether the assistant
reads from where the files were put. Those hosts are marked
(paths not yet verified) in the report
and carry "verified": false in --json output.Verify the install
Connect an execution surface
Installing skills is a separate step from connecting Reply.io.reply-adapter is the pack that
calls the platform, so it needs at least one Reply.io execution surface configured:
If the CLI is installed, this confirms the adapter has something to drive:
Run your first skill
Once installed, ask your agent in plain language — the host routes to a skill by matching its description:- “Import this CSV as a new list and tell me about the duplicates” →
audience-building - “Plan an outbound campaign to book ten meetings with fintech founders” →
campaign-planning - “What sending limits should I respect on a brand-new domain?” →
sending-guardrails - “Show me the interested replies from this week” →
inbox-triage - “Which campaigns are underperforming, and what should I fix?” →
performance-analysis - “Turn this goal into a plan I can resume tomorrow” →
durable-work
Safety model
Skills never let an agent start a sequence, send a message, or delete data without your explicit confirmation in the conversation. Anything that sends content requires you to approve the literal text first. Bulk operations show their plan and their counts before running. Protective actions are the one exception: pausing a campaign that is burning your domain happens first and tells you immediately, because waiting is the destructive choice. The rules live in one skill —approval-boundaries — and ship inside ai-sdr-core, so no selective
install can omit them. Bound them mechanically as well, with
scoped API keys: grant an agent only the scopes its work needs. See
Agent safety rules.
Manage installed packs
--dry-run to any of them to see the plan without changing anything. Removing a pack that
another installed pack depends on is refused — remove both, or run reply skills remove with no pack.
Through Claude Code’s own plugin mechanism:
Troubleshooting
The agent doesn't seem to know the skills
The agent doesn't seem to know the skills
Skills load at session start. Start a new session in the assistant, then ask something that
matches a skill description — hosts route on the
description field, so a vague prompt may match
nothing. Confirm the install first with reply skills list.A skill references guidance that isn't there
A skill references guidance that isn't there
A pack was installed without
ai-sdr-core. Only reply skills install and the Claude Code
marketplace resolve that dependency; on Codex, npx skills, and directory copies it is your job.
Install the core and start a new session.`which codex` says Codex is missing on Windows
`which codex` says Codex is missing 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. Tooling that detects
Codex with which codex will wrongly report it as absent.Skills installed, but Reply operations fail
Skills installed, but Reply operations fail
reply-adapter needs a working Reply.io credential. Run reply auth whoami; if it fails, run
reply auth login. For 401/403 on a specific call, check the key’s scopes against
Authentication.The install reported a host as unverified
The install reported a host as unverified
Expected for Cursor, Windsurf, Gemini CLI, and GitHub Copilot. The files were written to the path
that host documents, but Reply has not confirmed the host reads them. Check the host’s own skills
directory and consult its documentation.
Maturity and honest gaps
Each skill carries a maturity level —draft, reviewed, validated, or production. Some business
and protection content ships as honest skeletons marked TODO(expert): the structure and safety
posture are final, the specific numbers await validation by domain experts. A visible gap is
deliberate; invented expertise would be worse. Per-skill maturity is in the
Skill catalog.
Links
- Repo: github.com/reply-team/reply-skills (MIT)
- Live catalog, always current:
INDEX.md - The contract every skill follows:
docs/skill-contract.md - Pack architecture and invariants:
docs/packs.md - Execution layer: Reply CLI · Reply MCP · API v3
- Next: Skill catalog