본문으로 건너뛰기
cccskills
무료GitHub에 공개

sendmux-management

Use this skill for Sendmux account/team administration with a root API key or Management-scoped OAuth connection. This is the go-to skill for domain lifecycle work — create a sending domain, fetch its DNS/zone-file records, verify DNS/MX — even if asked as a single quick step. Also use it for provisioning, suspending, or deleting mailboxes and mailbox API keys; configuring sending accounts/providers; creating, testing, or rotating webhooks; checking billing, spend, or balance; and pulling delivery, incoming, or metrics logs for reporting or admin purposes. This is account/team-level administration, not inbox usage: do not trigger for reading, searching, triaging, syncing, or replying to messages inside a specific mailbox (use sendmux-mailbox-agent), one-off transactional sending (sendmux-send-email), or initial setup/login (sendmux-getting-started).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Sendmux/skills스타 18(GitHub 18 + cccskills 0)
연동 도구X (Twitter)

실행 점수 미검증

설치 방법 보기

포함된 파일(3)

  • SKILL.md12.6 KB
  • evals/evals.json4.5 KB
  • evals/trigger-evals.json667 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Sendmux management

Use this skill for team administration with an smx_root_ key or a REST OAuth grant with Management access.

Boundaries

  • Do not ask the user to paste an API key or one-time secret.
  • Use a root API-key profile or OAuth profile with Management access and the operation's required scopes. OAuth remains limited by the authorising user's current team permissions.
  • Agent self-registration does not require Management or a root key. Route a user who only wants an agent inbox to sendmux-getting-started and sendmux agent:register.
  • Do not use management calls to read, triage, sync, or reply from a mailbox; route those tasks to sendmux-mailbox-agent.
  • Treat create-key and webhook-secret responses as sensitive one-time values. Put them only in the user's chosen secret store or secure output path.
  • Confirm destructive operations before deleting domains, mailboxes, mailbox keys, sending accounts, or webhooks.
  • Confirm the target resource before suspend, resume, rotate-secret, or test-delivery operations.

Surface choice

TaskPreferred surface
DomainsMCP for list/create/get/zone-file/verify; CLI or SDK for update/delete/filter rules.
MailboxesMCP for list/create/get/update/suspend/resume/key create/key delete; CLI or SDK for delete and filters.
Sending accountsCLI or SDK. MCP does not curate provider tools yet.
WebhooksMCP for list/create/test; CLI or SDK for get/update/delete/rotate-secret/deliveries/payloads.
Billing and spendMCP management_get_spend_summary; CLI or SDK for balance and transactions.
Outbound delivery logs and metricsMCP for list/get logs and metrics; CLI or SDK also work.
Incoming logsCLI or SDK. MCP does not curate incoming-log tools yet.

For terminal work, use the sendmux CLI with --json. For application code, use @sendmux/management and createManagementClient.

SDK clients accept accessToken instead of apiKey, including a provider that resolves the current token before each request.

Check connection and permissions

Explain the selected connection in this order:

  1. Validate it with sendmux management:get-connection --profile work --json, replacing work with the selected profile. This check requires Management access but no additional read permission.
  2. Interpret the response using the schema example below. data.credential.type identifies api_key, oauth, or agent_token; data.permissions contains effective permission names. data.label is a server-provided connection display label, not the local CLI profile name. Explain fields without exposing account metadata unnecessarily.
  3. Match the requested operation to its advertised scopes and the authorising user's current team permissions. Use the operation-specific mappings in this skill or inspect that operation's security entry in the public Management OpenAPI before naming its scope. Scope names cannot be inferred from an operation's name. Login/re-consent chooses requested scopes; automatic token refresh preserves the existing grant rather than choosing extra permissions.
  4. Close with the handoffs: OAuth login and token lifecycle → sendmux-cli; agent self-registration → sendmux-getting-started; mailbox read, search, sync, triage, or replies → sendmux-mailbox-agent. Management access does not replace those workflows.

This synthetic example shows the CLI response shape, not a verified account:

{
  "ok": true,
  "meta": { "request_id": "EXAMPLE_REQUEST_ID" },
  "data": {
    "credential": { "id": "EXAMPLE_CREDENTIAL_ID", "name": "Example connection", "type": "oauth" },
    "label": "Example connection",
    "team": { "id": "EXAMPLE_TEAM_ID", "name": "Example team" },
    "mailboxes": [{ "id": "EXAMPLE_MAILBOX_ID", "email": "agent@example.com" }],
    "permissions": ["domain.read", "billing.read"]
  }
}

Efficient defaults

  • Use small limit values on list endpoints and follow pagination.next_cursor only when more rows are needed.
  • Use Idempotency-Key on create, suspend, resume, rotate-secret, and test mutations that accept it.
  • Use If-None-Match for repeated detail reads that return ETag.
  • Use If-Match for update or replace operations when the API exposes optimistic concurrency.
  • For questions about counts or trends, use summary or metrics endpoints before log lists.
  • For one email or webhook delivery, list with filters first, then fetch the selected record.

