agentleFS
nitrosendnitrosend/claude/skills/nitrosend-setup/SKILL.md

nitrosend-setup

Skill3 starsChanged 7 months agoMITView on GitHub

Guided Nitrosend onboarding. Walks through remote MCP connection, Brand Kit identity setup, brand-subdomain preparation or customer-domain verification, and sender defaults. Also offers to configure proactive analytics (daily/weekly/monthly reports). Use when: "set up nitrosend", "configure email", "onboard", "get started with nitrosend", or when nitro_get_status shows incomplete onboarding.

The file

Show its rules and text

We split this skill into the rules it gives an agent

22 rules. About 0 are common, 8 are distinctive, and 14 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 14

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If the user is in Claude Desktop, Claude.ai, Claude Cowork, or this Nitrosend Claude plugin, connect Nitrosend through the remote MCP …

    line 18
  2. Very specific:

    Use the CLI only when the user explicitly wants a terminal, CI, or headless agent-runner workflow outside Claude Desktop.

    line 28
  3. Very specific:

    Run nitro_get_status to see what's already configured.

    line 35
  4. Distinctive:

    If the MCP server is connected, OAuth is already working.

    line 39
  5. Distinctive:

    If not connected, tell the user:

    line 41
  6. Very specific:

    Verify the connection with nitro_get_status

    line 48
  7. Distinctive:

    If the user needs a different Nitrosend account on an OAuth connection:

    line 52
  8. Very specific:

    Run nitro_get_status and read the ids from available_accounts.items[*].id

    line 54
  9. Very specific:

    Run nitro_select_account with the target account_id — the switch takes effect on the next tool call and lands on that account's default …

    line 55
  10. Very specific:

    If the brand has no real business context, ask the user for their website URL and run nitro_set_brand_kit with url, the default synchronous …

    line 64
  11. Distinctive:

    If they don't have a website, ask for:

    line 69
  12. Very specific:

    Read brand.welcome_email in status before composing.

    line 78
  13. Very specific:

    Read brand_subdomain from nitro_get_status.

    line 90
  14. Very specific:

    If needed, poll nitro_get_status until brand_subdomain.ready is true.

    line 98
  15. Very specific:

    Only if it is not selected, call nitro_manage_domains with operation: "select_brand_subdomain" and the user's chosen local_part (default …

    line 99
  16. Distinctive:

    Do not claim that account creation or a draft consumes sending infrastructure.

    line 109
  17. Distinctive:

    Do not describe a shared sender or an allowance for unverified sending.

    line 110
  18. Very specific:

    Use nitro_configure_account to set:

    line 114
  19. Distinctive:

    Use only the scheduling operation actually exposed by the host.

    line 133
  20. Distinctive:

    If they do not establish an answer, search again or say what is not verified — never invent product behavior.

    line 143
  21. Very specific:

    Create a first email with compose-email (/nitrosend:compose-email)

    line 150
  22. Very specific:

    Add an audience with import-contacts (/nitrosend:import-contacts)

    line 151

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Nitrosend Setup

Guide the user through Nitrosend onboarding. Check what's already done and skip completed steps.

Connection Surface

If the user is in Claude Desktop, Claude.ai, Claude Cowork, or this Nitrosend Claude plugin, connect Nitrosend through the remote MCP connector at https://api.nitrosend.com/mcp. Do not recommend a terminal CLI or API-key setup for standard Claude Desktop onboarding.

In any other agent (Antigravity, Cursor, Codex, Gemini CLI, VS Code and others), connect the same remote MCP server through that client's MCP settings with browser OAuth. The per-client guides are at https://docs.nitrosend.com/integrations/overview.

Use the CLI only when the user explicitly wants a terminal, CI, or headless agent-runner workflow outside Claude Desktop. If a command sandbox cannot reach api.nitrosend.com, treat that as sandbox egress, not as a reason to switch Claude Desktop users to the CLI.

Step 1: Check Current State

Run nitro_get_status to see what's already configured. Report the current state briefly.

Step 2: Connection

If the MCP server is connected, OAuth is already working. Confirm this.

If not connected, tell the user:

  1. Open the MCP or connectors settings in their client
  2. Select the bundled nitrosend server if a Nitrosend plugin is installed (Claude or Antigravity). Otherwise add https://api.nitrosend.com/mcp using the guide for that client at https://docs.nitrosend.com/integrations/overview
  3. Complete the browser sign-in and approval flow
  4. Verify the connection with nitro_get_status

