stm-assistant
v1.0.0Professional email outreach on behalf of your human. Branded signatures, Reply-To routing, CC tracking.
Installation
Please help me install the skill `stm-assistant` from SkillHub official store.
npx skills add MouseRider/stm-assistant
STM Assistant — Send on Behalf
Send professional emails from a dedicated agent inbox on behalf of your human.
Setup Requirements
- Agent inbox — via AgentMail (
mcporter call agentmail.create_inbox displayName="Your Assistant") or any SMTP provider - Hosted signature logo — small image (60x60px), hosted URL (Gmail blocks inline base64)
- mcporter with agentmail configured
Sending Protocol
Every outbound email MUST:
- CC your human — no exceptions. They see every email you send.
- Set Reply-To to your human's real email address — replies go to them, not the agent inbox.
- Use full legal name on formal correspondence.
- Include the branded signature:
<div>
<div style="font-weight: bold;">Human's Full Name</div>
<div>[email protected]</div>
<img src="https://your-hosted-logo.png" width="60" height="60" />
<div style="color: #aaa; font-size: 10px;">Sent on behalf of [Name] by their personal assistant</div>
</div>
Approval Rules
- Routine emails (scheduling, follow-ups, informational) — send directly, notify human after
- High-stakes emails (legal, financial, employment, first contact with important people) — draft and get explicit approval before sending
- When in doubt → ask first
Sending via AgentMail
mcporter call agentmail.send_message
[email protected]
to='[{"email":"[email protected]","name":"Recipient Name"}]'
subject="Subject Line"
html="<p>Email body with signature</p>"
cc='[{"email":"[email protected]"}]'
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 [email protected] limit=5 labels='["unread"]'
After processing a reply:
mcporter call agentmail.update_message
[email protected]
messageId=MSG_ID
removeLabels='["unread"]'
addLabels='["processed"]'
Always mark processed emails. Unread inbox = broken assistant.