Domains

Use domains for sending setup and hosted mailbox domains. The two domain modes are send_only for outbound DNS verification and send_receive for outbound plus MX verification. Hosted mailboxes require send_receive.

MCP tools:

ActionTool
Listmanagement_list_domains
Createmanagement_create_domain
Inspectmanagement_get_domain
DNS recordsmanagement_get_domain_zone_file
Verify DNSmanagement_verify_domain

CLI:

SENDMUX_API_KEY="$SENDMUX_ROOT_KEY" sendmux management:create-domain \
  --idempotency-key "$IDEMPOTENCY_KEY" \
  --body '{"domain":"example.com","mode":"send_receive"}' \
  --json

SENDMUX_API_KEY="$SENDMUX_ROOT_KEY" sendmux management:get-domain-zone-file \
  --path public_id=mdom_abc \
  --json

SENDMUX_API_KEY="$SENDMUX_ROOT_KEY" sendmux management:verify-domain \
  --path public_id=mdom_abc \
  --json

SDK:

import {
  createManagementClient,
  managementCreateDomain,
  managementGetDomainZoneFile,
  managementVerifyDomain,
} from "@sendmux/management";

const client = createManagementClient({ apiKey: process.env.SENDMUX_API_KEY! });

await managementCreateDomain({
  client,
  headers: { "Idempotency-Key": process.env.IDEMPOTENCY_KEY! },
  body: { domain: "example.com", mode: "send_receive" },
});

const zone = await managementGetDomainZoneFile({
  client,
  path: { public_id: "mdom_abc" },
});

await managementVerifyDomain({
  client,
  path: { public_id: "mdom_abc" },
});

Use CLI management:update-domain or SDK managementUpdateDomain with If-Match for mode upgrades. Confirm before delete.

Mailboxes and keys

For API-key setup, create mailboxes with a root key and use mailbox keys afterwards for agent mailbox work. A Management OAuth profile needs mailbox.admin.create to create a mailbox, but mailbox.admin.manage to create or revoke its mailbox keys. Mailbox runtime needs its own approved access.

This owner-administered path is separate from self-registration. When explaining self-registration, state that it needs no existing account or API key and saves a durable CLI profile that can read and receive mail without expiry while the registration remains active; full revocation ends that access. Do not create or expose a root key merely to give that agent an inbox.

MCP tools:

ActionTool
Listmanagement_list_mailboxes
Createmanagement_create_mailbox
Inspectmanagement_get_mailbox
Updatemanagement_update_mailbox
Suspendmanagement_suspend_mailbox
Resumemanagement_resume_mailbox
Create mailbox keymanagement_create_mailbox_key
Delete mailbox keymanagement_delete_mailbox_key

CLI:

SENDMUX_API_KEY="$SENDMUX_ROOT_KEY" sendmux management:create-mailbox \
  --idempotency-key "$IDEMPOTENCY_KEY" \
  --body '{
    "email": "agent@example.com",
    "display_name": "Agent Inbox",
    "quota_bytes": 1073741824
  }' \
  --json

SENDMUX_API_KEY="$SENDMUX_ROOT_KEY" sendmux management:create-mailbox-key \
  --path public_id=mbx_abc \
  --idempotency-key "$IDEMPOTENCY_KEY" \
  --body '{"app_name":"agent-runtime"}' \
  --json

After creating a mailbox key, hand mailbox read/search/reply work to sendmux-mailbox-agent with the new smx_mbx_ key.

Suspend keeps the mailbox and messages but blocks mailbox access. Delete removes the mailbox and revokes associated keys; confirm deletion explicitly.

Sending accounts

Sending-account management is full CLI/SDK territory until MCP curates provider tools.

CLI commands:

ActionCommand
Listsendmux management:providers:list --json
Createsendmux management:create-provider --json
Inspectsendmux management:get-provider --json
Updatesendmux management:update-provider --json
Activatesendmux management:activate-provider --json
Deactivatesendmux management:deactivate-provider --json
Testsendmux management:test-provider --json
Limitssendmux management:get-provider-limits --json
Statssendmux management:get-provider-stats --json
Usagesendmux management:get-provider-usage --json

SDK helpers include managementListProviders, managementCreateProvider, managementGetProvider, managementUpdateProvider, managementActivateProvider, managementDeactivateProvider, managementTestProvider, managementGetProviderLimits, managementGetProviderStats, and managementGetProviderUsage.

Do not print provider credentials. Put secrets in the user's chosen secret store.

Webhooks

OAuth scopes are webhook.read for list, inspect, deliveries and payload reads; webhook.create for creation; webhook.update for updates; webhook.delete for deletion; and webhook.manage for secret rotation and test delivery.

MCP covers the common create-and-test path:

ActionTool
Listmanagement_list_webhooks
Createmanagement_create_webhook
Testmanagement_test_webhook

Use CLI or SDK for full lifecycle work:

