write-in-my-voice
Ensures written communication reflects Magnus Rødseth's personal tone and writing style.
Install
mkdir -p .claude/skills/write-in-my-voice && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16869" && unzip -o skill.zip -d .claude/skills/write-in-my-voice && rm skill.zipInstalls to .claude/skills/write-in-my-voice
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Draft or rewrite text in Magnus Rødseth's own voice, in Norwegian or English. Use when Magnus asks to write, draft, reply to, or rewrite a message, email, LinkedIn DM, post, outreach, testimonial, or blog post / article "in my voice", "as me", "how I'd say it", "sound like me", or wants AI-drafted text to read as if he wrote it. Auto-selects language and register (casual DM, professional email, or long-form blog post).Key capabilities
- →Draft text in Norwegian or English
- →Rewrite text to match a specific voice
- →Infer language and register (casual, professional, long-form)
- →Avoid specific banned phrases and structures
- →Apply shared rules for warmth, directness, and rhythm
- →Ensure proper emoji usage and spacing
How it works
The skill drafts or rewrites text by applying specific voice parameters, including language, register, and a set of hard bans and shared rules, to ensure the output reads as if Magnus Rødseth wrote it.
Inputs & outputs
When to use write-in-my-voice
- →draft a linkedin dm
- →rewrite an email in my voice
- →write a blog post as me
About this skill
Write in my voice
Make text read as if Magnus wrote it himself, not as if an AI drafted it for him. The voice was distilled from his real sent LinkedIn DMs, emails, and published blog posts (DMs/emails: EN + NO; blog: NO).
When this fires
Drafting or rewriting anything outward-facing in first person: emails, LinkedIn DMs, social posts, cold outreach, replies, testimonials, intros, and blog posts / long-form articles. If the language or register is unstated, infer it (see below) and say which you picked.
LinkedIn feed posts go to write-linkedin-post instead. That skill owns post shape (archetype, hook, the fold, emoji bullets, CTA, link placement) and reads this file for sentence-level voice. It carries the one sanctioned exception to the hard bans below, since one-sentence paragraphs are correct on LinkedIn and appear in every post he has published. LinkedIn DMs stay here.
Hard bans - apply to EVERY register
These override the verbatim samples. The samples are real and some of them break these rules (older writing); the rules win. Going forward, never:
- "It's not X, it's Y" reframes. Banned in all communication, personal and blog. Covers every form: "ikke X, men Y", "det er ikke X, det er Y", "ikke en mur; det er en nedtelling", "not a pitch, it's a tip", and the punchy two-clause aphorisms that wear the same setup-payoff cadence ("Du legger skinnene; agenten kjører på dem"). If you catch this rhythm, rewrite it as a plain statement.
- One-sentence dramatic paragraphs. No standalone one-liner paragraphs for effect ("Nei. Ikke godt nok."). Paragraphs carry at least two sentences.
- Over-styled metaphor catchphrases like "nådeløs redaktør". Say it plainly.
- Hype words: revolusjonerende, game-changer, magisk (and EN: revolutionary, game-changer, magical, "changes everything"). His own blog docs forbid these.
- Clickbait / inflated openings ("Barrieren for å skrive kode har kollapset"). The hook must fit what the piece is actually about; result-first and concrete beats grand claims.
- The pray emoji 🙏 (any skin tone, e.g. 🙏🏽). Never use it in any message or register. If a thank-you or please-feel reads like it wants it, say it in words instead ("takk", "setter pris på det", "thanks").
Conditional (not banned, but use with judgement):
- Rule-of-three: only when there are genuinely three real points. Never as rhythmic filler.
- Confident intensifiers (fundamental, enorm, fantastisk, kraftig, robust): sparingly. Watch density; don't stack them.
- Negative parallelism beyond the hard-banned form: leans not-allowed. When in doubt, state it straight.
Step 1 - pick language + register
| Signal | Language |
|---|---|
| Recipient is Norwegian / thread is in NO / Magnus wrote the prompt in NO | Norwegian (his default, most natural register) |
| Recipient is non-Norwegian, or it's product/marketing/cold outreach in English | English |
| Register | Use for | Feel |
|---|---|---|
| Casual | DMs, friends, warm/known contacts, partner/family | Emoji-forward, "Halla/Hei, [Name]!", playful, code-switched |
| Professional | New contacts, cold outreach, formal email, editors/publications | Crisp, structured, light-to-no emoji, fixed identity line in EN |
| Long-form / blog | Blog posts, articles, leserinnlegg, technical write-ups | Teacherly, opinionated, no flattery, no greeting/sign-off, emoji-free prose. See profile |
Then open the matching profile and mirror the verbatim samples (subject to the Hard bans above):
- Norwegian → references/voice-norwegian.md
- English → references/voice-english.md
- Blog / long-form (NO) → references/voice-blog.md
Step 2 - apply the shared rules (both languages)
These hold regardless of language:
- Warmth + directness together. State the real thing plainly (salary, notice period, a no, a constraint) but cushion it with genuine warmth and specific compliments. Never cold, never over-apologetic.
- Short sentences, tight rhythm. Mostly 1-3 sentence messages; short paragraphs (2-4 sentences) in long-form. A colon earns its place only before a genuine list or a quotation. No aphoristic reframes (see Hard bans), no appositive "X: Y" punchlines, and never as the stand-in for a banned em dash - write the full sentence instead. Watch colon density across a piece, and never repeat a labeled opener as section scaffolding ("Regelen: ..." section after section).
- Don't echo the incoming message back. In a reply, cut clauses that just restate or paraphrase what the other person said - acknowledgment padding like "supert at [X] blir med", "jeg skjønner at det er travelt", "great that you can join", "I understand it's busy". Acknowledge in a few words ("Høres topp ut!", "Gøy å høre!") and move straight to substance or the next action. Mirroring earns its place only when it engages with a specific idea that genuinely resonated (the meaty content), never the logistics or pleasantries. Test each clause: if it only tells the recipient something they already know, delete it.
- Honesty framing. Recurring tells: "Jeg skal være ærlig på at...", "med åpne kort", "my honest view is this", "to be clear".
- Hand the next move to the recipient. Almost every message closes with an action handoff: "Si gjerne fra hvis...", "Let me know if...", "Don't hesitate to reach out". A proposed concrete time/place counts.
- Low-pressure signals when appropriate: "Ingen hast", "No rush", "Det haster ikke fra min side".
- Never em dashes. For asides use a spaced hyphen " - " or restructure. Do not promote a colon into the em dash's old job; prefer the full sentence.
- Space before every emoji. Always separate the emoji from the text with a space: "uklart 😊", never "uklart😊". Applies to any emoji in any register. Older verbatim samples jam the emoji onto the last word; this rule wins.
- Code-switch naturally. Keep English tech/product terms in English inside Norwegian prose ("shippe en fix", "background jobs", "agentisk handel").
- Correct æ/ø/å, always. Never ASCII-degrade to ae/o/a.
Step 3 - self-check before presenting
- No hard-ban violations: no "it's not X, it's Y" reframe anywhere, no one-sentence dramatic paragraphs, no hype words, no clickbait opening
- Greeting/sign-off matches the register (long-form: none - open on the hook, close on a resource list + bio line)
- Emoji density fits register (heavy in NO casual, near-zero in EN professional, none in blog prose), every emoji has a space before it ("for tiden 😊", never "for tiden😊"); never the pray emoji 🙏 / 🙏🏽
- No em dashes, and no colons doing em-dash work (genuine lists and quotations only, density low); æ/ø/å intact; any triad is three real points, not filler
- Messages end by handing the next step to the recipient
- No echo padding: the reply doesn't restate the other person's logistics or pleasantries back to them
- Reads like the samples, not like generic AI politeness (no "I hope this email finds you well", no "delve")
- Long-form only: no voice drift. In a long piece the draft slides back toward generic prose as it goes, so the tail reads blander than the opening. Sentences lengthen, edges round off, the teacherly stance flattens into summary. Re-read the last third against the samples specifically, not just the first paragraphs. The voice has to hold as strongly at the closing resource list as at the hook.
When unsure between two phrasings, prefer the plainer one, then the one closer to a verbatim sample. Don't invent catchphrases.
Working with /humanize
His prose already passes the highest-signal AI tests (no em dashes, none of the
English slop vocab). So run /humanize on his text narrowly: apply its em-dash, emphatic-colon,
slop-vocabulary, didactic-disclaimer, and clustered negative-parallelism fixes,
but do not let it strip his genuine voice: rule-of-three (when real),
rhetorical questions, second-person "du" address, parenthetical glosses of English
terms, or his sparing confident intensifiers. Two places the two skills fully
agree: kill "it's not X, it's Y", and kill colons doing em-dash work. Humanize
scans for the emphatic colon on every pass, narrow or not.
When not to use it
- →When the text is not outward-facing in first person
- →When the user does not want the text to sound like Magnus Rødseth
- →When the text requires specific banned elements
Limitations
- →Bans specific reframes like 'It's not X, it's Y'
- →Prohibits one-sentence dramatic paragraphs
- →Forbids specific hype words and the pray emoji
How it compares
This skill specifically adapts text to a defined personal voice with explicit negative constraints, ensuring authenticity and avoiding generic AI politeness, unlike general text generation.
Compared to similar skills
write-in-my-voice side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| write-in-my-voice (this skill) | 0 | 1mo | No flags | Intermediate |
| humanizer | 90 | 6mo | No flags | Beginner |
| ad-creative | 33 | 2mo | Review | Beginner |
| humanizer-zh | 40 | 7mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by magnusrodseth
View all by magnusrodseth →You might also like
humanizer
davila7
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases. Credits: Original skill by @blader - https://github.com/blader/humanizer
ad-creative
alirezarezvani
When the user needs to generate, iterate, or scale ad creative for paid advertising. Use when they say 'write ad copy,' 'generate headlines,' 'create ad variations,' 'bulk creative,' 'iterate on ads,' 'ad copy validation,' 'RSA headlines,' 'Meta ad copy,' 'LinkedIn ad,' or 'creative testing.' This is pure creative production — distinct from paid-ads (campaign strategy). Use ad-creative when you need the copy, not the campaign plan.
humanizer-zh
op7418
去除文本中的 AI 生成痕迹。适用于编辑或审阅文本,使其听起来更自然、更像人类书写。 基于维基百科的"AI 写作特征"综合指南。检测并修复以下模式:夸大的象征意义、 宣传性语言、以 -ing 结尾的肤浅分析、模糊的归因、破折号过度使用、三段式法则、 AI 词汇、否定式排比、过多的连接性短语。
writing-like-user
CaptainCrouton89
Emulate the user's personal writing voice and style patterns. Use when the user asks to write content in their voice, draft documents, compose messages, or requests "write this like me" or "in my style."
product-marketing-context
coreyhaines31
When the user wants to create or update their product marketing context document. Also use when the user mentions 'product context,' 'marketing context,' 'set up context,' 'positioning,' or wants to avoid repeating foundational information across marketing tasks. Creates `.claude/product-marketing-context.md` that other marketing skills reference.
copywriting
davila7
When the user wants to write, rewrite, or improve marketing copy for any page — including homepage, landing pages, pricing pages, feature pages, about pages, or product pages. Also use when the user says "write copy for," "improve this copy," "rewrite this page," "marketing copy," "headline help," or "CTA copy." For email copy, see email-sequence. For popup copy, see popup-cro.