voice-matching
How to draft email replies and new messages that sound like the user, using the style memory
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
How to draft email replies and new messages that sound like the user, using the style memory
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when the user wants to build a Google ADK agent — scaffolding a new agent, adding tools/skills/prompts to one, or asking how to structure an ADK project. Triggers on phrases like "create an ADK agent", "build a Google agent", "scaffold an agent", "make an agent that does X", "I need an ADK skeleton", or any task involving generated-agents/, LlmAgent, SkillToolset, or the ADK framework. Also use whenever the user mentions `nuvel`, the `nuvel` CLI, or asks about agent architecture patterns / callbacks / HITL / streaming / ADK prompt engineering — nuvel ships the canonical knowledge skills for those topics. Lean toward triggering — if the task touches Google ADK at all, this skill is in scope.
Delegate work to sub-agents with the ADK 2.0 Task API — `mode='task'`, `mode='single_turn'`, `mode='chat'` on `LlmAgent`, the auto-attached `finish_task` tool, and typed contracts via `input_schema` / `output_schema`. Load this skill when one agent needs to hand a bounded unit of work to another and get a validated result back, or when migrating off SequentialAgent / ParallelAgent / LoopAgent.
Creating valid SKILL.md files following the agentskills.io specification — frontmatter, instructions, references directory, progressive disclosure (L1/L2/L3), and SkillToolset wiring in agent.py. Load this skill when generating domain skills for an agent.
Build graph-based agents with ADK 2.0 `Workflow` — declare nodes and edges, route conditionally, fan-out/fan-in in parallel, run dynamic nodes at runtime, and add human-in-the-loop revision cycles. Load this skill whenever the agent needs anything beyond a strictly linear or trivially parallel pipeline.
Agent architecture patterns for Google ADK 2.0 — when to reach for a single LlmAgent, a Workflow graph (new default for multi-step orchestration), or the shortcut classes SequentialAgent / LoopAgent / ParallelAgent. Load this skill when deciding the agent's top-level shape.
Pattern for turning a brief into a coherent deck outline — intent detection, section ratios, draft headings, expansion
| name | voice-matching |
| description | How to draft email replies and new messages that sound like the user, using the style memory |
| when_to_use | The user asks to draft, write, reply to, compose, or "knock out" an email. Includes "make me a reply to this" and "send Anna a note about X". |
The goal is a draft the user could send unchanged. Not "a good email" — their good email.
Every drafting call starts with:
recall_writing_style — load the voice rulebook. If empty, draft conservatively (short, plain, no flourishes) and tell the user "I haven't learned your style yet — this is generic; reply with edits and I'll learn."get_current_compose if the user is replying or building on something already in the compose window. Don't blow away their existing text — extend it.get_selected_message if the request is "reply to this".The style memory typically contains rules like:
Hi <name>, vs Hey <name> vs none).Thanks, vs Best, vs — J).Apply them mechanically. If the memory says "no exclamation marks" and the draft has one, fix it before returning.
recall_memory(topic="recipient-<email>") before drafting to someone the user emails often.When the agent inserts a draft into the compose window:
Subject: line in the body. Subject goes in the subject field separately.When the agent returns a draft for the user to see in the chat first (no compose open):
After the user confirms a send (the taskpane fires learn_style_from_sent_email), the agent treats it as a teaching signal — especially if the user edited the draft before sending. The edit is the gold-standard voice sample.