{"id":"79854169-0f10-400c-8cae-c97b1336dbe3","shortId":"hUgmD9","kind":"skill","title":"voice-extraction","tagline":"Reverse-engineer any person's writing voice from their content. Paste in posts, articles, tweets, or essays and this skill launches 10 parallel Sonnet subagents to analyze every dimension of the voice, then synthesizes into a voice file. Use when someone says 'match this voice,' ","description":"# /voice-extraction — Reverse-Engineer Any Voice\n\nPaste content. Get a complete voice architecture. 10 Sonnet subagents rip apart every dimension in parallel.\n\nThis is not a summary. This is a structural teardown of how someone writes, thinks, teaches, and earns trust. The output is a voice file that any other skill can read to produce content in that voice.\n\n---\n\n## When to Use\n\n- Someone pastes in posts, articles, or tweets they admire\n- \"Make me sound like this person\"\n- \"Steal this voice\"\n- \"Analyze how they write\"\n- \"Study this and build a voice from it\"\n- Building a brand voice from a specific person's content (founder, competitor, inspiration)\n- Replacing a generic brand-voice profile with one built from real source material\n\n---\n\n## On Activation\n\n1. Confirm you have raw content to analyze. The user must paste or point to actual writing (posts, articles, tweets, essays). Minimum: 1 substantial post or 5+ tweets. More is better.\n\n2. If the content is thin: \"I need more material to extract a real voice. One post gives me patterns. Five posts give me a system. Can you paste more?\"\n\n3. If the content is rich enough: proceed immediately. Don't ask unnecessary questions. The content IS the input.\n\n---\n\n## Phase 1: Launch 10 Sonnet Subagents\n\n**CRITICAL: Use `model: \"sonnet\"` for all 10 agents. Not opus. These run in parallel and sonnet is the right tool for focused analytical work.**\n\nLaunch ALL 10 in a SINGLE message using the Agent tool. Each agent gets the full pasted content plus a specific analytical lens.\n\n### The 10 Dimensions\n\n**Agent 1: Sentence Structure & Rhythm**\nAnalyze sentence length patterns, paragraph openers, idea sequencing within paragraphs, transitions between sections, use of questions vs statements. Look for: short-short-long triplets, myth-pivot openers, colon embeds, imperative staccato closers. Give specific examples from the content.\n\n**Agent 2: Vocabulary & Word Choice**\nAnalyze verbs they reach for, adjectives they use, words they avoid, jargon level, how they handle technical terms, signature phrases, casual vs formal balance. Identify: blacklist words (what they never say), signature vocabulary, crossover vocabulary from other domains.\n\n**Agent 3: Teaching Methodology**\nAnalyze how they introduce ideas, use examples, structure explanations, handle complexity, guide the reader. Look for: iteration-as-pedagogy (attempt #1, #2, #3), analogy-before-abstraction, wrong-way-first patterns, complexity escalation, \"develop your intuition\" closes.\n\n**Agent 4: Emotional Register**\nMap the emotional spectrum: when they show enthusiasm, when cautious, how they handle warnings, relationship to reader, confidence level, humor style. Identify: default emotional temperature, how warmth is rationed, how confidence appears, what emotions are absent.\n\n**Agent 5: Content Structure Patterns**\nAnalyze macro structure of pieces: opening patterns, section organization, how arguments build, how pieces close. Identify: the meta-pattern across all pieces, theory-to-example ratio, what goes first, what gets omitted.\n\n**Agent 6: Authority & Credibility Signals**\nAnalyze how they establish credibility without arrogance. Look for: \"we tried/I tried\" patterns, I/we splitting, epistemic framing, credentialing through specificity vs titles, how they credit others.\n\n**Agent 7: Tweet-Length Writing**\nAnalyze short-form specifically: sentence structure in tweets, claim posture, compression mechanism, how they tease long-form, what makes it feel like a person vs a content machine. Identify: the thesis extraction pattern, audience selection through vocabulary.\n\n**Agent 8: Use of Concrete Examples**\nAnalyze naming patterns, specificity levels, when real names vs templates, how examples serve arguments. Look for: mechanism-level vs outcome-level specificity, friction terms that signal lived experience, examples doing double duty (illustrating AND arguing).\n\n**Agent 9: Anti-Patterns (What They Don't Do)**\nAnalyze what's systematically absent: hype words, corporate speak, self-promotion patterns, talking down, clickbait, empty enthusiasm, excessive hedging, summary conclusions, rhetorical questions as transitions. Evidence of absence is as important as evidence of presence.\n\n**Agent 10: Adaptation for Target Voice**\nGiven all the above, how should this voice be adapted for the user's product/brand? What transfers directly? What needs modification? What should the user's unique voice add that the source doesn't do? Include example tweets/posts in the adapted voice.\n\n### Agent Prompt Template\n\nEach agent gets:\n\n```\nYou are analyzing the writing voice of [PERSON] to reverse-engineer their complete voice architecture. Focus ONLY on [DIMENSION].\n\nHere is their content:\n[FULL PASTED CONTENT]\n\nAdditional context: [USER'S PRODUCT/BRAND if relevant]\n\nOutput a structured analysis with specific patterns and examples from the actual content. No fluff. Be specific enough that someone could replicate this voice from your analysis alone.\n```\n\n---\n\n## Phase 2: Synthesize\n\nOnce all 10 agents report back, synthesize their findings into a single voice file. The file should be structured as:\n\n```markdown\n# [Name] Voice Guide\n\n> Built from deep analysis of [source description]. [One sentence on what this voice is for.]\n\n## 1. Core Identity\n[Who this voice is. The guiding sentence.]\n\n## 2. Sentence Architecture\n[Patterns from Agent 1, distilled into rules with examples]\n\n## 3. Vocabulary\n[Reach for / Avoid lists from Agent 2]\n\n## 4. Emotional Register\n[Temperature map from Agent 4]\n\n## 5. Authority & Credibility\n[Patterns from Agent 6]\n\n## 6. Teaching Style\n[Patterns from Agent 3]\n\n## 7. Tweet Voice\n[Short-form patterns from Agent 7]\n\n## 8. Content Structure\n[Macro patterns from Agent 5]\n\n## 9. What We Never Do\n[Anti-patterns table from Agent 9]\n\n## 10. The [Brand] Delta\n[Adaptation from Agent 10]\n\n## 11. Example Tweets in This Voice\n[3-5 examples from Agent 10's adaptation]\n```\n\n### Where to Save\n\nThis skill extracts a *specific person's* voice (founder, competitor,\ninspiration) — it does NOT overwrite the project's canonical\n`brand/voice-profile.md`. Each extracted voice lives in its own file\nso multiple subjects can coexist and be referenced independently.\n\n- If inside a project with `brand/`: save to `brand/voices/[name].md`\n  (create the `brand/voices/` subdirectory if it doesn't exist)\n- If standalone: save to `./voices/[name].md` relative to the current\n  working directory\n\nNever write to `brand/voice-profile.md` from this skill — that path is\nowned by `/brand-voice` and represents the single canonical project\nvoice. Use the voices subdirectory for per-subject extractions.\n\n---\n\n## Phase 3: Wire In\n\nAfter the voice file is written:\n\n1. Tell the user it's done and where it's saved\n2. Offer to update `/cmo` or other skills to read this file instead of (or in addition to) the default `voice-profile.md`\n3. Offer to write sample tweets in the new voice as a test\n\n---\n\n## Anti-Patterns\n\n| Anti-pattern | Why it fails | Instead |\n|-------------|-------------|---------|\n| Summarizing the person's content | A summary is not a voice analysis | Analyze HOW they write, not WHAT they write about |\n| Using fewer than 10 agents | Each dimension needs focused attention; combining them produces shallow analysis | Always launch all 10, always in parallel |\n| Using opus for the subagents | Expensive and unnecessary; sonnet is sharp enough for focused analytical work | Always use `model: \"sonnet\"` |\n| Launching agents sequentially | Wastes time; these are independent analyses | Launch all 10 in a SINGLE message |\n| Skipping the adaptation agent (#10) | The raw analysis is academic without adaptation to the user's context | Agent 10 is what makes this actionable |\n| Writing a generic \"be authentic\" voice guide | Useless; every voice guide says this | Every rule must have a specific pattern with a specific example |\n| Analyzing without enough source material | Patterns need repetition to be patterns | Ask for more content if < 1 substantial post |\n\n---\n\n## Related Skills\n\n- **/brand-voice** — builds voice from interview or website scrape (lighter weight, less precise)\n- **/writing-assistant** — uses the voice file to write in the extracted personal voice\n- **/cmo** — orchestrates marketing content using the voice file\n- **/compound-writing** — evolves the voice over time through learnings","tags":["voice","extraction","marketing","cli","moizibnyousaf","agent-skills","ai-agents","ai-marketing","brand-memory","brand-voice","claude-code","claude-code-skills"],"capabilities":["skill","source-moizibnyousaf","skill-voice-extraction","topic-agent-skills","topic-ai-agents","topic-ai-marketing","topic-brand-memory","topic-brand-voice","topic-claude-code","topic-claude-code-skills","topic-cli","topic-cmo","topic-marketing-automation","topic-marketing-cli","topic-seo"],"categories":["marketing-cli"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/MoizIbnYousaf/marketing-cli/voice-extraction","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add MoizIbnYousaf/marketing-cli","source_repo":"https://github.com/MoizIbnYousaf/marketing-cli","install_from":"skills.sh"}},"qualityScore":"0.459","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 18 github stars · SKILL.md body (8,400 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:05:53.316Z","embedding":null,"createdAt":"2026-05-04T19:06:17.184Z","updatedAt":"2026-05-18T19:05:53.316Z","lastSeenAt":"2026-05-18T19:05:53.316Z","tsv":"'-5':938 '/brand-voice':1030,1261 '/cmo':1073,1285 '/compound-writing':1293 '/voice-extraction':50 '/voices':1009 '/writing-assistant':1273 '1':171,193,252,308,420,840,856,1057,1256 '10':26,63,254,263,283,305,683,803,923,930,942,1137,1152,1187,1196,1210 '11':931 '2':202,353,421,799,850,870,1069 '3':232,396,422,862,892,937,1048,1090 '4':439,871,878 '5':197,479,879,910 '6':518,885,886 '7':549,893,902 '8':594,903 '9':637,911,922 'absenc':674 'absent':477,650 'abstract':426 'academ':1201 'across':503 'action':1215 'activ':170 'actual':186,781 'adapt':684,697,728,927,944,1194,1203 'add':716 'addit':763,1085 'adject':362 'admir':120 'agent':264,290,293,307,352,395,438,478,517,548,593,636,682,730,734,804,855,869,877,884,891,901,909,921,929,941,1138,1177,1195,1209 'alon':797 'alway':1149,1153,1172 'analog':424 'analogy-before-abstract':423 'analys':1184 'analysi':773,796,828,1124,1148,1199 'analyt':279,302,1170 'analyz':31,130,178,312,357,399,483,522,554,599,646,738,1125,1240 'anti':639,917,1104,1107 'anti-pattern':638,916,1103,1106 'apart':67 'appear':473 'architectur':62,751,852 'argu':635 'argument':493,612 'arrog':528 'articl':18,116,189 'ask':243,1251 'attempt':419 'attent':1143 'audienc':589 'authent':1220 'author':519,880 'avoid':367,866 'back':806 'balanc':380 'better':201 'blacklist':382 'brand':144,159,925,990 'brand-voic':158 'brand/voice-profile.md':967,1021 'brand/voices':993,998 'build':137,142,494,1262 'built':164,825 'canon':966,1035 'casual':377 'cautious':451 'choic':356 'claim':563 'clickbait':661 'close':437,497 'closer':345 'coexist':980 'colon':341 'combin':1144 'competitor':153,957 'complet':60,749 'complex':409,432 'compress':565 'conclus':667 'concret':597 'confid':459,472 'confirm':172 'content':14,57,105,151,176,205,235,247,298,351,480,582,759,762,782,904,1117,1254,1288 'context':764,1208 'core':841 'corpor':653 'could':790 'creat':996 'credenti':539 'credibl':520,526,881 'credit':546 'critic':257 'crossov':390 'current':1015 'deep':827 'default':464,1088 'delta':926 'descript':831 'develop':434 'dimens':33,69,306,755,1140 'direct':705 'directori':1017 'distil':857 'doesn':720,1002 'domain':394 'done':1063 'doubl':631 'duti':632 'earn':89 'emb':342 'emot':440,444,465,475,872 'empti':662 'engin':6,53,747 'enough':238,787,1167,1242 'enthusiasm':449,663 'epistem':537 'escal':433 'essay':21,191 'establish':525 'everi':32,68,1224,1229 'evid':672,679 'evolv':1294 'exampl':348,405,509,598,610,629,724,778,861,932,939,1239 'excess':664 'exist':1004 'expens':1161 'experi':628 'explan':407 'extract':3,213,587,950,969,1046,1282 'fail':1111 'feel':576 'fewer':1135 'file':42,96,814,816,975,1054,1080,1277,1292 'find':809 'first':430,513 'five':222 'fluff':784 'focus':278,752,1142,1169 'form':557,572,898 'formal':379 'founder':152,956 'frame':538 'friction':623 'full':296,760 'generic':157,1218 'get':58,294,515,735 'give':219,224,346 'given':688 'goe':512 'guid':410,824,848,1222,1226 'handl':372,408,454 'hedg':665 'humor':461 'hype':651 'i/we':535 'idea':318,403 'ident':842 'identifi':381,463,498,584 'illustr':633 'immedi':240 'imper':343 'import':677 'includ':723 'independ':984,1183 'input':250 'insid':986 'inspir':154,958 'instead':1081,1112 'interview':1265 'introduc':402 'intuit':436 'iter':416 'iteration-as-pedagogi':415 'jargon':368 'launch':25,253,281,1150,1176,1185 'learn':1300 'len':303 'length':314,552 'less':1271 'level':369,460,603,617,621 'lighter':1269 'like':124,577 'list':867 'live':627,971 'long':335,571 'long-form':570 'look':330,413,529,613 'machin':583 'macro':484,906 'make':121,574,1213 'map':442,875 'markdown':821 'market':1287 'match':47 'materi':168,211,1244 'md':995,1011 'mechan':566,616 'mechanism-level':615 'messag':287,1191 'meta':501 'meta-pattern':500 'methodolog':398 'minimum':192 'model':259,1174 'modif':708 'multipl':977 'must':181,1231 'myth':338 'myth-pivot':337 'name':600,606,822,994,1010 'need':209,707,1141,1246 'never':386,914,1018 'new':1098 'offer':1070,1091 'omit':516 'one':163,217,832 'open':317,340,488 'opus':266,1157 'orchestr':1286 'organ':491 'other':547 'outcom':620 'outcome-level':619 'output':92,770 'overwrit':962 'own':1028 'paragraph':316,321 'parallel':27,71,270,1155 'past':15,56,113,182,230,297,761 'path':1026 'pattern':221,315,431,482,489,502,534,588,601,640,658,776,853,882,889,899,907,918,1105,1108,1235,1245,1250 'pedagogi':418 'per':1044 'per-subject':1043 'person':8,126,149,579,743,953,1115,1283 'phase':251,798,1047 'phrase':376 'piec':487,496,505 'pivot':339 'plus':299 'point':184 'post':17,115,188,195,218,223,1258 'postur':564 'precis':1272 'presenc':681 'proceed':239 'produc':104,1146 'product/brand':702,767 'profil':161 'project':964,988,1036 'promot':657 'prompt':731 'question':245,327,669 'ratio':510 'ration':470 'raw':175,1198 'reach':360,864 'read':102,1078 'reader':412,458 'real':166,215,605 'referenc':983 'regist':441,873 'relat':1012,1259 'relationship':456 'relev':769 'repetit':1247 'replac':155 'replic':791 'report':805 'repres':1032 'revers':5,52,746 'reverse-engin':4,51,745 'rhetor':668 'rhythm':311 'rich':237 'right':275 'rip':66 'rule':859,1230 'run':268 'sampl':1094 'save':947,991,1007,1068 'say':46,387,1227 'scrape':1268 'section':324,490 'select':590 'self':656 'self-promot':655 'sentenc':309,313,559,833,849,851 'sequenc':319 'sequenti':1178 'serv':611 'shallow':1147 'sharp':1166 'short':333,334,556,897 'short-form':555,896 'short-short-long':332 'show':448 'signal':521,626 'signatur':375,388 'singl':286,812,1034,1190 'skill':24,100,949,1024,1076,1260 'skill-voice-extraction' 'skip':1192 'someon':45,84,112,789 'sonnet':28,64,255,260,272,1164,1175 'sound':123 'sourc':167,719,830,1243 'source-moizibnyousaf' 'speak':654 'specif':148,301,347,541,558,602,622,775,786,952,1234,1238 'spectrum':445 'split':536 'staccato':344 'standalon':1006 'statement':329 'steal':127 'structur':80,310,406,481,485,560,772,819,905 'studi':134 'style':462,888 'subag':29,65,256,1160 'subdirectori':999,1041 'subject':978,1045 'substanti':194,1257 'summar':1113 'summari':76,666,1119 'synthes':38,800,807 'system':227 'systemat':649 'tabl':919 'talk':659 'target':686 'teach':87,397,887 'teardown':81 'teas':569 'technic':373 'tell':1058 'temperatur':466,874 'templat':608,732 'term':374,624 'test':1102 'theori':507 'theory-to-exampl':506 'thesi':586 'thin':207 'think':86 'time':1180,1298 'titl':543 'tool':276,291 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-marketing' 'topic-brand-memory' 'topic-brand-voice' 'topic-claude-code' 'topic-claude-code-skills' 'topic-cli' 'topic-cmo' 'topic-marketing-automation' 'topic-marketing-cli' 'topic-seo' 'transfer':704 'transit':322,671 'tri':533 'tried/i':532 'triplet':336 'trust':90 'tweet':19,118,190,198,551,562,894,933,1095 'tweet-length':550 'tweets/posts':725 'uniqu':714 'unnecessari':244,1163 'updat':1072 'use':43,111,258,288,325,364,404,595,1038,1134,1156,1173,1274,1289 'useless':1223 'user':180,700,712,765,1060,1206 'verb':358 'vocabulari':354,389,391,592,863 'voic':2,11,36,41,49,55,61,95,108,129,139,145,160,216,687,695,715,729,741,750,793,813,823,837,845,895,936,955,970,1037,1040,1053,1099,1123,1221,1225,1263,1276,1284,1291,1296 'voice-extract':1 'voice-profile.md':1089 'vs':328,378,542,580,607,618 'warmth':468 'warn':455 'wast':1179 'way':429 'websit':1267 'weight':1270 'wire':1049 'within':320 'without':527,1202,1241 'word':355,365,383,652 'work':280,1016,1171 'write':10,85,133,187,553,740,1019,1093,1128,1132,1216,1279 'written':1056 'wrong':428 'wrong-way-first':427","prices":[{"id":"bc3bb21c-443c-4531-a55c-3241fd7d5d6a","listingId":"79854169-0f10-400c-8cae-c97b1336dbe3","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"MoizIbnYousaf","category":"marketing-cli","install_from":"skills.sh"},"createdAt":"2026-05-04T19:06:17.184Z"}],"sources":[{"listingId":"79854169-0f10-400c-8cae-c97b1336dbe3","source":"github","sourceId":"MoizIbnYousaf/marketing-cli/voice-extraction","sourceUrl":"https://github.com/MoizIbnYousaf/marketing-cli/tree/main/skills/voice-extraction","isPrimary":false,"firstSeenAt":"2026-05-04T19:06:17.184Z","lastSeenAt":"2026-05-18T19:05:53.316Z"}],"details":{"listingId":"79854169-0f10-400c-8cae-c97b1336dbe3","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"MoizIbnYousaf","slug":"voice-extraction","github":{"repo":"MoizIbnYousaf/marketing-cli","stars":18,"topics":["agent-skills","ai-agents","ai-marketing","brand-memory","brand-voice","claude-code","claude-code-skills","cli","cmo","marketing-automation","marketing-cli","seo","skills-sh","typescript"],"license":"mit","html_url":"https://github.com/MoizIbnYousaf/marketing-cli","pushed_at":"2026-05-13T21:06:05Z","description":"Agent-native marketing cli: 51 skills, 5 research agents, brand memory that compounds, plus a local Studio dashboard (beta). single agent-native cli, then /cmo in ur coding agent..","skill_md_sha":"fa070e6fbb680a3b691ae2766081adb4ecd3d09f","skill_md_path":"skills/voice-extraction/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/MoizIbnYousaf/marketing-cli/tree/main/skills/voice-extraction"},"layout":"multi","source":"github","category":"marketing-cli","frontmatter":{"name":"voice-extraction","description":"Reverse-engineer any person's writing voice from their content. Paste in posts, articles, tweets, or essays and this skill launches 10 parallel Sonnet subagents to analyze every dimension of the voice, then synthesizes into a voice file. Use when someone says 'match this voice,' 'analyze this writing,' 'extract their voice,' 'make me sound like this,' 'study this person's writing,' or pastes in content they want to learn from."},"skills_sh_url":"https://skills.sh/MoizIbnYousaf/marketing-cli/voice-extraction"},"updatedAt":"2026-05-18T19:05:53.316Z"}}