skills/agent-email-system/SKILL.md
Multi-agent email system with Google Service Accounts, comprehensive safeguards (recipient allowlisting, rate limiting, keyword filtering, manual approval queue), and REST API service for secure agent-to-agent email communication.
npx skillsauth add garrettroi/open-manus agent-email-systemInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A secure, multi-agent email system designed for automated agent-to-agent communication with comprehensive safeguards.
This skill provides:
# 1. Set up environment
export GOOGLE_SERVICE_ACCOUNT_JSON='{"type":"service_account",...}'
export AGENT_EMAIL_API_KEY="your-api-key"
# 2. Start the REST API service
python3 /app/skills/agent-email-system/scripts/email_service.py
# 3. Send an email via API
curl -X POST http://localhost:8080/api/v1/email/send \
-H "Authorization: Bearer $AGENT_EMAIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "[email protected]",
"subject": "Test from Agent",
"body": "Hello from the agent system!"
}'
┌─────────────┐ HTTP/REST ┌──────────────────┐ Gmail API ┌─────────────┐
│ Client │ ─────────────────→ │ Email Service │ ─────────────────→ │ Gmail │
│ (Agents) │ │ (FastAPI) │ │ (Google) │
└─────────────┘ └──────────────────┘ └─────────────┘
│
↓
┌──────────────────┐
│ Safeguards │
│ - Allowlist │
│ - Rate Limit │
│ - Keywords │
│ - Approval │
└──────────────────┘
Only pre-approved email addresses/domains can receive emails.
Configurable per-sender limits to prevent spam.
Block emails containing prohibited keywords.
Sensitive emails require manual approval before sending.
scripts/email_service.py - Main REST API service (FastAPI)scripts/gmail_client.py - Gmail API client wrapperscripts/safeguards.py - Safeguard enforcement modulescripts/approval_queue.py - Manual approval managementtemplates/config.yaml - Service configuration templatetemplates/allowlist.txt - Recipient allowlist templatereferences/gmail-api-setup.md - Google Service Account setup guidereferences/api-reference.md - REST API endpoint documentationreferences/security-model.md - Security architecture detailsdevelopment
# Voice Sanitizer This skill cleans up text before it is sent to the Text-to-Speech (TTS) engine. It removes technical jargon, code blocks, and long URLs to ensure the agent sounds natural and conversational in voice chat. ## Usage To sanitize text for speech, run the following command in the terminal: ```bash python3 /app/skills/voice_sanitizer/sanitizer.py "Your long, technical text with `code` and https://links.com/long-url" ``` ### Example Output ```text Your long, technical text with a
tools
Professional AI video production workflow. Use when creating videos, short films, commercials, or any video content using AI generation tools.
tools
Secure API key access from the centralized vault. Fetch keys on-demand without storing them in environment variables.
testing
# Task Board — Persistent Task Tracking for Open Manus This skill provides a shared task board backed by Redis. Harmony uses it to track delegated work across all agents, and agents use it to report progress and completion. ## When to Use - **Harmony**: Use this whenever you delegate a task to an agent. Add the task to the board, then check the board periodically to follow up. - **Worker Agents**: Use this to update your task status or mark tasks as complete. ## Commands ### Add a new task