Skip to content
cccskills
FreePublished on GitHub

email-voice-profile

Analyze sent Gmail messages to document writing habits, including greetings, phrasing, formatting, and changes in tone by audience. Build or refresh a profile for email-draft-in-voice, then check it against actual replies from separate threads.

OriginalShow the original 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.

Works withGmail
See how to install

Good for

  • Build a writing profile from sent Gmail messages
  • Document tone differences by recipient
  • Prepare a profile for email-draft-in-voice
  • Refresh a profile with current writing habits

Files included (2)

  • SKILL.md3.4 KB
  • scripts/fetch_sent.py7.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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:

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

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

admin

FreeSummary

Help QM organization admins inspect settings, stored memory, conversations, files, and operational records across the organization. It also supports confirmed configuration changes and external user management, while keeping admin grant changes in the dashboard.

  • Check whether the requester is an organization admin
  • Inspect or update organization and channel settings
  • Investigate agent behavior using transcripts and captured prompts
yc-software/qm15.5KUpdated Oct 20, 2026

browse

FreeSummary

Carry out website tasks in a remote browser, including expense submissions, authorized orders, and retrieving data behind a login. Personal browser profiles preserve sign-ins, while users handle login and verification screens themselves.

  • Submit an expense with a receipt attachment
  • Order food within an agreed budget
  • Retrieve data from a signed-in website
yc-software/qm15.5KUpdated Oct 20, 2026

cloud-cli

FreeSummary

Sign in to a cloud provider’s command-line tool using a verification URL and one-time code approved on the user’s device. Check installation and account identity, save the login, and run commands within that user’s permissions.

  • Sign in to a cloud CLI from a separate device
  • Check whether required CLIs and helpers are installed
  • Verify the cloud account before running commands
yc-software/qm15.5KUpdated Oct 20, 2026

composio

FreeSummary

Help users discover and connect apps, then run available app tools through QM’s authenticated backend. It checks connection status, presents consent options, and keeps Composio project keys out of user-facing setup.

  • Browse available app integrations
  • Connect an app needed for a task
  • Reopen app connection setup
yc-software/qm15.5KUpdated Oct 20, 2026

connect-apps

FreeSummary

Connect supported work apps through browser consent without sharing passwords with the agent. The skill checks available connection methods, provides a single-use authorization link when appropriate, and guides personal Slack account linking.

  • Connect an administrator-enabled work app
  • Authorize an app through a browser consent link
  • Link a personal Slack account
yc-software/qm15.5KUpdated Oct 20, 2026

define-loop

FreeSummary

Set up recurring agent work for issues, tickets, or small fixes. The skill tests one real item first, then defines a repeatable procedure, tracks work to prevent duplicates, and holds outputs for human review.

  • Recurring preparation of fixes for Sentry issues
  • Drafting replies to Front tickets
  • Preparing small performance improvement PRs
yc-software/qm15.5KUpdated Oct 20, 2026

See all skills by yc-software

Report a problem with this skill