{
  "markdown": "# SenderKit Skills\n\n[![HOL Guard](https://img.shields.io/badge/HOL%20Guard-Verified-green)](https://hol.org/guard)\n[![HOL Guard Score](https://img.shields.io/badge/Score-95%2F130-brightgreen)](https://github.com/hashgraph-online/hol-guard)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/senderkit/senderkit-skills/badge)](https://securityscorecards.dev/viewer/?uri=github.com/senderkit/senderkit-skills)\n\n**Add transactional email, SMS, push, and web-push notifications to any app — straight from your AI coding agent.** Portable AI-agent skills for [SenderKit](https://www.senderkit.com), packaged as a plugin for Claude Code, OpenAI Codex, Cursor, opencode, and other Agent Skills-compatible coding assistants.\n\nSenderKit sends email, SMS, push, and web-push directly, and can also route through providers like Resend, SendGrid, Postmark, Mailgun, SES, Twilio, FCM, APNs, and Expo — so your app isn't locked into one vendor. These skills let an agent wire SenderKit into your codebase and operate it at runtime over MCP.\n\nThis repository contains one `senderkit` plugin with three related skills:\n\n- `senderkit-integration` - add SenderKit to an app, or replace/route an existing email, SMS, or push provider through it.\n- `senderkit-mcp-messaging-operations` - send and inspect messages at runtime through the SenderKit MCP connector.\n- `senderkit-email-deliverability` - authenticate a sending domain (SPF/DKIM/DMARC) so email reaches the inbox.\n\n## What can I ask?\n\nYou don't need to name SenderKit — these skills activate on everyday messaging requests. Examples:\n\n| You ask | Skill that helps |\n| --- | --- |\n| \"Add a welcome email when a user signs up\" | `senderkit-integration` |\n| \"Set up SMS OTP / verification codes\" | `senderkit-integration` |\n| \"Add push notifications to this project\" | `senderkit-integration` |\n| \"Send password-reset and receipt emails\" | `senderkit-integration` |\n| \"Switch my email provider to SenderKit (or route through it, no lock-in)\" | `senderkit-integration` |\n| \"Send a test email and check its delivery status\" | `senderkit-mcp-messaging-operations` |\n| \"Why did this message fail? Cancel that scheduled send\" | `senderkit-mcp-messaging-operations` |\n| \"Why are my emails going to spam? Set up DKIM/SPF/DMARC\" | `senderkit-email-deliverability` |\n\nRule of thumb: **integration** writes SenderKit into your code; **messaging operations** sends and inspects messages at runtime via MCP.\n\n## Install\n\nThis repo ships per-platform metadata — Claude Code (`.claude-plugin/`), OpenAI Codex (`.codex-plugin/`), Cursor (`.cursor-plugin/`), and opencode (`opencode.json`) — and the authored skills under `./skills/`. Pick your agent below; each path ends with a quick check so you know it worked.\n\n### Any agent (skills CLI)\n\nThe [skills CLI](https://skills.sh) installs the skills into the right location for whichever agent you use (Claude Code, Codex, Cursor, opencode, and others):\n\n```bash\nnpx skills add senderkit/senderkit-skills\n```\n\nIt detects your agent, lists the three skills, and copies the ones you pick. This installs the skills only — to get the `senderkit_*` MCP tools, also connect the MCP server (see [Connect the SenderKit MCP server](#connect-the-senderkit-mcp-server)).\n\n**Check it works:** ask your agent *\"Use senderkit-integration to add a welcome email.\"*\n\n### Claude Code\n\nFrom the marketplace (recommended):\n\n```text\n/plugin marketplace add senderkit/senderkit-skills\n/plugin install senderkit@senderkit-skills\n```\n\nFrom a local checkout (for development):\n\n```bash\nclaude --plugin-dir .\n```\n\nThis loads both skills and the SenderKit MCP server from the repo's `.mcp.json` (OAuth, no key stored). Run `/mcp`, sign in, and pick a workspace and test/live mode.\n\n**Check it works:** run `/mcp` — the `senderkit` server should be connected — or ask *\"Use senderkit-integration to add a welcome email.\"*\n\n### OpenAI Codex\n\n> \"ChatGPT\" support means **Codex**, OpenAI's coding agent (CLI / IDE extension / app). The ChatGPT chat app does not load skills.\n\nCodex discovers skills from `.agents/skills/` directories. Vendor the skills into your user scope (available in every repo) or a single repo's scope:\n\n```bash\ngit clone https://github.com/senderkit/senderkit-skills.git\nmkdir -p ~/.agents/skills\ncp -R senderkit-skills/skills/senderkit-integration ~/.agents/skills/\ncp -R senderkit-skills/skills/senderkit-mcp-messaging-operations ~/.agents/skills/\n# repo-scoped instead? copy into <your-repo>/.agents/skills/\n```\n\nRestart Codex so it picks them up. Connect MCP: the bundled `.codex-plugin/mcp.json` points Codex at `https://mcp.senderkit.com` over OAuth — run `codex mcp login senderkit` to sign in (no key stored). Prefer an API key? See [API key (optional)](#api-key-optional) below, or run `senderkit mcp install --client codex`.\n\n**Check it works:** run `/skills` (the SenderKit skills should be listed) or invoke one explicitly with `$senderkit-integration`.\n\nDistributing the full plugin (skills + MCP) to a team? Publish this repo as a Codex marketplace and install via `codex` → `/plugins`. See <https://developers.openai.com/codex/plugins/build>.\n\n### Cursor\n\nFor an individual install, load this repo as a local plugin:\n\n```bash\ngit clone https://github.com/senderkit/senderkit-skills.git\nln -s \"$(pwd)/senderkit-skills\" ~/.cursor/plugins/local/senderkit\n```\n\nReload Cursor (**Developer: Reload Window**). Skills show up under Settings → Rules & Skills and can be invoked with `/senderkit-integration`. Connect MCP: the bundled `.cursor-plugin/plugin.json` points Cursor at `https://mcp.senderkit.com` over OAuth — open Settings → MCP, toggle the server on, and sign in (no key stored). Prefer an API key? See [API key (optional)](#api-key-optional) below, or run `senderkit mcp install --client cursor`.\n\nFor teams, import this GitHub repo as a Team Marketplace (Dashboard → Settings → Plugins; Teams/Enterprise plans). See <https://cursor.com/docs/plugins>.\n\n**Check it works:** type `/senderkit-integration` in chat, or ask *\"Send a test email and check its status via SenderKit MCP.\"*\n\n### opencode\n\nopencode auto-discovers Agent Skills (one folder per skill, `SKILL.md` inside) from `~/.config/opencode/skills/` (user scope, every repo) or `.opencode/skills/` (repo scope) — and also reads `.claude/skills/` and `.agents/skills/`, so the same skill folders work unchanged. Vendor them in:\n\n```bash\ngit clone https://github.com/senderkit/senderkit-skills.git\nmkdir -p ~/.config/opencode/skills\ncp -R senderkit-skills/skills/senderkit-integration ~/.config/opencode/skills/\ncp -R senderkit-skills/skills/senderkit-mcp-messaging-operations ~/.config/opencode/skills/\ncp -R senderkit-skills/skills/senderkit-email-deliverability ~/.config/opencode/skills/\n# repo-scoped instead? copy into <your-repo>/.opencode/skills/\n```\n\nConnect MCP: merge the `mcp` block from this repo's [`opencode.json`](opencode.json) into your own `opencode.json` (project root or `~/.config/opencode/opencode.json`). It points opencode at `https://mcp.senderkit.com` as a `\"type\": \"remote\"` server with no auth, so opencode runs the OAuth flow on first use (no key stored). Sign in with `opencode mcp auth senderkit`. Prefer an API key? See [API key (optional)](#api-key-optional) below.\n\n**Check it works:** run `opencode mcp list` (the `senderkit` server should be listed) or ask *\"Use senderkit-integration to add a welcome email.\"*\n\n### Connect the SenderKit MCP server\n\nInstalling the plugin/skills gives you the `senderkit_*` MCP tools. Auth differs per client:\n\n- **Claude Code** — OAuth via the repo's `.mcp.json`. Run `/mcp`, sign in, pick a workspace and test/live mode. **No API key is stored in the repo.**\n- **Cursor** — OAuth via the bundled `.cursor-plugin/plugin.json`. Toggle the server under Settings → MCP and sign in. **No API key is stored in the repo.**\n- **Codex** — OAuth via the bundled `.codex-plugin/mcp.json`. Run `codex mcp login senderkit` to sign in. **No API key is stored in the repo.**\n- **opencode** — OAuth via the bundled `opencode.json` (`\"type\": \"remote\"`, `url` only). Run `opencode mcp auth senderkit` to sign in. **No API key is stored in the repo.**\n\n#### API key (optional)\n\nEvery shipped manifest is OAuth-only, so **no credential is committed**. `mcp.senderkit.com` also accepts an API key if you'd rather skip OAuth — set `SENDERKIT_API_KEY` (the `sk_live_` / `sk_test_` prefix selects mode) and add it in **your own** MCP config:\n\n- **Cursor / Claude Code / Windsurf** — add an `Authorization` header, e.g. in `~/.cursor/mcp.json`:\n  ```json\n  {\n    \"mcpServers\": {\n      \"senderkit\": {\n        \"url\": \"https://mcp.senderkit.com\",\n        \"headers\": { \"Authorization\": \"Bearer ${env:SENDERKIT_API_KEY}\" }\n      }\n    }\n  }\n  ```\n- **Codex** — add `\"bearer_token_env_var\": \"SENDERKIT_API_KEY\"` to the `senderkit` server in your own `.codex-plugin/mcp.json` (or `~/.codex/config.toml`).\n- **opencode** — in your own `opencode.json`, set `\"oauth\": false` on the `senderkit` server and add a header: `\"headers\": { \"Authorization\": \"Bearer {env:SENDERKIT_API_KEY}\" }` (opencode interpolates `{env:VAR}`).\n\nOther clients (Windsurf, VS Code, Zed, Claude Desktop) and manual config: see [`skills/senderkit-mcp-messaging-operations/README.md`](skills/senderkit-mcp-messaging-operations/README.md#connecting-the-senderkit-mcp-server) and [`https://docs.senderkit.com/mcp/installation`](https://docs.senderkit.com/mcp/installation). The SenderKit CLI can also write the config for you: `senderkit mcp install --client cursor` (or `codex`, `claude-code`, `vscode`, `zed`, `all`).\n\n## Skills\n\n### SenderKit Integration\n\nUse `senderkit-integration` when an agent needs to modify an application: detect the stack, add SenderKit, migrate provider calls, preserve existing notification behavior, and verify the integration before live traffic.\n\nSuggested prompt:\n\n```text\nUse $senderkit-integration to add SenderKit transactional messaging to this project.\n```\n\nClaude Code plugin command:\n\n```text\n/senderkit:senderkit-integration\n```\n\n### SenderKit MCP Messaging Operations\n\nUse `senderkit-mcp-messaging-operations` when an agent has access to the SenderKit MCP server and needs to send messages, inspect templates, check message status, or cancel pending sends through MCP tool calls.\n\nSuggested prompt:\n\n```text\nUse $senderkit-mcp-messaging-operations to send a test message and verify its status through SenderKit MCP.\n```\n\nClaude Code plugin command:\n\n```text\n/senderkit:senderkit-mcp-messaging-operations\n```\n\n### SenderKit Email Deliverability\n\nUse `senderkit-email-deliverability` when transactional email needs to be authenticated to reach the inbox: diagnose current SPF/DKIM/DMARC with `dig`, generate the exact records to add, point to the SenderKit dashboard for issued values, and verify publication.\n\nSuggested prompt:\n\n```text\nUse $senderkit-email-deliverability to diagnose and fix SPF, DKIM, and DMARC for my sending domain.\n```\n\nClaude Code plugin command:\n\n```text\n/senderkit:senderkit-email-deliverability\n```\n\n## Repository layout\n\n```text\nsenderkit-skills/\n|-- .claude-plugin/\n|   |-- marketplace.json\n|   `-- plugin.json\n|-- .codex-plugin/\n|   |-- mcp.json\n|   `-- plugin.json\n|-- .cursor-plugin/\n|   |-- marketplace.json\n|   `-- plugin.json\n|-- .github/\n|   |-- dependabot.yml\n|   `-- workflows/\n|       |-- validate.yml\n|       `-- hol-scanner.yml\n|-- .codexignore\n|-- .mcp.json\n|-- opencode.json\n|-- AGENTS.md\n|-- LICENSE\n|-- README.md\n|-- SECURITY.md\n|-- llms.txt\n`-- skills/\n    |-- senderkit-email-deliverability/\n    |-- senderkit-integration/\n    `-- senderkit-mcp-messaging-operations/\n```\n\n## Official docs\n\n- SenderKit MCP overview: `https://docs.senderkit.com/mcp/overview`\n- SenderKit MCP tools: `https://docs.senderkit.com/mcp/tools`\n- SenderKit OpenAPI: `https://www.senderkit.com/openapi.yaml`\n",
  "bytes": 11846,
  "sha": "9c441870a8eb106bda5ad97af804699d74d4f342ee233599b64e6751d5ea0663",
  "repo_slug": "senderkit/senderkit-skills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_senderkit_senderkit_0e7219f9/readme"
}