virtual-protocol/acp-cli-demos/agent-email-otp
Claude Code and agent skill by virtual-protocol/acp-cli-demos
- community
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install virtual-protocol/acp-cli-demos/agent-email-otpSKILL.md
Agent Email OTP — Automated Inbox & OTP Extraction
When to Use
- An agent needs to receive emails and extract OTP/verification codes automatically
- An agent needs to read its inbox, parse threads, and act on email content
- An agent needs to send emails (notifications, confirmations, test messages)
- An agent needs to complete email-based identity verification flows
When NOT to Use
- You need real-time push notifications (this is poll-based)
- The email provider is not supported by ACP CLI
- You need to process attachments in binary formats not handled by the CLI
Required Inputs
- ACP CLI installed and configured (
acp configure) - Active ACP agent with a provisioned email identity (
acp email whoami) - Agent email address — automatically provisioned via
acp agent createoracp email provision
Preconditions
- Verify email identity is active:
``bash acp email whoami ``
- Confirm the agent wallet is set:
``bash acp wallet address ``
Step-by-Step Workflow
Step 1: Verify Email Identity
Confirm the agent has an active email address. If not provisioned:
Step 2: Send a Test Email (Optional — for Self-Testing)
Capture the Message ID and Thread ID from the output.
Step 3: Read Inbox
Parse the JSON response to find inbound messages. Key fields:
id— message ID (used for OTP extraction)threadId— thread ID (used for thread reading)direction—inboundoroutboundbodyPreview— first few lines of the email bodyreceivedAt— timestamp
Step 4: Extract OTP Code
Returns:
The CLI scans the email body for common OTP patterns (4-8 digit codes, alphanumeric codes) and returns them.
Step 5: Read Full Thread (Optional)
Returns the full thread with all messages, including complete body text (textBody, htmlBody).
Step 6: Search Inbox (Optional)
Search across subject and body for specific keywords.
Step 7: Reply to Thread (Optional)
Step 8: Extract Links (Optional)
Extracts all URLs from an email body — useful for magic-link login flows.
Step 9: Download Attachment (Optional)
Approval Gates
- Email compose — sends an email from the agent's identity. Ensure recipients are intentional.
- OTP extraction — read-only, no approval needed.
- Email reply — sends a reply. Ensure content is appropriate.
Stop Conditions
- Email identity not provisioned → run
acp email provisionfirst - Inbox empty → no messages to process; wait or trigger a new email
- OTP not found in email → the email may not contain a recognizable code pattern; fall back to
acp email threadand parse manually
Evidence and Redaction Rules
When producing proof for Showcase or external sharing:
- NEVER expose the full agent email address in public reports if it is sensitive (redact to
j***@agents.world) - NEVER share OTP codes in public reports — replace with
[REDACTED] - NEVER share email thread IDs or message IDs that could allow inbox enumeration
- NEVER share API keys, auth tokens, or session cookies
- DO show command structure, flow steps, and success/failure states
- DO redact sensitive fields while keeping the workflow visible
Validation Checklist
- [ ]
acp email whoamireturns active status - [ ]
acp email composesuccessfully sends (returns Message ID) - [ ]
acp email inbox --jsonreturns received messages - [ ]
acp email extract-otp --message-id <id> --jsonreturns OTP code - [ ]
acp email thread --thread-id <id> --jsonreturns full thread - [ ] All proof artifacts are redacted of sensitive data
Output Contract
After running this skill, the agent produces:
- OTP code — extracted verification code (string)
- Thread data — full email thread JSON (for audit/logging)
- Inbox snapshot — current inbox state (for debugging)
- Redacted report — markdown report of the flow with sensitive data removed
Error Codes
| Error | Cause | Fix | |
|---|---|---|---|
email not provisioned | Agent has no email identity | Run acp email provision | |
inbox empty | No messages received | Wait for email or send a test | |
otp not found | No OTP pattern in email | Check email body via acp email thread | |
message not found | Invalid message ID | Re-check acp email inbox for valid IDs |
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingshowcase/agent-email-otp/skills/agent-email-otp/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/virtual-protocol/acp-cli-demos/agent-email-otp)