Process Inbox
telegramdesktop/tdesktop
Process the local ignored ai-tdesktop inbox into durable, independently testable Telegram Desktop task records while task execution worktrees remain active.
Every MultiMail feature plus oversight velocity, trust ladder status, and cross-mailbox search no other tool has.
$ npx skills add mvanhorn/printing-press-library --skill pp-multimail -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mvanhorn/printing-press-library pp-multimail --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-skills/pp-multimail .claude/skills/pp-multimail && rm -rf skills-srcUse ~/.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/
Install the "pp-multimail" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-multimail into .claude/skills/pp-multimail/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-multimail", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-multimailType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mvanhorn/printing-press-library --skill pp-multimail -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mvanhorn/printing-press-library pp-multimail --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .agents/skills && cp -r skills-src/cli-skills/pp-multimail .agents/skills/pp-multimail && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pp-multimail" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-multimail into .agents/skills/pp-multimail/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-multimail", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mvanhorn/printing-press-library --skill pp-multimail -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mvanhorn/printing-press-library pp-multimail --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/cli-skills/pp-multimail .cursor/skills/pp-multimail && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "pp-multimail" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-multimail into .cursor/skills/pp-multimail/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-multimail", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mvanhorn/printing-press-library.git --path cli-skills/pp-multimail--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mvanhorn/printing-press-library --skill pp-multimail -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mvanhorn/printing-press-library pp-multimail --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/cli-skills/pp-multimail .gemini/skills/pp-multimail && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "pp-multimail" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-multimail into .gemini/skills/pp-multimail/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-multimail", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mvanhorn/printing-press-library pp-multimailInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mvanhorn/printing-press-library --skill pp-multimail -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .github/skills && cp -r skills-src/cli-skills/pp-multimail .github/skills/pp-multimail && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "pp-multimail" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-multimail into .github/skills/pp-multimail/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-multimail", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mvanhorn/printing-press-library --skill pp-multimail -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mvanhorn/printing-press-library pp-multimail --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/cli-skills/pp-multimail .opencode/skills/pp-multimail && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "pp-multimail" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-multimail into .opencode/skills/pp-multimail/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-multimail", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
pp-multimailEvery MultiMail feature plus oversight velocity, trust ladder status, and cross-mailbox search no other tool has.
Pp Multimail is an agent skill from mvanhorn/printing-press-library. Every MultiMail feature plus oversight velocity, trust ladder status, and cross-mailbox search no other tool has. Trigger phrases: check my multimail inbox, approve pending emails, multimail trust status, search multimail for, sync multimail mailboxes, use multimail, run multimail.
Its SKILL.md is about 5.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Productivity & Automation, covering Email management. The repository describes itself as: Official library of CLIs generated by the CLI Printing Press. Endorsed, tested, and community-contributed. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0fdcc7a. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadBashFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
goclaudenpxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Pp Multimail loads about 5.5k tokens when it runs. Until then it costs about 77 tokens; SKILL.md has 2,247 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, BashAutomated 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); files beside SKILL.md are not scanned.
The full file from mvanhorn/printing-press-library at commit 0fdcc7a, republished under its Apache-2.0 licence (© mvanhorn). 2,247 words, ~5,468 tokens.
.claude/skills/pp-multimail/SKILL.md (or your agent's skills folder).<!-- GENERATED FILE — DO NOT EDIT.
This file is a verbatim mirror of library/social-and-messaging/multimail/SKILL.md,
regenerated post-merge by tools/generate-skills/. Hand-edits here are
silently overwritten on the next regen. Edit the library/ source instead.
See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->
This skill drives the multimail-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
$HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows:npx -y @mvanhorn/printing-press-library install multimail --cli-onlymultimail-pp-cli --version$PATH for the agent/runtime that will invoke this skill.If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer):
go install github.com/mvanhorn/printing-press-library/library/social-and-messaging/multimail/cmd/multimail-pp-cli@latestIf --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.
Use multimail-pp-cli when you need to manage an agent email fleet — process oversight queues, monitor trust ladder progression, search across mailboxes, and track inbox health. It turns MultiMail's graduated autonomy model into a daily operator workflow.
Do not use this CLI for:
These capabilities aren't available in any other tool for this API.
fleet health — Single-command account-wide health snapshot: mailbox count, oversight queue depth, webhook delivery rate, domain verification status, usage vs plan limits.
When an agent needs to know if its MultiMail integration is healthy before sending, one command replaces checking 5 separate endpoints.
multimail-pp-cli fleet health --json --agent --select mailboxes.total,oversight.pending_count,webhooks.success_rateoversight bulk-decide — Approve or reject all pending emails matching a filter (by mailbox, sender, or age) in one command.
When an agent's test queue has 20 pending emails, one command clears them instead of 20 individual approve calls.
multimail-pp-cli oversight bulk-decide --approve --mailbox support-agent --jsonoversight velocity — See approval/rejection rates and median decision latency per mailbox across your entire fleet.
When an agent's sends are stuck in approval queues, this pinpoints which mailbox's operator is the bottleneck.
multimail-pp-cli oversight velocity --json --days 7trust status — Fleet-wide view of each mailbox's oversight mode, time-at-level, and upgrade eligibility.
Before requesting a trust upgrade, an agent should know which mailboxes are ready and which have been at their current level longest.
multimail-pp-cli trust status --json --agent --select name,oversight_mode,time_at_leveltrust timeline — Per-mailbox chronological history of every oversight mode change with timestamps and who triggered it.
When evaluating whether to request a trust upgrade, an agent needs to show its history of responsible operation at each level.
multimail-pp-cli trust timeline --mailbox support-agent --jsonemails send-and-wait — Send an email and block until a reply arrives or timeout — the agent test loop in one command.
When an agent needs to send and process the reply in one workflow step, this replaces a manual send-poll-read loop.
multimail-pp-cli emails send-and-wait --mailbox test-agent --to user@example.com --subject 'Test' --body 'Hello' --timeout 5m --jsonmailboxes allowlist coverage — See what percentage of recent recipients are covered by allowlist patterns vs gated.
Before adding allowlist entries, an agent should know which recipients are already covered and which cause the most gating friction.
multimail-pp-cli mailboxes allowlist coverage --mailbox primary --days 30 --json --agent --select pattern,match_count,percentageinbox health — Per-mailbox health snapshot: unread count, oldest unread age, reply rate, and thread depth.
An agent monitoring its own inbox health can detect when it is falling behind on replies before the operator notices.
multimail-pp-cli inbox health --json --agent --select mailbox,unread_count,oldest_unread_age,reply_ratethreads stale — List conversation threads with no reply in N days — surfaces dropped conversations.
A dropped conversation thread is a customer-facing failure; this is the agent's early warning system.
multimail-pp-cli threads stale --days 3 --json --agent --select thread_id,subject,last_reply_age,mailboxaudit compliance — Cross-entity compliance report: oversight bypass count, approval/rejection counts, decision latency percentiles per mailbox.
When an auditor needs to verify that agents operated within their approved trust levels, this replaces manual log correlation.
multimail-pp-cli audit compliance --days 30 --jsonwebhooks health — Per-webhook success rate, failure count, last delivery timestamp, and consecutive failure streak.
When an agent's real-time event pipeline depends on webhooks, this surfaces delivery health before silent failures accumulate.
multimail-pp-cli webhooks health --json --agent --select webhook_id,url,success_rate,consecutive_failuresaccount — Manage account
multimail-pp-cli account create — Requires a solved proof-of-work challenge. Creates a pending signup and sends a confirmation email.multimail-pp-cli account create-challenge — Returns an ALTCHA challenge. Solve it and include the solution as pow_solution in POST /v1/account.multimail-pp-cli account create-resendconfirmation — Public endpoint (no auth required). Resends the activation email with a new code for unconfirmed accounts.multimail-pp-cli account delete — Hard-deletes all tenant data (mailboxes, emails, API keys, usage, audit log). Frees the slug for re-registration.multimail-pp-cli account list — Get current tenant info and usagemultimail-pp-cli account update — Update tenant settingsadmin — Manage admin
multimail-pp-cli admin — Admin-only. Creates a new API key and emails it to the tenant's oversight email.agent — Manage agent
multimail-pp-cli agent create — Initiates agent registration using verified_email identity assertion.multimail-pp-cli agent create-auth — Completes the auth.md registration by validating the claim_token and OTP.multimail-pp-cli agent list — Human-facing page that displays the 6-digit OTP for agent registration. Linked from the verification email.api-keys — Manage api keys
multimail-pp-cli api-keys create — Requires admin scope. The raw key is returned only once in the response.multimail-pp-cli api-keys delete — Requires admin scope. Returns 202 with pending_approval on first call; resend with approval_code to complete.multimail-pp-cli api-keys list — Requires admin scope. Returns key prefix, scopes, and metadata.multimail-pp-cli api-keys update — Update API key name or scopesapprove — Manage approve
multimail-pp-cli approve create — Process approval/rejection from hosted pagemultimail-pp-cli approve get — Render hosted approval page for oversight decisionsaudit-log — Manage audit log
multimail-pp-cli audit-log — Returns audit log entries with cursor pagination. Requires admin scope.auth-md — Manage auth md
multimail-pp-cli auth-md — Returns a markdown document describing MultiMail's agent registration flow, trust ladder, and scope model.billing — Manage billing
multimail-pp-cli billing create — Requires admin scope.multimail-pp-cli billing create-checkout — Create a Stripe checkout session for plan upgrademultimail-pp-cli billing create-coinbasewebhook — Coinbase Commerce webhook handler (public, signature-verified)multimail-pp-cli billing create-cryptocheckout — Create a Coinbase Commerce checkout (crypto payment)multimail-pp-cli billing create-portal — Requires admin scope.multimail-pp-cli billing create-pricingcheckout — Creates an inactive tenant, provisions a default mailbox, and returns a Stripe checkout URL.multimail-pp-cli billing create-stripewebhook — Stripe webhook handler (public, signature-verified)multimail-pp-cli billing list — Public endpoint. Returns the API key stored during pricing-checkout, then deletes it.confirm — Manage confirm
multimail-pp-cli confirm create — JSON response includes: status, name, oversight_mode, api_key, mailbox_id, mailbox_address, oversight_email, use_case.multimail-pp-cli confirm get — Redirect to frontend confirmation page with code prefilledmultimail-pp-cli confirm list — Redirect to frontend confirmation page at multimail.dev/confirmcontacts — Manage contacts
multimail-pp-cli contacts create — Add a contact to the address book. Requires send scope.multimail-pp-cli contacts delete — Requires admin scope.multimail-pp-cli contacts list — Search address book by name or email. Omit query to list all. Requires read scope.data_export — Manage data export
multimail-pp-cli data-export — Requires admin scope. Rate limited to 1 request per hour.domains — Manage domains
multimail-pp-cli domains create — Add a custom domain (Pro/Scale only)multimail-pp-cli domains delete — Delete a custom domainmultimail-pp-cli domains get — Get custom domain detailmultimail-pp-cli domains list — Requires admin scope.emails — Manage emails
multimail-pp-cli emails — Requires read scope.funnel — Manage funnel
multimail-pp-cli funnel — Pricing page beacon hit via navigator.sendBeacon to track open/submit/error events on the signup modal.health — Manage health
multimail-pp-cli health — Verifies D1 and R2 connectivity. No auth required.mailboxes — Manage mailboxes
multimail-pp-cli mailboxes create — Requires admin scope.multimail-pp-cli mailboxes delete — Requires admin scope.multimail-pp-cli mailboxes list — Requires read scope.multimail-pp-cli mailboxes update — Requires admin scope. Oversight mode can only be downgraded here; upgrades require the upgrade flow.operator — Manage operator
multimail-pp-cli operator create — Requires admin scope. Clears the operator-session cookie.multimail-pp-cli operator create-startsession — Requires admin scope. Sends a one-time code to the oversight email and begins the operator-session OTP flow.multimail-pp-cli operator create-verifysession — Requires admin scope. Exchanges a one-time code for a short-lived HttpOnly operator-session cookie.multimail-pp-cli operator list — Requires admin scope. Reports whether the current browser has an active operator-session cookie.oversight — Manage oversight
multimail-pp-cli oversight create — Requires oversight scope. Approved outbound emails are sent immediately.multimail-pp-cli oversight list — List emails pending oversight approvalslug-check — Manage slug check
multimail-pp-cli slug-check <slug> — Check if a slug is available for registration. Returns suggestions if taken or reserved. No auth required.support — Manage support
multimail-pp-cli support — Public endpoint. Requires a solved ALTCHA proof-of-work payload. Sends a message to support@multimail.dev.suppression — Manage suppression
multimail-pp-cli suppression delete — Allows future emails to be sent to this address again. Requires admin scope.multimail-pp-cli suppression list — Returns addresses suppressed due to bounces, spam complaints, or manual unsubscribes. Requires admin scope.unsubscribe — Manage unsubscribe
multimail-pp-cli unsubscribe create — Process unsubscribe requestmultimail-pp-cli unsubscribe get — Render unsubscribe page (CAN-SPAM)usage — Manage usage
multimail-pp-cli usage — Requires read scope. Returns usage counts for the current billing period.webhook-deliveries — Manage webhook deliveries
multimail-pp-cli webhook-deliveries — Returns recent webhook delivery attempts. Requires admin scope.webhooks — Manage webhooks
multimail-pp-cli webhooks create — Subscribe to email events. Returns the signing secret (shown only on creation). Requires admin scope.multimail-pp-cli webhooks create-postmark — Postmark bounce/complaint/delivery webhook handlermultimail-pp-cli webhooks create-postmarkinbound — Receives inbound emails from Postmark. Authenticated via HTTP Basic Auth with the Postmark webhook secret.multimail-pp-cli webhooks delete — Delete a webhook subscriptionmultimail-pp-cli webhooks get — Includes signing secret. Requires admin scope.multimail-pp-cli webhooks list — Requires admin scope. Signing secrets are not included in the list.well-known — Manage well known
multimail-pp-cli well-known get — Rate-limited to 10 lookups per IP per hour.multimail-pp-cli well-known list — Returns the ECDSA P-256 public key used to sign X-MultiMail-Identity headers.multimail-pp-cli well-known list-wellknown — Returns OAuth authorization server metadata with an agent_auth extension block describing the auth.multimail-pp-cli well-known list-wellknown-2 — Returns metadata about MultiMail as an OAuth-protected resource, including supported scopes and authorization servers.When you know what you want to do but not which command does it, ask the CLI directly:
multimail-pp-cli which "<capability in your own words>"which resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code 0 means at least one match; exit code 2 means no confident match — fall back to --help or use a narrower query.
multimail-pp-cli oversight list --json --select id,subject,to | multimail-pp-cli oversight bulk-decide --approve --stdinPipe pending email IDs into batch approval — useful for clearing a gated mailbox queue.
multimail-pp-cli trust status --json --agent --select name,oversight_mode,time_at_levelSee which mailboxes are at which trust level and how long they have been there.
multimail-pp-cli search 'quarterly report' --type emails --json --agent --select subject,from,mailbox,received_atFind a specific email across all synced mailboxes with narrow field output for agent context efficiency.
multimail-pp-cli sync --resources mailboxes,emails --since 24h && multimail-pp-cli inbox health --jsonRefresh local data then check unread counts, reply rates, and oldest unread age per mailbox.
multimail-pp-cli mailboxes allowlist coverage --mailbox primary --days 30 --json --agent --select pattern,match_count,percentageSee what percentage of recent recipients match allowlist patterns — find which addresses cause the most gating friction.
MultiMail uses Bearer token auth with prefixed keys: mm_live_* for production, mm_test_* for staging. Get your key from the MultiMail dashboard or via the API key management endpoints.
Run multimail-pp-cli doctor to verify setup.
Add --agent to any command. Expands to: --json --compact --no-input --no-color --yes.
Pipeable — JSON on stdout, errors on stderr
Filterable — --select keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
multimail-pp-cli account list --agent --select id,name,statusPreviewable — --dry-run shows the request without sending
Offline-friendly — sync/search commands can use the local SQLite store when available
Non-interactive — never prompts, every input is a flag
Explicit retries — use --idempotent only when an already-existing create should count as success, and --ignore-missing only when a missing delete target should count as success
Commands that read from the local store or the API wrap output in a provenance envelope:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}Parse .results for data and .meta.source to know whether it's live or local. A human-readable N results (live) summary is printed to stderr only when stdout is a terminal AND no machine-format flag (--json, --csv, --compact, --quiet, --plain, --select) is set — piped/agent consumers and explicit-format runs get pure JSON on stdout.
When you (or the agent) notice something off about this CLI, record it:
multimail-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
multimail-pp-cli feedback --stdin < notes.txt
multimail-pp-cli feedback list --json --limit 10Entries are stored locally at ~/.local/share/multimail-pp-cli/feedback.jsonl. They are never POSTed unless MULTIMAIL_FEEDBACK_ENDPOINT is set AND either --send is passed or MULTIMAIL_FEEDBACK_AUTO_SEND=true. Default behavior is local-only.
Write what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.
Every command accepts --deliver <sink>. The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:
| Sink | Effect |
|---|---|
stdout | Default; write to stdout only |
file:<path> | Atomically write output to <path> (tmp + rename) |
webhook:<url> | POST the output body to the URL (application/json or application/x-ndjson when --compact) |
Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.
A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.
multimail-pp-cli profile save briefing --json
multimail-pp-cli --profile briefing account list
multimail-pp-cli profile list --json
multimail-pp-cli profile show briefing
multimail-pp-cli profile delete briefing --yesExplicit flags always win over profile values; profile values win over defaults. agent-context lists all available profiles under available_profiles so introspecting agents discover them at runtime.
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Usage error (wrong arguments) |
| 3 | Resource not found |
| 4 | Authentication required |
| 5 | API error (upstream issue) |
| 7 | Rate limited (wait and retry) |
| 10 | Config error |
Parse $ARGUMENTS:
help, or --help → show multimail-pp-cli --help outputinstall → ends with mcp → MCP installation; otherwise → see Prerequisites above--agent)go install github.com/mvanhorn/printing-press-library/library/social-and-messaging/multimail/cmd/multimail-pp-mcp@latestclaude mcp add multimail-pp-mcp -- multimail-pp-mcpclaude mcp listwhich multimail-pp-cli
If not found, offer to install (see Prerequisites at the top of this skill).--agent flag:multimail-pp-cli <command> [subcommand] [args] --agentmultimail-pp-cli <command> --help.© mvanhorn, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in cli-skills/pp-multimail of mvanhorn/printing-press-library.
Open the folder on GitHubat commit 0fdcc7a
Pp Multimail 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Pp Multimail this skillmvanhorn/printing-press-library | 2.1k | — | ~5.5k | Automated safety check: Notes | Apache-2.0 | |
| Process Inboxtelegramdesktop/tdesktop | 33k | 2 repos | ~4.5k | Automated safety check: Pass | GPL-3.0 | |
| Continuetelegramdesktop/tdesktop | 33k | 2 repos | ~9.4k | Automated safety check: Pass | GPL-3.0 | |
| Garden Inboxpaperclipai/paperclip | 99k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Career-Ops Gmail Lead Plugincareer-ops-hq/career-ops | 74k | — | ~233 | Automated safety check: Notes | MIT | |
| Skill CompassEvol-ai/SkillCompass | 216 | 1 repos | ~3.1k | Automated safety check: Pass | MIT |
telegramdesktop/tdesktop
Process the local ignored ai-tdesktop inbox into durable, independently testable Telegram Desktop task records while task execution worktrees remain active.
telegramdesktop/tdesktop
Continue autonomous Telegram Desktop development from the shared ai-tdesktop repository.
paperclipai/paperclip
Scan a Paperclip user's Mine inbox, classify reversible archive candidates, request checkbox confirmation, and archive only accepted selections.
career-ops-hq/career-ops
Pulls job leads from a Gmail label into the career-ops pipeline, extracting job URLs from DMARC-passing emails and de-duplicating against existing leads.
Evol-ai/SkillCompass
Evaluate skill quality, find the weakest dimension, and apply directed improvements.
Atomic-Mail/atomic-mail-agentic
Read and write email through the Atomic Mail from an AI agent.
mvanhorn/printing-press-library
Desktop automation through the real Rust agent-desktop CLI, published in Printing Press through a small bridge.
mvanhorn/printing-press-library
Search, browse, and download Google Fonts from the terminal via the gfonts CLI.
mvanhorn/printing-press-library
The free, offline Trigger phrases: search 1688 for, find a factory on 1688 for, wholesale price on 1688 for, who is the cheapest supplier on 1688 for, compare 1688 suppliers for, use 1688, run 1688.
mvanhorn/printing-press-library
Inspect known Activity Japan plan IDs or URLs, compare dated prices and sessions, check language-sitemap coverage, and hand off to canonical booking pages.
mvanhorn/printing-press-library
Every Admin By Request portal action, plus a local SQLite mirror of audit, events, inventory and requests for ad-hoc...
mvanhorn/printing-press-library
macOS screen capture, window recording, GIF conversion, and agent evidence bundles from the terminal.
Categories
Every MultiMail feature plus oversight velocity, trust ladder status, and cross-mailbox search no other tool has. Pp Multimail is an agent skill from mvanhorn/printing-press-library. Every MultiMail feature plus oversight velocity, trust ladder status, and cross-mailbox search no other tool has.
Pp Multimail fits situations like: phrases: check my multimail inbox; approve pending emails; multimail trust status; search multimail for.
Run `npx skills add mvanhorn/printing-press-library --skill pp-multimail -a claude-code`. Or copy the skill folder (cli-skills/pp-multimail in mvanhorn/printing-press-library) into .claude/skills/pp-multimail in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mvanhorn/printing-press-library --skill pp-multimail -a codex`. Or copy the skill folder (cli-skills/pp-multimail in mvanhorn/printing-press-library) into .agents/skills/pp-multimail in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mvanhorn/printing-press-library --skill pp-multimail -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pp-multimail, .gemini/skills/pp-multimail, .github/skills/pp-multimail and .opencode/skills/pp-multimail in your project.
Going by SKILL.md and its folder, Pp Multimail needs the command-line tools its instructions call (go, claude and npx). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Bash.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Pp Multimail is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.5k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Pp Multimail: Process Inbox (telegramdesktop/tdesktop, 33k stars), Continue (telegramdesktop/tdesktop, 33k stars), Garden Inbox (paperclipai/paperclip, 99k stars) and Career-Ops Gmail Lead Plugin (career-ops-hq/career-ops, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mvanhorn (a GitHub user) maintains it in mvanhorn/printing-press-library, which has 2,053 GitHub stars. The repository holds 505 skills in this directory. The repository was last updated on October 7, 2026.
Source: mvanhorn/printing-press-library on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.