# Email Voice Profile

Build (or refresh) a voice profile of how the user writes email, from their own sent...

- Repository: https://github.com/yc-software/qm (15597 stars)
- Category: Media
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add yc-software/qm --skill email-voice-profile -g -a claude-code -y`
Codex: `npx skills add yc-software/qm --skill email-voice-profile -g -a codex -y`
Cursor: `npx skills add yc-software/qm --skill email-voice-profile -g -a cursor -y`
Gemini CLI: `npx skills add yc-software/qm --skill email-voice-profile -g -a gemini-cli -y`

## Description

Build (or refresh) a voice profile of how the user writes email, from their own sent Gmail. The profile is what email-draft-in-voice consumes to ghostwrite email that sounds like them.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Email voice profile

Use this when the user asks you to learn how they write email, "learn my voice",
"build my email voice profile", "study my sent mail so you can draft for me", or when
`email-draft-in-voice` needs a profile that doesn't exist yet.

**Personal DMs only.** Sent mail is private; refuse to run this from a channel or group
and offer to continue in the user's DM. The profile you produce lives in their personal
workspace, so only their own conversations can read it.

## 1. Pull the corpus

Use the selected email access skill to retrieve up to 300 of the user's sent messages.
Strip quoted replies and `--`-delimited signatures, drop automated and trivial messages,
and write one JSON line per email to `voice/corpus/corpus.jsonl`, tagged `internal` or
`external` by recipient domain. Record corpus stats; if fewer than ~50 usable emails
survive, tell the user the profile will be rough and ask whether to continue.

## 2. Study it

Read a deliberate spread, not just the top of the file: oldest and newest, internal
and external, one-liners and long emails. You are looking for what is _distinctive_, patterns a generic professional emailer would not share.

Watch for a signature block: only `--`-delimited signatures are stripped, so a plain
signature (name / title / phone) survives at the end of many bodies. Treat a verbatim
recurring trailing block as the mail client's signature, not a chosen sign-off, note
it in the profile so drafts never include it (Gmail appends it on send).

## 3. Write the profile

Write `voice/email-voice-profile.md` in the workspace with exactly these sections,
every claim backed by observed frequency ("uses 'Best,' in 80% of external mail"),
with 2, 3 verbatim example lines each:

The rest: https://github.com/yc-software/qm/blob/HEAD/skills-seed/email-voice-profile/SKILL.md
