email-draft-in-voice
GitHub根据用户声音画像起草Gmail邮件。先加载文件中的语音档案,读取完整邮件线程,生成纯文本草稿并经用户审核批准,最后保存为Gmail草稿。严禁自行编造语气,需严格遵循档案规则。
Trigger Scenarios
Install
npx skills add yc-software/qm --skill email-draft-in-voice -g -y
SKILL.md
Frontmatter
{
"name": "email-draft-in-voice",
"description": "Draft Gmail in the user's own voice from the voice profile built by email-voice-profile. Drafts only; the user reviews and sends."
}
Draft email in the user's voice
Use this when the user asks you to write or reply to email as them — "draft a reply to this", "write back to her for me", "answer my inbox in my voice".
Load the profile first — never freehand
The profile lives in the user's Files, never on a particular computer. Find it by the
memory fact "Email voice profile is Files GET $AGENT_API_URL/v1/files?q=email-voice-profile (header
x-agent-capability: $AGENT_API_TOKEN; take the newest match), then download it with
GET $AGENT_API_URL/v1/files/<id>/content. A missing file on disk means nothing; only
when memory and Files both come back empty does the profile not exist, and then run
the email-voice-profile skill first (personal DM only). Do not improvise a voice from
memory or from this conversation's tone. The profile's Hard rules and
Anti-patterns sections are constraints, not suggestions.
Draft
- Read the full thread you're replying to through the selected email access skill — never draft from a snippet or excerpt; a question below the fold would go silently unanswered. Match the register the profile prescribes for this audience.
- Write the body to a file — plain text, one line per paragraph, blank line between. No styled HTML (fonts, colors, buttons); the email access skill sets the draft's format.
- Self-check against the profile before showing anything: opener and sign-off drawn from their real ones, sentence rhythm right, no anti-pattern present. If a sentence could appear in anyone's email, rewrite it or cut it.
- Show the user the exact text and ask for approval before creating any draft.
Save the draft
Use the selected email access skill to create or update the Gmail draft, preserving reply threading and recipients. Sending is a separate action and requires explicit approval of the draft for sending.
Afterward
Tell the user where the draft landed in Gmail Drafts and keep the draft id in memory (one fact naming the thread and draft id) so a later turn on any computer can update it. If they edit your text, notice what they changed — recurring corrections belong in the voice profile as hard rules; offer to add them and republish the profile.
Version History
-
9c9ff89
Current 2026-11-07 12:05
将读取语音配置文件的方式从工作区本地文件改为通过Agent API从Files服务获取,增强了配置管理的灵活性。
-
ca47f5c
2026-09-22 01:40
移除对gmail.py脚本的硬编码调用,改为通过选定的email access skill操作;简化HTML处理说明。
-
b702813
2026-08-16 16:14
新增限制:邮件正文必须为纯文本格式,禁止使用 HTML 样式;确保文件保存为 UTF-8 编码以支持特殊字符。
- 7f2c916 2026-08-02 21:46