Multiple Accounts

If the user needs a different Nitrosend account on an OAuth connection:

  1. Run nitro_get_status and read the ids from available_accounts.items[*].id
  2. Run nitro_select_account with the target account_id — the switch takes effect on the next tool call and lands on that account's default brand
  3. Re-run nitro_get_status to confirm, then nitro_select_brand if a non-default brand is needed

API-key connections are pinned to one account and cannot switch.

Step 3: Brand Kit

If the brand has no real business context, ask the user for their website URL and run nitro_set_brand_kit with url, the default synchronous mode, and a stable idempotency_key. Let them override any scraped values. Reuse that key only for an exact retry.

If they don't have a website, ask for:

  • Company name
  • A sentence about what the business offers and who it is for

Save fields.company_name and fields.company_description. Use the theme schema's default brand colour unless one is supplied. Do not ask for a hex colour or logo before understanding the business, and never invent "My Brand" or a description. A name and colour alone are not enough to write from.

Read brand.welcome_email in status before composing. A queued, writing or sending preview is already being prepared on the server; let it finish and read its campaign. If written or sent, show the existing draft. Do not create or send another first email just because the agent has connected. This owner preview never sends to subscribers.

Send direct identity values in fields. Pass a public logo_url separately; remote logo fetches also require a stable idempotency_key. For a local image, use nitro_ingest first and pass its returned media_url or image_url.

Step 4: Sending Domain

Read brand_subdomain from nitro_get_status. If there is no ready selected sender, offer these two explicit paths:

  1. Recommended quick start: call nitro_manage_domains with operation: "prepare_brand_subdomain". This reserves the brand-matched <name>.nitrosend.net address and creates its local sending identity under Nitrosend's verified root. No per-brand DNS or DKIM work is needed. It sends no email and preserves an existing sender selection.
  2. If needed, poll nitro_get_status until brand_subdomain.ready is true. Only if it is not selected, call nitro_manage_domains with operation: "select_brand_subdomain" and the user's chosen local_part (default hello). Never infer selection from readiness.
  3. Customer-domain alternative: use nitro_manage_domains with operation: "add", show the returned DNS records, wait for the user to add them, then use operation: "verify". It names any record still missing and is safe to repeat; once the records are in place, Nitrosend verifies the domain on its own, and verify shows its progress.

Do not claim that account creation or a draft consumes sending infrastructure. Do not describe a shared sender or an allowance for unverified sending.

Step 5: Sender Defaults

Use nitro_configure_account to set:

  • from_name: Their preferred sender name
  • from_email: Must match the explicitly selected Nitrosend brand-subdomain sender or a verified customer domain
  • reply_to: Where replies should go
  • test_email_recipients: Up to 5 emails for test sends

Step 6: Proactive Analytics (Optional)

Offer proactive analytics only if the current host exposes a scheduled-task capability. If it does not, say that recurring reports are unavailable in this client and continue without inventing a task tool. When scheduling is available:

  • Daily (weekday mornings): Quick summary of new subscribers and any sending activity from yesterday. Use nitro_get_insights with period: "7d" and nitro_query for recent contacts.
  • Weekly (Monday): Open/click rates, list growth, deliverability summary. Use nitro_get_insights with period: "7d" for trends.
  • Monthly (1st of month): Deep dive using nitro_get_insights with period: "30d", comparing with the account's prior periods and any benchmarks returned by the live tool.

Use only the scheduling operation actually exposed by the host. Suggested cron expressions:

  • Daily: "23 8 * * 1-5" (8:23am weekdays)
  • Weekly: "47 8 * * 1" (8:47am Mondays)
  • Monthly: "13 9 1 * *" (9:13am on the 1st)

Product Questions

For any Nitrosend product question not answered by the current context (how a feature works, setup or verification steps, API/SDK/CLI usage, integrations), call nitro_search_docs and treat the returned excerpts as the source of truth. If they do not establish an answer, search again or say what is not verified — never invent product behavior.

Completion

Summarize what was configured and suggest next steps by workflow name. In the Claude plugin, include the slash command:

  • Create a first email with compose-email (/nitrosend:compose-email)
  • Add an audience with import-contacts (/nitrosend:import-contacts)
  • Build an automation with build-flow (/nitrosend:build-flow)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.