Agent skill

Email Voice Profile

by yc-software in yc-software/qm

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

MITAuto-check passedWriting & Content

Install Email Voice Profile

skills CLI
$ npx skills add yc-software/qm --skill email-voice-profile -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install yc-software/qm email-voice-profile --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/yc-software/qm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills-seed/email-voice-profile .claude/skills/email-voice-profile && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
email-voice-profile
GitHub stars
15k
Token cost
~856 tokens
SKILL.md length
496 words
Files
2 (incl. scripts)
Skills in repo
31
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 4 steps: Pull the corpus → Study it → Write the profile → …
  • Tasks that involve Brand voice and tone
  • SKILL.md covers 1. Pull the corpus, 2. Study it, 3. Write the profile and 4. Validate before declaring…
  • Runs Python scripts from its folder

What it does

Email Voice Profile is an agent skill from yc-software/qm. 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.

Its SKILL.md is about 860 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/fetch_sent.py`).

It sits in Writing & Content, covering Brand voice and tone, Email writing and Email management. It works with Gmail. The repository describes itself as: Multiplayer agent harness for work. The licence is MIT.

When your agent uses it

  • Tasks that involve Brand voice and tone
  • Tasks that involve Email writing
  • Tasks that involve Email management

Example prompts

  • “/email-voice-profile”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Pull the corpus
  2. Study it
  3. Write the profile
  4. Validate before declaring done

What it can do on your machine

Read from SKILL.md and the folder at commit daeb2de. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Email Voice Profile loads about 856 tokens when it runs. Until then it costs about 51 tokens; SKILL.md has 496 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~51
When it runs · the whole SKILL.md, loaded when a task matches
~856

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from yc-software/qm at commit daeb2de, republished under its MIT licence (© yc-software). 496 words, ~856 tokens.

Download SKILL.mdSave it as .claude/skills/email-voice-profile/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
email-voice-profile
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.

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).

Show full SKILL.md (248 more words)Show less

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:

  • Register map — how tone shifts by audience (internal vs external, familiar vs cold), and how their length tracks the situation.
  • Openers & sign-offs — actual greetings and closings with rough frequencies, including when they use none.
  • Rhythm — sentence length, paragraph shape, how they open and end a body, use of fragments, lists, links.
  • Vocabulary & phrases — recurring words, pet phrases, how they hedge, how they say yes and no.
  • Punctuation & formatting quirks — dashes, ellipses, casing, emoji, bolding.
  • Hard rules — things true of nearly every email ("never opens with 'I hope this finds you well'", "always lowercase to teammates").
  • Anti-patterns — what they never do, plus the generic-AI tells to avoid (enthusiastic adjectives, "I'd be happy to", bullet-point answers to plain questions).

4. Validate before declaring done

Hold out 3 real threads the profile wasn't built from. For each, draft the user's reply using only the profile, then compare with what they actually sent. Where the real email diverges, tighten the profile — usually a missing hard rule or register distinction. Record validated: <date> at the top of the profile once the drafts read as plausibly theirs.

Show the user the finished profile and ask what feels wrong; their corrections go in as hard rules. Re-run this skill any time they want it refreshed — it overwrites the corpus and profile in place.

© yc-software, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in skills-seed/email-voice-profile of yc-software/qm.

  • SKILL.md
  • scripts/fetch_sent.py

Open the folder on GitHubat commit daeb2de

Compare with similar skills

Email Voice Profile next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Email Voice Profile compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Email Voice Profile this skillyc-software/qm15k—~856Automated safety check: PassMIT
Write Like Me Bootstrapjxnl/personal-monorepo-template563—~1.1kAutomated safety check: PassNone
Oc Statusanthropics/claude-for-legal9.6k2 repos~2.1kAutomated safety check: PassApache-2.0
Email Draftingmgonto/executive-assistant-skills118—~2.8kAutomated safety check: PassNone
Recipe Draft Email From Docgoogleworkspace/cli31k—~197Automated safety check: PassApache-2.0
Gmail Reply via gwsgoogleworkspace/cli31k—~655Automated safety check: PassApache-2.0

Similar skills

  • Write Like Me Bootstrap

    jxnl/personal-monorepo-template

    Bootstrap a durable "write like me" skill from the user's own Slack and email writing.

    563 GitHub stars~1.1k tokensUpdated 3 mo ago
    Writing & ContentAuto-check passed
  • Oc Status

    anthropics/claude-for-legal

    Official

    Generate weekly status-request email drafts to outside counsel across the active portfolio — markdown per matter, plus Gmail drafts when the MCP is available.

    9.6k GitHub starsUsed in 2 repos~2.1k tokens
    Writing & ContentAuto-check passed
  • Email Drafting

    mgonto/executive-assistant-skills

    Draft email replies for Gonto's Gmail accounts (m@gon.to, gonto@hypergrowthpartners.com).

    118 GitHub stars~2.8k tokensUpdated 7 mo ago
    Productivity & AutomationAuto-check passed
  • Recipe Draft Email From Doc

    googleworkspace/cli

    Read content from a Google Doc and use it as the body of a Gmail message.

    31k GitHub stars~197 tokensUpdated 3 days ago
    Documents & OfficeAuto-check passed
  • Gmail Reply via gws

    googleworkspace/cli

    Replies to a Gmail message from the gws CLI with automatic threading, plus CC, BCC, extra recipients, attachments, HTML bodies and draft or dry-run modes.

    31k GitHub stars~655 tokensUpdated 3 days ago
    Productivity & AutomationAuto-check passed
  • Routine From Chat

    rome-os/rome

    Turn a plain-language "do this automatically" request into a routine — either event-triggered ("text me when I get an email from my landlord") or scheduled ("remind me every Friday at 9am").

    743 GitHub stars~3.8k tokensUpdated today
    Writing & ContentAuto-check passed

More from yc-software/qm

All 31 skills in this repo
  • Admin

    yc-software/qm

    Act for an org admin — the admin API (scope directory, per-scope config & SOUL, any scope's memory, transcripts & captured prompts, files, user roster & external users, audit/errors/metrics/egress)…

    15k GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Browse

    yc-software/qm

    Drive a real stealth browser from your shell — act on websites (order food, file an expense, pull data behind a login), with per-person persistent sign-ins via the provider's managed auth (Kernel…

    15k GitHub stars~3.8k tokensUpdated today
    Auto-check passed
  • Composio

    yc-software/qm

    Show the app connection picker or setup widget when users ask to connect apps, reopen setup, or need an app that isn't connected yet.

    15k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Dev Instance

    yc-software/qm

    Run the current worktree as a production-shaped local dev instance with web, Slack, or both, on a real LLM + Postgres.

    15k GitHub stars~3.7k tokensUpdated today
    Auto-check: notes
  • GitHub GitLab

    yc-software/qm

    Work with GitHub and GitLab repositories through resident gh/glab/git auth on the agent computer.

    15k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Google Workspace

    yc-software/qm

    Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.

    15k GitHub stars~1.8k tokensUpdated today
    Auto-check passed

Works with

Questions about Email Voice Profile

What does Email Voice Profile do?

Build (or refresh) a voice profile of how the user writes email, from their own sent Gmail. Email Voice Profile is an agent skill from yc-software/qm. Build (or refresh) a voice profile of how the user writes email, from their own sent Gmail.

When should I use Email Voice Profile?

Email Voice Profile fits situations like: tasks that involve Brand voice and tone; tasks that involve Email writing; tasks that involve Email management.

How do I install Email Voice Profile in Claude Code?

Run `npx skills add yc-software/qm --skill email-voice-profile -a claude-code`. Or copy the skill folder (skills-seed/email-voice-profile in yc-software/qm) into .claude/skills/email-voice-profile in your project. Claude Code loads it when a task matches its description.

How do I install Email Voice Profile in Codex?

Run `npx skills add yc-software/qm --skill email-voice-profile -a codex`. Or copy the skill folder (skills-seed/email-voice-profile in yc-software/qm) into .agents/skills/email-voice-profile in your project. Codex loads it when a task matches its description.

Can I use Email Voice Profile in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yc-software/qm --skill email-voice-profile -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/email-voice-profile, .gemini/skills/email-voice-profile, .github/skills/email-voice-profile and .opencode/skills/email-voice-profile in your project.

What does Email Voice Profile need to run?

Going by SKILL.md and its folder, Email Voice Profile needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Email Voice Profile access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Email Voice Profile safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Email Voice Profile use?

Email Voice Profile is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Email Voice Profile use?

About 856 tokens (SKILL.md is roughly 3.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Email Voice Profile?

Skills that share tags, products or a category with Email Voice Profile: Write Like Me Bootstrap (jxnl/personal-monorepo-template, 563 stars), Oc Status (anthropics/claude-for-legal, 9.6k stars), Email Drafting (mgonto/executive-assistant-skills, 118 stars) and Recipe Draft Email From Doc (googleworkspace/cli, 31k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Email Voice Profile?

yc-software (a GitHub organization) maintains it in yc-software/qm, which has 15,373 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 10, 2026.

Source: yc-software/qm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.