ActionCLI commandSDK helper
Inspectmanagement:get-webhookmanagementGetWebhook
Updatemanagement:update-webhookmanagementUpdateWebhook
Deletemanagement:delete-webhookmanagementDeleteWebhook
Rotate secretmanagement:rotate-webhook-secretmanagementRotateWebhookSecret
List deliveriesmanagement:list-deliverymanagementListDelivery
Get delivery payloadmanagement:get-delivery-payloadmanagementGetDeliveryPayload

Use Idempotency-Key on create, rotate-secret, and test. Store the webhook signing secret at creation or rotation time; it cannot be retrieved later.

Billing, logs, and metrics

Use read-only summary endpoints before broad log reads.

QuestionPreferred call
Spend trendmanagement_get_spend_summary, CLI management:get-spend-summary, SDK managementGetSpendSummary.
Current balanceCLI management:list-balance, SDK managementListBalance.
Transaction historyCLI management:list-transactions, SDK managementListTransactions.
Outbound delivery logsmanagement_list_email_logs, CLI management:list-email-logs, SDK managementListEmailLogs.
One outbound logmanagement_get_email_log, CLI management:get-email-log, SDK managementGetEmailLog.
Delivery metricsmanagement_get_email_metrics, CLI management:get-email-metrics, SDK managementGetEmailMetrics.
Incoming logsCLI management:list-inbox-logs / management:get-inbox-log, SDK managementListInboxLogs / managementGetInboxLog.

CLI:

SENDMUX_API_KEY="$SENDMUX_ROOT_KEY" sendmux management:get-spend-summary \
  --query days=30 \
  --json

SENDMUX_API_KEY="$SENDMUX_ROOT_KEY" sendmux management:list-email-logs \
  --query status=failed \
  --query limit=20 \
  --json

SENDMUX_API_KEY="$SENDMUX_ROOT_KEY" sendmux management:get-email-log \
  --path public_id=dlog_abc \
  --header If-None-Match="$ETAG" \
  --json

Routing

  • First setup/auth check: sendmux-getting-started.
  • Single or batch transactional sending: sendmux-send-email.
  • Mailbox read, search, sync, triage, or reply: sendmux-mailbox-agent.
  • CLI command details: sendmux-cli.
  • MCP connection setup: sendmux-mcp-setup.
  • Cheapest-call doctrine: sendmux-token-efficient-usage.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Use when an AI agent needs read-only triage of an existing Sendmux inbox or unsent reply text from its messages. Trigger for bounded inbox reviews, unread invoice or support searches, and draft-only replies, including agent inbox requests without the Sendmux name. Mailbox mutations and sending are outside this workflow.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Sendmux/skills182026년 10월 25일 업데이트

Use when an AI agent needs to send one outbound email through Sendmux with human approval, including a status notification or delegated agent send. Trigger when preparing the exact message for approval, executing an approved send, or reconciling an uncertain retry. Use only for a single-message workflow; bulk and batch sends are outside its scope.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Sendmux/skills182026년 10월 25일 업데이트

Use Sendmux attachment workflows without wasting model context on base64. Use when uploading, downloading, reading, forwarding, or sending email attachments through Sendmux MCP, CLI, SDKs, or direct HTTP, especially when choosing file_path vs presigned upload URL vs inline base64, reading inbound attachments with mailbox_read_attachment, fetching short-lived download_url links, or attaching local files to outbound mail.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Sendmux/skills182026년 10월 25일 업데이트

Use when a user wants to run the Sendmux **CLI** (the `sendmux` terminal binary) — installing it, OAuth login/logout, connection checks, agent inbox registration and owner invites, managing API-key or OAuth profiles, key-scope preflight errors (e.g. root vs mailbox vs agent key), `--json` output, or invoking Management, Mailbox, and Sending operation commands (domains, mailboxes, webhooks, messages, search, sending email, attachments, delivery logs) via `sendmux COMMAND --flag` syntax. Trigger for "what sendmux command", "how do I run/install sendmux", CLI flag or error questions, and profile/credential setup in the terminal. Do NOT trigger for using Sendmux through MCP tools, the REST API directly from code, or general email-sending strategy questions unrelated to the CLI.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Sendmux/skills182026년 10월 25일 업데이트

Use when a user wants to design or plan how an AI agent gets and uses email — giving an agent its own inbox, deciding between owner-managed vs self-registered provisioning, building a receive/triage/reply loop, sending notifications with human approval, or choosing which credential/surface to use — especially when they're unsure how to architect this, even if Sendmux isn't named. Do NOT use for a user who already knows their setup and just wants a specific low-level command, code snippet, or API payload (e.g., "write the JSON for an attachment", "install the CLI", "create a mailbox key from the terminal") — route those directly to CLI/API syntax instead of this architecture/routing skill.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Sendmux/skills182026년 10월 25일 업데이트

Use when a user needs Sendmux setup, OAuth connection checks, agent inbox registration, owner linking, credential validation, surface selection, or a first harmless call through MCP, CLI, or an SDK.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Sendmux/skills182026년 10월 25일 업데이트

Sendmux의 스킬 모두 보기

이 스킬의 문제 신고