@inboundemail/inbound-cli
AUse the Inbound CLI to manage mailbox profiles, list and read emails, and keep an agent's default mailbox context between sessions.
Install
agr install @inboundemail/inbound-cli --target claudeWrites 19 files into .claude/skills/, pinned to git-e61a4bbf.
- .claude/skills/inbound-cli/.gitignore
- .claude/skills/inbound-cli/AGENTS.md
- .claude/skills/inbound-cli/LICENSE
- .claude/skills/inbound-cli/README.md
- .claude/skills/inbound-cli/SKILL.md
- .claude/skills/inbound-cli/autumn.config.ts
- .claude/skills/inbound-cli/biome.json
- .claude/skills/inbound-cli/bun.lockb
- .claude/skills/inbound-cli/components.json
- .claude/skills/inbound-cli/drizzle.config.ts
- .claude/skills/inbound-cli/next.config.ts
- .claude/skills/inbound-cli/package.json
- .claude/skills/inbound-cli/postcss.config.mjs
- .claude/skills/inbound-cli/security-review.md
- .claude/skills/inbound-cli/stainless-workspace.json
- .claude/skills/inbound-cli/stainless.yml
- .claude/skills/inbound-cli/tailwind.config.ts
- .claude/skills/inbound-cli/tsconfig.json
- .claude/skills/inbound-cli/vercel.json
Document
name: inbound-cli description: Use the Inbound CLI to manage mailbox profiles, list and read emails, and keep an agent's default mailbox context between sessions.
inbound-cli
Use this skill to operate email workflows through the inbound CLI with a persistent mailbox profile (inbound.json).
Setup
- Install globally:
npm i -g inbound-cli - Use command name:
inbound
When to use
- User asks to check inbox mail, triage unread items, read email threads, or reply using Inbound CLI.
- User asks to set up or switch mailbox defaults for the agent.
- User asks to filter email activity by mailbox address/domain.
- User asks for command-line email operations instead of direct API calls.
Do not use this skill when the task is unrelated to Inbound email workflows.
Instructions
-
Validate CLI availability.
- Ensure global install exists:
npm i -g inbound-cli. - Verify command works:
inbound help.
- Ensure global install exists:
-
Validate auth before mailbox work.
- Check
INBOUND_API_KEYexists. - If missing, ask the user for the API key or ask them to export it.
- Check
-
Ensure mailbox profile exists for the agent.
- If no config exists, initialize:
inbound mailbox init. - Add mailbox profile for the agent identity:
inbound mailbox add <key> --name "<Agent Name>" --email <agent@email> [--domain <domain>]
- Set default mailbox:
inbound mailbox use <key>
- If no config exists, initialize:
-
Default mailbox-first inbox workflow.
- List inbox (defaults to received type):
inbound emails list --limit 25
- Read a specific email:
inbound emails get <email_id>
- Mark handled email as read:
inbound emails update <email_id> --is_read true
- List inbox (defaults to received type):
-
Use filters intentionally.
- Narrow by status/search/time:
inbound emails list --status unread --search "invoice" --time-range 7d
- Override mailbox filters for one run:
inbound emails list --address user@example.cominbound emails list --domain example.com
- Include non-received types when needed:
inbound emails list --type sentinbound emails list --type scheduledinbound emails list --type all
- Narrow by status/search/time:
-
Find mailbox profiles by identity.
inbound mailbox find --address user@example.cominbound mailbox find --domain example.com
-
Use thread view for conversation context.
inbound mail threads list --limit 20inbound mail threads get <thread_id>
-
Automation and parsing mode.
- Use
--jsonwhen the output needs machine parsing. - Use human mode by default for operator readability.
- Use
Expected behavior
- Always start from the configured default mailbox unless explicit filter overrides are provided.
- Preserve mailbox context so future runs use the same identity.
- Keep user informed when filters broaden scope (for example
--type all).
Quick command cheatsheet
inbound mailbox list
inbound mailbox show
inbound emails list --status unread --limit 25
inbound emails get <email_id>
inbound emails update <email_id> --is_read true
inbound mail threads list --limit 20
inbound mail threads get <thread_id>
inbound emails list --json
Trustgrade A
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- passLicense
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-e61a4bbfc2062026-07-31