STM Assistant
by @mouserider
Professional email outreach on behalf of your human. Branded signatures, Reply-To routing, CC tracking.
clawhub install stm-assistantπ About This Skill
name: stm-assistant version: 1.0.0 description: "Professional email outreach on behalf of your human. Branded signatures, Reply-To routing, CC tracking." metadata: {"openclaw":{"emoji":"π§","requires":{"bins":["mcporter"]}}} user-invocable: true
STM Assistant β Send on Behalf
Send professional emails from a dedicated agent inbox on behalf of your human.
Setup Requirements
1. Agent inbox β via AgentMail (mcporter call agentmail.create_inbox displayName="Your Assistant") or any SMTP provider
2. Hosted signature logo β small image (60x60px), hosted URL (Gmail blocks inline base64)
3. mcporter with agentmail configured
Sending Protocol
Every outbound email MUST:
1. CC your human β no exceptions. They see every email you send. 2. Set Reply-To to your human's real email address β replies go to them, not the agent inbox. 3. Use full legal name on formal correspondence. 4. Include the branded signature:
Human's Full Name
human@email.com
Sent on behalf of [Name] by their personal assistant
Approval Rules
Sending via AgentMail
mcporter call agentmail.send_message \
inboxId=your-agent@agentmail.to \
to='[{"email":"recipient@example.com","name":"Recipient Name"}]' \
subject="Subject Line" \
html="Email body with signature
" \
cc='[{"email":"human@email.com"}]'
Important: Use text (plain text) or html (formatted) parameters. Never body or htmlBody β those don't exist and produce empty emails.
Inbox Monitoring
Check for replies on a regular cycle (heartbeat or cron):
mcporter call agentmail.list_threads inboxId=your-agent@agentmail.to limit=5 labels='["unread"]'
After processing a reply:
mcporter call agentmail.update_message \
inboxId=your-agent@agentmail.to \
messageId=MSG_ID \
removeLabels='["unread"]' \
addLabels='["processed"]'
Always mark processed emails. Unread inbox = broken assistant.