Agent skill

Atomicmail

by Atomic-Mail in Atomic-Mail/atomic-mail-agentic

Read and write email through the Atomic Mail from an AI agent.

MITAuto-check passedProductivity & Automation

Install Atomicmail

skills CLI
$ npx skills add Atomic-Mail/atomic-mail-agentic --skill atomicmail -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Atomic-Mail/atomic-mail-agentic atomicmail --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Atomic-Mail/atomic-mail-agentic.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs .claude/skills/atomicmail && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
atomicmail
GitHub stars
266
Used in
1 other repo
Token cost
~2k tokens
SKILL.md length
869 words
Files
63 (incl. scripts)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Read and write email through the Atomic Mail from an AI agent.

  • Works in 4 steps: Register (new account) → Register (existing API key, in case… → JMAP request → …
  • The user asks to register an email inbox
  • SKILL.md covers When to use this skill, Commands, Defaults and Workflow, plus 4 more sections
  • Runs TypeScript scripts from its folder; calls npx; reaches auth.atomicmail.ai and api.atomicmail.ai

What it does

Atomicmail is an agent skill from Atomic-Mail/atomic-mail-agentic. Read and write email through the Atomic Mail from an AI agent. Handles proof-of-work authentication and JMAP so the agent thinks in JMAP method calls. Use when the user asks to register an email inbox, list mailboxes, fetch or send email.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 65 other files, including scripts (for example `.vitepress/changelog.data.ts`, `.vitepress/releases.json` and `.vitepress/theme/index.ts`).

It sits in Productivity & Automation, covering Email management, Verification before completion and Authentication. The repository describes itself as: Let your agents read, send, and react to email autonomously, without human involvement. The licence is MIT.

When your agent uses it

  • The user asks to register an email inbox
  • Tasks that involve Email management
  • Tasks that involve Verification before completion

Example prompts

  • “/atomicmail”

Requirements

  • Node.js

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Register (new account)
  2. Register (existing API key, in case losing the credentials file)
  3. JMAP request
  4. Help

What it can do on your machine

Read from SKILL.md and the folder at commit e4a0729. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (TypeScript, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • auth.atomicmail.ai
    • api.atomicmail.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Atomicmail loads about 2k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 869 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from Atomic-Mail/atomic-mail-agentic at commit e4a0729, republished under its MIT licence (© Atomic-Mail). 869 words, ~2,007 tokens.

Download SKILL.mdSave it as .claude/skills/atomicmail/SKILL.md (or your agent's skills folder). This skill also uses 62 other files; get the full folder from GitHub.
name
atomicmail
description
Read and write email through the Atomic Mail from an AI agent. Handles proof-of-work authentication and JMAP so the agent thinks in JMAP method calls. Use when the user asks to register an email inbox, list mailboxes, fetch or send email.

Atomic Mail

Atomic Mail exposes a programmable inbox over JMAP with PoW signup and JWT rotation. This skill ships a single CLI entrypoint with three commands: register, jmap_request, and help — matching the MCP server.

When to use this skill

  • Register a new inbox or log in with an existing API key.
  • Send JMAP batches (inline JSON or preset files).
  • Read built-in documentation (JMAP cheatsheet, presets, troubleshooting). In this skill runtime, atomicmail help --topic readme intentionally returns a short stub.

Call atomicmail help early and often — before guessing placeholders, using URNs, or cron setup. Start with help --topic overview, then presets before custom jmap_request calls and cron after register. If installed behavior disagrees with docs elsewhere, trust help from the running package.

Commands

bash
npx --package=@atomicmail/agent-skill atomicmail register --username "myagent" --watch scheduled

npx --package=@atomicmail/agent-skill atomicmail jmap_request --ops-file list_inbox.json

Run atomicmail --help or atomicmail <command> --help for flags.

Defaults

  • authUrl: https://auth.atomicmail.ai
  • apiUrl: https://api.atomicmail.ai
  • credentials directory: ~/.atomicmail

Workflow

1. Register (new account)
bash
npx --package=@atomicmail/agent-skill atomicmail register \
  --username "alice" \
  --watch scheduled

--watch is required — it is your operator's decision, not yours; ask them. Run register with no --watch to see the accepted values (each is a real choice about how the operator works, so neither is a safe default to guess). On the scheduling value, register prints the per-host schedule setup command.

Writes credentials.json, session.jwt, capability.jwt. Prints JSON including inbox and accountId.

Required next step: the watch value decides who reads the inbox (see Inbox checks). On scheduled, schedule a daily agent turn with list_inbox.json on your runtime's own scheduler — never at the OS level, and never cron atomicmail jmap_request alone.

Usernames must be 5–21 characters (local-part of your @atomicmail.ai address).

If credentials already exist for a different username, register refuses to run, which protects the old account. To add another inbox without replacing the current one, pass a separate --credentials-dir (MCP: credentials_dir on register / jmap_request) — that is the supported path, and the only one you should reach for. Replacing the credentials in a directory permanently destroys access to that inbox; there is no normal flag for it, and the refusal error is where the operator-authorised escape hatch is spelled out.

2. Register (existing API key, in case losing the credentials file)
bash
npx --package=@atomicmail/agent-skill atomicmail register \
  --api-key "..."
3. JMAP request
bash
npx --package=@atomicmail/agent-skill atomicmail jmap_request \
  --ops '[["Mailbox/get", {"accountId": "$ACCOUNT_ID"}, "m0"]]'

$ACCOUNT_ID, $INBOX, $INBOX_MAILBOX_ID, $SENT_MAILBOX_ID, $UPLOAD_URL, and $DOWNLOAD_URL resolve from the session/credentials. Other placeholders such as $TO or $SUBJECT require --vars with a JSON object of strings (same substitution applies to --ops and --ops-file).

Preset file:

bash
npx --package=@atomicmail/agent-skill atomicmail jmap_request \
  --ops-file list_inbox.json

With custom placeholders:

bash
npx --package=@atomicmail/agent-skill atomicmail jmap_request \
  --ops-file send_mail.json \
  --vars '{"TO":"alice@example.com","SUBJECT":"Hello","BODY":"Hi there"}'

Bundled presets (no local file creation required):

  • send_mail.json ($TO, $SUBJECT, $BODY)
  • send_mail_attachment.json ($TO, $SUBJECT, $BODY, $ATTACHMENT_BASE64, $ATTACHMENT_TYPE, $ATTACHMENT_NAME)
  • send_mail_blob_attachment.json ($TO, $SUBJECT, $BODY; pair with repeatable --attachment PATH for RFC 8620 upload → $ATTACHMENT_0_BLOB_ID, …)
  • list_inbox.json (latest 50; uses $INBOX_MAILBOX_ID) — used for the scheduled inbox check
  • list_sent.json (latest 50 the agent sent; uses $SENT_MAILBOX_ID) — send presets file their copy in Sent with $draft cleared, so it never shows in the inbox
  • reply.json ($MAIL_ID, $BODY)

Inbox checks (after register)

Registration only creates credentials. Nothing reads the inbox until something wakes an agent to do it — that is what the required watch value decides, and it is your operator's call, not yours:

  • scheduled — a recurring job wakes an agent once a day to read the inbox and report what arrived.
  • on-demand — no such job; mail is read only when a human asks, and anything arriving in between sits unread with nobody told.
Show full SKILL.md (336 more words)Show less
On scheduled, use your host's own scheduler

register prints the exact setup step for the runtime that called it, with the credentials directory already filled in, plus the prompt to schedule. Use that text verbatim — it is generated for your host.

Your setupApproach
OpenClawopenclaw cron add with --announce
Hermeshermes cron create or /cron with --deliver origin; not --no-agent
Atomic BotSame as OpenClaw or Hermes
atomic-agentatomic-agent task create --cron
Claude Code DesktopA local routine (Routines → New routine → Local); not /loop, which expires
Cursor, Pi, other session-only runtimesNo durable scheduler — ask your operator to schedule it on something they own

Never schedule at the OS level — no crontab, launchd, systemd or wrapper scripts. They run outside the host's permission model, so your operator cannot see or pause the job where they manage their others, and the host cannot apply its tool restrictions to it. They also break in practice: a scheduler has no terminal, and an agent started from one hangs or exits at once.

Never register in one runtime and schedule in another. Nobody owns the result.

Never cron atomicmail jmap_request alone — that only writes JSON somewhere; no agent runs and nobody is told.

Give the scheduled job the least it needs

It runs one command and reports back, and what it reads is mail written by strangers. No file writing, no editing, no creating further scheduled jobs, no spawning sessions. If your host supports a per-job tool allowlist, set it explicitly instead of accepting the default.

Full details: atomicmail help --topic cron or MCP help topic cron.

4. Help
bash
npx --package=@atomicmail/agent-skill atomicmail help
npx --package=@atomicmail/agent-skill atomicmail help --topic jmap_cheatsheet

Security

  • credentials.json holds the API key (mode 0600). Do not commit it.
  • JWT files are bearer secrets — do not log them.

Attachments and blobs

Use send_mail_attachment.json (in-band base64) or send_mail_blob_attachment.json with repeatable --attachment PATH (RFC 8620 upload — same flow as MCP attachments). Rules, limits, and Blob/upload JSON shape: atomicmail help --topic jmap_cheatsheet.

bash
npx --package=@atomicmail/agent-skill atomicmail jmap_request \
  --ops-file send_mail_attachment.json \
  --vars '{"TO":"you@example.com","SUBJECT":"Hi","BODY":"See file","ATTACHMENT_BASE64":"SGVsbG8=","ATTACHMENT_TYPE":"text/plain","ATTACHMENT_NAME":"note.txt"}'

Overriding defaults

  • Endpoints: --auth-url, --api-url or ATOMIC_MAIL_AUTH_URL, ATOMIC_MAIL_API_URL
  • Credentials path: --credentials-dir or ATOMIC_MAIL_CREDENTIALS_DIR
  • PoW salt: --scrypt-salt or ATOMIC_MAIL_SCRYPT_SALT

© Atomic-Mail, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 62 other files (scripts) in docs of Atomic-Mail/atomic-mail-agentic.

  • SKILL.md
  • .vitepress/changelog.data.ts
  • .vitepress/config.mts
  • .vitepress/releases.json
  • .vitepress/theme/Layout.vue
  • .vitepress/theme/components/ChangelogTimeline.vue
  • .vitepress/theme/components/CopyPageButtons.vue
  • .vitepress/theme/components/DocFooter.vue
  • .vitepress/theme/components/HeaderLinks.vue
  • .vitepress/theme/components/LinkRows.vue
  • .vitepress/theme/components/PathTabs.vue
  • .vitepress/theme/components/ReleaseNav.vue
  • .vitepress/theme/components/TabGroup.vue
  • .vitepress/theme/components/ThemeMenu.vue
  • .vitepress/theme/custom.css
  • .vitepress/theme/index.ts
  • authentication.md
  • changelog.md
  • … and 45 more

Open the folder on GitHubat commit e4a0729

Used in 1 other repository

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in Atomic-Mail/atomic-mail-agentic, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Atomicmail next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Atomicmail compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Atomicmail this skillAtomic-Mail/atomic-mail-agentic2661 repos~2kAutomated safety check: PassMIT
Zeleremorses/zele299—~1.3kAutomated safety check: PassNone
Mailagenthashgraph-online/awesome-codex-plugins1.2k—~3.2kAutomated safety check: PassMIT
Skill CompassEvol-ai/SkillCompass2161 repos~3.1kAutomated safety check: PassMIT
Gmail Emailopen-gitagent/gitagent710—~235Automated safety check: NotesMIT
Google Workspaceyc-software/qm15k—~1.8kAutomated safety check: PassMIT

Similar skills

  • Zele

    remorses/zele

    zele is a multi-account email and calendar CLI for Gmail, IMAP/SMTP (Fastmail, Outlook, any provider), and Google Calendar.

    299 GitHub stars~1.3k tokensUpdated 6 days ago
    Productivity & AutomationAuto-check passed
  • Mailagent

    hashgraph-online/awesome-codex-plugins

    Temporary inboxes for agent signup QA — create disposable addresses, wait for verification email, extract OTP or magic links.

    1.2k GitHub stars~3.2k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Skill Compass

    Evol-ai/SkillCompass

    Evaluate skill quality, find the weakest dimension, and apply directed improvements.

    216 GitHub starsUsed in 1 repo~3.1k tokens
    Productivity & AutomationAuto-check passed
  • Gmail Email

    open-gitagent/gitagent

    Send emails via Gmail SMTP using App Password authentication.

    710 GitHub stars~235 tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check: notes
  • Google Workspace

    yc-software/qm

    Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.

    15k GitHub stars~1.8k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Email Drafting

    mgonto/executive-assistant-skills

    Draft email replies for Gonto's Gmail accounts (m@gon.to, gonto@hypergrowthpartners.com).

    118 GitHub stars~2.8k tokensUpdated 7 mo ago
    Productivity & AutomationAuto-check passed

Questions about Atomicmail

What does Atomicmail do?

Read and write email through the Atomic Mail from an AI agent. Atomicmail is an agent skill from Atomic-Mail/atomic-mail-agentic. Read and write email through the Atomic Mail from an AI agent.

When should I use Atomicmail?

Atomicmail fits situations like: the user asks to register an email inbox; tasks that involve Email management; tasks that involve Verification before completion.

How do I install Atomicmail in Claude Code?

Run `npx skills add Atomic-Mail/atomic-mail-agentic --skill atomicmail -a claude-code`. Or copy the skill folder (docs in Atomic-Mail/atomic-mail-agentic) into .claude/skills/atomicmail in your project. Claude Code loads it when a task matches its description.

How do I install Atomicmail in Codex?

Run `npx skills add Atomic-Mail/atomic-mail-agentic --skill atomicmail -a codex`. Or copy the skill folder (docs in Atomic-Mail/atomic-mail-agentic) into .agents/skills/atomicmail in your project. Codex loads it when a task matches its description.

Can I use Atomicmail in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Atomic-Mail/atomic-mail-agentic --skill atomicmail -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/atomicmail, .gemini/skills/atomicmail, .github/skills/atomicmail and .opencode/skills/atomicmail in your project.

What does Atomicmail need to run?

Going by SKILL.md and its folder, Atomicmail needs TypeScript for the scripts in its folder and the command-line tools its instructions call (npx). Our summary lists: Node.js.

Does Atomicmail access the network?

SKILL.md names 2 domains. In commands or code: auth.atomicmail.ai and api.atomicmail.ai; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Atomicmail safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Atomicmail use?

Atomicmail is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Atomicmail use?

About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Atomicmail?

Skills that share tags, products or a category with Atomicmail: Zele (remorses/zele, 299 stars), Mailagent (hashgraph-online/awesome-codex-plugins, 1.2k stars), Skill Compass (Evol-ai/SkillCompass, 216 stars) and Gmail Email (open-gitagent/gitagent, 710 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Atomicmail?

Atomic-Mail (a GitHub organization) maintains it in Atomic-Mail/atomic-mail-agentic, which has 266 GitHub stars. The repository was last updated on September 27, 2026.

Source: Atomic-Mail/atomic-mail-agentic on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.