GTM copywriter
Quick answer
- 01What is it?
- Expert marketing copywriter specializing in go-to-market content across channels, emails, long-form content, and social media for both brand and personal voices. Its edge is a particular angle on go-to-market work, giving the agent tighter constraints than a plain GTM copywriter request.
- 02Inputs
- Context for go-to-market work: your goals, audience, constraints, and any source material the skill asks for.
- 03Output
- A ready-to-use result for go-to-market work: the analysis, copy, or recommendations the agent produces.
Add this skill
Install as a package
Installs this one skill package for your coding agent, including any supporting files that skill ships with — not every skill in the repository. Read the tutorial.
$ npx skills add ncklrs/startup-os-skills --skill gtm-copywriterSkill instructions
The instruction file for this skill. The skill also includes other files you need to install to use it.
GTM Copywriter
Expert marketing copywriter specializing in go-to-market content across channels — emails, long-form content, and social media for both brand and personal voices.
Philosophy
Great GTM copy does three things:
- Earns attention — The first line decides if they read the rest
- Creates clarity — Complex ideas made simple, not dumbed down
- Drives action — Every piece has a job to do
How This Skill Works
When invoked, apply the guidelines in rules/ organized by:
voice-*— Tone, personality, and brand vs personal voiceemail-*— Marketing emails, sequences, newsletterscontent-*— Blog posts, articles, thought leadershipsocial-*— LinkedIn, Twitter/X, social content
Core Frameworks
AIDA (Attention → Interest → Desire → Action)
Classic funnel for structured persuasion. Best for landing pages and sales emails.
PAS (Problem → Agitation → Solution)
Lead with pain, twist the knife, offer relief. Best for cold outreach and awareness content.
BAB (Before → After → Bridge)
Paint the transformation. Best for case studies and testimonial-style content.
4Cs of Copy
- Clear — No jargon, no ambiguity
- Concise — Every word earns its place
- Compelling — Creates forward momentum
- Credible — Backed by proof, not hype
Voice Spectrum
| Voice | When to Use | Characteristics |
|---|---|---|
| Brand formal | Enterprise, regulated industries | Professional, precise, authoritative |
| Brand conversational | B2B SaaS, modern companies | Friendly, clear, helpful |
| Personal professional | LinkedIn, thought leadership | Expert but approachable |
| Personal casual | Twitter/X, community | Authentic, opinionated, human |
Content Types at a Glance
| Type | Goal | Key Metric |
|---|---|---|
| Cold email | Get a reply | Reply rate |
| Nurture email | Build trust | Click rate |
| Newsletter | Retain attention | Open rate over time |
| Blog post | Educate + SEO | Time on page, shares |
| LinkedIn post | Build authority | Engagement, follows |
| Twitter/X | Spark conversation | Replies, retweets |
| Launch announcement | Generate excitement | Signups, coverage |
Anti-Patterns
- Corporate speak — "Leverage synergies" → "Work better together"
- Feature dumping — List features without benefits
- Weak CTAs — "Learn more" when you want them to act
- Burying the lead — Saving the good stuff for paragraph 3
- Same voice everywhere — LinkedIn ≠ Twitter ≠ Email
Supporting file: rules/_sections.md
1. Voice & Tone (voice)
Impact: CRITICAL Description: Foundation of all copy. Brand vs personal voice, tone adaptation, personality consistency.
2. Email Copy (email)
Impact: CRITICAL Description: Marketing emails, cold outreach, nurture sequences, newsletters, transactional copy.
3. Content Marketing (content)
Impact: HIGH Description: Blog posts, articles, thought leadership, SEO content, long-form writing.
4. Social Media (social)
Impact: HIGH Description: LinkedIn posts, Twitter/X threads, social announcements, engagement content.
5. Launch Copy (launch)
Impact: MEDIUM-HIGH Description: Product launches, feature announcements, release notes, changelog entries.
Supporting file: rules/content-blog-posts.md
Blog Post Copy
Impact: HIGH
Blog posts are your SEO engine and thought leadership platform. Balance search intent with genuine insight.
Blog Post Types
| Type | Purpose | Length |
|---|---|---|
| How-to | Solve specific problem | 1,500-2,500 words |
| Thought leadership | Share perspective | 1,000-2,000 words |
| Case study | Prove value | 1,200-1,800 words |
| Comparison | Help decision-making | 2,000-3,000 words |
| News/trends | Timely commentary | 800-1,500 words |
| Product update | Announce features | 500-1,000 words |
Headline Formulas
| Formula | Example |
|---|---|
| How to [outcome] | "How to manage secrets without losing your mind" |
| [Number] ways to | "7 ways developers leak credentials" |
| Why [thing] is [adjective] | "Why .env files are a security nightmare" |
| The [adjective] guide to | "The complete guide to secrets management" |
| [Thing] vs [thing] | "HashiCorp Vault vs AWS Secrets Manager" |
| What [audience] need to know about | "What CTOs need to know about SOC 2" |
Structure Template
# Headline (H1)
[Hook paragraph - why should I keep reading?]
[Context - what problem are we solving?]
## What You'll Learn (optional for how-to)
- Point 1
- Point 2
- Point 3
## Section 1 (H2)
[Content with subheadings (H3) as needed]
## Section 2 (H2)
[Content...]
## Key Takeaways / Conclusion
[Summary of main points]
[CTA if appropriate]
Good Blog Opening
Last Tuesday, I mass-deleted 47 API keys from our company Slack.
Again.
This was the third time this year I'd found production credentials
sitting in public channels. And we're a security company.
If it can happen to us, it can happen to you. Here's what we
learned fixing it—and how to make sure it never happens again.
Bad Blog Opening
In today's fast-paced digital landscape, secrets management has
become increasingly important for organizations of all sizes.
This comprehensive guide will explore the various aspects of
managing sensitive credentials in modern software development
environments.
SEO Without Sacrificing Quality
- Target keyword in H1 — But make it natural
- Related terms throughout — Don't stuff, write naturally
- Answer the search intent — What did they actually want to know?
- Headers that scan — Someone should get value from headers alone
Formatting for Readability
- Paragraphs: 2-4 sentences max
- Use subheadings every 300 words
- Bullet lists for 3+ items
- Code blocks for technical content
- Bold key phrases (sparingly)
- Images/diagrams to break up text
Anti-Patterns
- Keyword stuffing — Destroys readability for marginal SEO gain
- Burying the lead — Get to the point in the first paragraph
- No skimmability — Dense paragraphs with no visual breaks
- Weak conclusions — "In conclusion, secrets are important"
Supporting file: rules/content-thought-leadership.md
Thought Leadership Content
Impact: MEDIUM-HIGH
Thought leadership builds authority by sharing unique perspectives, not regurgitating conventional wisdom.
What Makes It "Thought Leadership"
| Is | Is Not |
|---|---|
| Original perspective | Summarizing others' ideas |
| Based on experience | Pure speculation |
| Takes a stance | Wishy-washy "it depends" |
| Challenges assumptions | Agreeing with consensus |
| Offers frameworks | Just describing problems |
The Thought Leadership Formula
[Conventional wisdom] is wrong because [your insight].
Here's what I've learned from [your experience]:
[Framework / new way of thinking]
Good Example
"Shift left on security" is a lie we tell ourselves.
After 10 years in DevSecOps, I've realized: we're not actually
shifting security left. We're just adding security tools earlier
in the pipeline while keeping the same reactive mindset.
Real shift-left means developers WANT to think about security—
not because they have to pass a gate, but because they
understand why it matters.
Here's the framework that actually worked for my team...
Bad Example
Security is really important in today's world.
Many experts agree that "shifting left" is a best practice.
According to Gartner, organizations should integrate security
earlier in the development process.
Here are some tips for better security...
Finding Your Angle
Ask yourself:
- What do I believe that most people in my field don't?
- What have I learned the hard way that others haven't?
- What conventional wisdom have I proven wrong?
- What pattern have I noticed that others miss?
Structure for Thought Leadership
1. Hook: Challenge a belief or share a surprising insight
2. Credibility: Why should you listen to me on this?
3. Framework: Your mental model or approach
4. Evidence: Examples, stories, data from your experience
5. Application: How readers can apply this
6. Invitation: Continue the conversation
Voice Guidelines
- Confident but not arrogant — "I've found" not "everyone should"
- Specific not vague — Real numbers, real stories
- Humble about limits — "In my experience" not "this is universal truth"
- Inviting disagreement — "I'd love to hear if you've seen different"
Anti-Patterns
- Stating the obvious — "Communication is important"
- No personal experience — Just aggregating others' thoughts
- Both-sidesing — "Some say X, others say Y, both are valid"
- Clickbait without substance — Provocative headline, generic content
Supporting file: rules/email-body-structure.md
Email Body Structure
Impact: HIGH
Structure determines whether your email gets read or skimmed and deleted.
The Inverted Pyramid
Most important information first. Assume they only read the first 2 sentences.
┌─────────────────────────────┐
│ CORE MESSAGE │ ← First 2 lines
├─────────────────────────────┤
│ Supporting details │ ← If they keep reading
├─────────────────────────────┤
│ Additional context │ ← For the invested
└─────────────────────────────┘
Optimal Email Structure
[Hook - 1-2 sentences that earn the next paragraph]
[Value - What's in it for them, why it matters]
[Details - Supporting information, proof, specifics]
[CTA - One clear action]
[Sign-off]
Good Example
Your secrets are about to get a lot safer.
We just shipped environments—separate secrets for dev, staging,
and production. No more "did I just deploy with test credentials?"
moments.
Here's what's new:
• Isolated environments with one-click switching
• Environment-specific access controls
• Automatic validation before deploys
→ Try environments now
— The SecretStash team
Bad Example
Hi there!
Hope you're having a great week! We've been really busy here
at SecretStash and we're so excited to share some news with you.
Our team has been working really hard for the past few months
on something we think you're going to love. We listened to your
feedback and we're proud to announce...
[3 more paragraphs before getting to the point]
Formatting for Scanability
| Element | Use For |
|---|---|
| Bold | Key phrases, benefits |
| Bullets | Lists of 3+ items |
| Short paragraphs | Every 2-3 sentences max |
| White space | Breathing room |
| → Arrow CTA | Drawing eye to action |
Length Guidelines
| Email Type | Ideal Length |
|---|---|
| Cold outreach | 50-100 words |
| Feature announcement | 100-150 words |
| Newsletter section | 150-200 words |
| Nurture/educational | 200-400 words |
One CTA Rule
Every email should have ONE primary call-to-action.
✓ "Try environments now"
✓ "Update your payment method"
✓ "Read the full guide"
✗ "Try it now, read the docs, follow us on Twitter,
and check out our blog post"
Anti-Pattern
The "wall of text" email. If it looks dense, it won't get read.
Supporting file: rules/email-newsletter.md
Newsletter Copy
Impact: MEDIUM-HIGH
Newsletters build long-term relationships. Consistency and value over promotion.
Newsletter Formats
| Format | Structure | Best For |
|---|---|---|
| Curated | 5-7 links with commentary | Industry news, resources |
| Single essay | One deep topic | Thought leadership |
| Product update | What's new + what's next | Customer communication |
| Mixed | Update + content + links | General engagement |
The 90/10 Rule
90% value, 10% promotion (max).
✓ 4 useful insights → 1 subtle product mention
✗ 1 intro → 4 product pitches
Good Newsletter Structure
[Compelling subject line]
[Hook - Why should I read this today?]
[Main content - The value you promised]
[Secondary content - Additional resources/links]
[Soft CTA - Optional, non-pushy]
[Sign-off - Personal touch]
Newsletter Voice
More personal than product emails. You're a trusted source, not a salesperson.
Good:
Three things caught my attention this week:
1. Cloudflare's post-mortem on their latest outage was
remarkably honest. Here's what I learned from it...
2. The "shift left on security" movement is finally
hitting secrets management. I have thoughts...
3. We shipped something I've wanted for 2 years.
Bad:
Happy Friday! 🎉
Here's what's new at SecretStash this month:
- Feature A (click here!)
- Feature B (try it now!)
- Feature C (upgrade to access!)
Buy our stuff!
Subject Line Patterns for Newsletters
✓ "The security practice I wish I'd learned earlier"
✓ "3 things I noticed at KubeCon"
✓ "Why .env files are still winning (unfortunately)"
✓ "This week: secrets, scandals, and serverless"
✗ "SecretStash Newsletter #47"
✗ "Your monthly update"
✗ "Newsletter: January Edition"
Consistency Matters
- Same day/time each week/month
- Predictable format readers can rely on
- Consistent voice (even with multiple authors)
Anti-Patterns
- Irregular schedule (destroys habit)
- All promotion, no value
- Wall of text with no structure
- Generic "hope this finds you well" openings
Supporting file: rules/email-sequences.md
Email Sequence Design
Impact: HIGH
Sequences are conversations over time. Each email should build on the last.
Sequence Types
| Type | Goal | Typical Length |
|---|---|---|
| Welcome/Onboarding | Activate new users | 4-7 emails over 14 days |
| Nurture | Build trust pre-purchase | 5-10 emails over 30 days |
| Trial conversion | Convert to paid | 3-5 emails during trial |
| Re-engagement | Win back inactive | 3-4 emails over 14 days |
| Post-purchase | Retain and expand | Ongoing, monthly+ |
Welcome Sequence Blueprint
Email 1 (Immediate): Welcome + single next step
Email 2 (Day 1): Quick win / first value
Email 3 (Day 3): Deeper feature education
Email 4 (Day 5): Social proof / case study
Email 5 (Day 7): Check-in + offer help
Email 6 (Day 10): Advanced use case
Email 7 (Day 14): Milestone celebration or nudge
Sequence Flow Principles
1. Progressive disclosure Don't overwhelm. One concept per email.
2. Behavior-based branching
- Completed action? → Skip the nudge, advance the topic
- Didn't complete? → Offer help, address objections
3. Exit conditions Stop the sequence when they:
- Complete the goal
- Convert to next stage
- Unsubscribe or disengage
4. Value before ask Give value in emails 1-3 before asking for anything.
Good Sequence Example (Trial)
Day 0: "Your trial is live" — Install CLI
Day 2: "Your first secret in 60 seconds" — Quick start
Day 4: "3 teams who cut onboarding time 80%" — Social proof
Day 7: "Halfway through your trial" — Usage summary
Day 12: "2 days left" — Urgency + offer help
Day 14: "Trial ended" — Clear path to upgrade
Timing Guidelines
| Sequence Stage | Spacing |
|---|---|
| Early (1-3) | 1-2 days apart |
| Middle (4-6) | 2-3 days apart |
| Late (7+) | 3-5 days apart |
Anti-Patterns
- Same cadence for everyone — Power users need less hand-holding
- No exit conditions — Sending "did you try X?" after they tried X
- Purely promotional — Every email asks for something
- No story arc — Emails feel disconnected, not sequential
Supporting file: rules/email-subject-lines.md
Email Subject Lines
Impact: CRITICAL
47% of recipients decide to open based on subject line alone. This is your highest-leverage copy.
Subject Line Formulas
| Formula | Example | Best For |
|---|---|---|
| Curiosity gap | "The mistake killing your conversion rate" | Newsletters, content |
| Direct benefit | "Save 5 hours/week on secrets management" | Product emails |
| Question | "Still using .env files?" | Re-engagement |
| Personalized | "{{firstName}}, your trial ends tomorrow" | Lifecycle |
| Announcement | "New: Environments are here" | Feature launches |
| Social proof | "How Stripe manages 10k secrets" | Case studies |
| Urgency (honest) | "Last day: 20% off annual plans" | Promotions |
Good Subject Lines
✓ "Your API keys are in Slack (again)"
→ Specific, relatable pain point
✓ "We broke production so you don't have to"
→ Curiosity + self-deprecating honesty
✓ "3 things I learned mass-deleting credentials"
→ Personal, specific number, curiosity
✓ "You're at 80% of your free tier"
→ Direct, relevant, actionable
Bad Subject Lines
✗ "Newsletter #47"
→ No value proposition
✗ "Exciting news from SecretStash!"
→ Vague, hype without substance
✗ "Don't miss out on this limited time offer!!!"
→ Spammy, desperate
✗ "Quick question"
→ Bait-and-switch if there's no question
✗ "Checking in"
→ No value, wastes recipient's time
Length Guidelines
- Mobile-optimized: 30-40 characters (shows fully)
- Standard: 40-60 characters
- Max: 70 characters (truncated on most clients)
Preview Text
The preview text (preheader) is your second headline. Use it.
Subject: Your API keys are in Slack (again)
Preview: Here's how to fix it in 5 minutes
Subject: New: Environments are here
Preview: Separate dev, staging, and prod secrets
A/B Testing Priorities
- Curiosity vs direct benefit
- With vs without personalization
- Question vs statement
- With vs without emoji
- Short vs long
Anti-Patterns
- ALL CAPS (feels like shouting)
- Multiple exclamation points!!!
- Misleading subjects (destroys trust)
- "Re:" or "Fwd:" when it's not (deceptive)
- Generic subjects for personalized content
Supporting file: rules/launch-announcements.md
Launch & Announcement Copy
Impact: MEDIUM-HIGH
Launches are moments. Make them feel like events, not press releases.
Announcement Types
| Type | Energy Level | Format |
|---|---|---|
| Major launch | High | Multi-channel campaign |
| Feature release | Medium | Blog + email + social |
| Minor update | Low | Changelog + tweet |
| Beta/preview | Medium | Targeted email + community |
The Announcement Formula
[What we shipped] + [Why it matters to you] + [How to try it]
Good Announcement (Multi-channel)
Tweet:
environments are here
→ separate secrets for dev, staging, prod
→ one-click switching between them
→ no more "was that the test database?" moments
try it now: [link]
Email subject: Your secrets just got organized
Email body:
We shipped the feature you asked for 47 times.
Environments are live. You can now manage completely separate
secrets for development, staging, and production.
What this means for you:
• No more accidental production deploys with test creds
• Clear separation between environments
• One-click switching in the CLI
→ Try environments now
This has been our #1 requested feature. Thanks for pushing us.
— Nick
Blog post headline: Introducing Environments: Separate Secrets for Every Stage
Bad Announcement
We are pleased to announce the general availability of our new
Environments feature. This enterprise-grade capability enables
organizations to maintain distinct credential configurations
across multiple deployment stages, ensuring compliance and
security best practices.
Key features include:
• Multi-environment support
• Role-based access controls
• Comprehensive audit logging
• Enterprise-grade security
Launch Copy by Channel
| Channel | Length | Voice | Focus |
|---|---|---|---|
| Tweet | 1-2 sentences | Casual | Hook + one benefit |
| 3-5 paragraphs | Professional | Story + value | |
| 100-200 words | Warm | Personal + benefit + CTA | |
| Blog | 500-1000 words | Detailed | Full context + how-to |
| Changelog | 2-3 sentences | Factual | What changed |
Creating Excitement Without Hype
Hype (bad):
🚀 HUGE ANNOUNCEMENT 🚀
We're SO EXCITED to share the BIGGEST update in SecretStash history!!!
Excitement (good):
This one's been a long time coming.
After 6 months of work and 200+ customer conversations,
environments are finally here.
Changelog Entry Style
Keep it factual and scannable:
## v2.4.0 — January 18, 2026
### New
- **Environments**: Manage separate secrets for dev, staging, and production
- Environment switching in CLI with `stash env use <name>`
### Improved
- 40% faster secret retrieval
- Better error messages for auth failures
### Fixed
- CLI no longer hangs on slow networks
- Fixed race condition in concurrent secret updates
Anti-Patterns
- Feature list without benefits — "Multi-environment support" → "Never mix up dev and prod again"
- Buzzword soup — "Enterprise-grade AI-powered synergy"
- Burying the news — 3 paragraphs before what you shipped
- Same copy everywhere — Adapt voice to channel
Supporting file: rules/social-linkedin.md
LinkedIn Post Copy
Impact: HIGH
LinkedIn rewards authenticity and professional insight. Not corporate-speak, not viral hacks—genuine value.
LinkedIn Post Types
| Type | Purpose | Format |
|---|---|---|
| Story | Build connection | Personal narrative |
| Insight | Share expertise | Observation + framework |
| Contrarian | Challenge thinking | Hot take + reasoning |
| How-to | Provide value | Tactical breakdown |
| Celebration | Milestone sharing | Achievement + lessons |
| Question | Start conversation | Genuine inquiry |
The Hook is Everything
First 2 lines show before "see more." Make them count.
Good Hooks:
I mass-deleted 47 API keys from Slack last week.
For the third time this year.
---
"We don't have a secrets problem."
That's what I told our security team 6 months ago.
I was wrong.
---
Hot take: Your .env files are a liability, not an asset.
---
After 10 years in DevOps, I've realized one uncomfortable truth:
Bad Hooks:
I'm excited to share some thoughts on secrets management!
---
Happy Monday everyone! Hope you had a great weekend.
---
In today's digital landscape, security is more important than ever.
Optimal Format
[Hook - 1-2 lines that stop the scroll]
[Line break]
[Story or context - what happened?]
[Line break]
[Insight - what did you learn?]
[Line break]
[Takeaway - what should reader do?]
[Line break]
[CTA - optional question or invitation]
Formatting Tricks
- Short paragraphs (1-3 sentences)
- Line breaks between paragraphs
- Use "↳" or "→" for emphasis
- Numbered lists for frameworks
- Avoid walls of text
Good Post Example
I spent 3 years building the wrong product.
Not wrong as in "bad execution."
Wrong as in "nobody wanted it."
We had great code. Clean architecture. Comprehensive tests.
But we never asked: "Would someone pay for this?"
Here's what I do differently now:
1. Talk to 10 customers before writing code
2. Charge money from day 1 (even if it's $1)
3. Build the smallest thing that delivers value
4. Measure usage, not "excitement"
The best code is code that solves real problems.
Everything else is just practice.
What's a lesson you learned the expensive way?
Engagement Tactics (Non-Gimmicky)
- End with genuine question
- Tag relevant people (sparingly, with value)
- Reply to every comment in first hour
- Post when your audience is active (test this)
Anti-Patterns
- Broetry — One. Word. Sentences. For. Effect.
- Humble bragging — "So honored to be recognized..."
- Engagement bait — "Comment YES if you agree!"
- Fake stories — "A homeless man taught me about business..."
- Corporate PR voice — "We're thrilled to announce..."
Supporting file: rules/social-twitter.md
Twitter/X Post Copy
Impact: HIGH
Twitter rewards personality, speed, and genuine engagement. Be human, be fast, be interesting.
Twitter Content Types
| Type | Format | Example |
|---|---|---|
| Hot take | Opinion + reasoning | "Unpopular opinion: .env files were a mistake" |
| Thread | Numbered insights | "10 things I learned building a CLI (thread)" |
| Announcement | News + context | "shipped environments today. here's why it matters:" |
| Reply guy | Valuable addition | Adding insight to others' posts |
| Quote tweet | Commentary | Your take on someone else's post |
| Shitpost | Humor | Meme, joke, relatable content |
Single Tweet Principles
- Front-load the interesting part
- No corporate speak
- Lowercase is fine (often preferred)
- Personality > perfection
Good Tweets:
shipped environments today
no more "oh god was that the prod database" moments
---
hot take: most "secrets management" solutions are just
encrypted .env files with extra steps
---
the scariest message in engineering:
"can someone DM me the prod credentials real quick"
---
spent 6 hours debugging
it was a typo in an env var
we don't talk about today
Bad Tweets:
We're excited to announce the launch of our new
Environments feature! This groundbreaking addition
to SecretStash will revolutionize how you manage...
---
In today's fast-paced development environment,
managing secrets across multiple deployment stages
is increasingly important. That's why we...
Thread Structure
1/ [Hook that stands alone as a tweet]
2/ [Context - why you're sharing this]
3-8/ [The meat - insights, steps, points]
9/ [Summary or key takeaway]
10/ [CTA - follow, try, discuss]
Thread Tips
- First tweet must work standalone (it gets retweeted alone)
- Number your tweets (1/, 2/, 3/ or 1. 2. 3.)
- Each tweet should deliver value independently
- End with clear takeaway and CTA
- 5-12 tweets is ideal length
Good Thread Example
1/ shipped my first CLI tool after 10 years of web dev
here's everything i learned (thread):
2/ the hardest part isn't the code
it's understanding how people actually use terminals
web: you control the environment
cli: you're a guest in their shell
3/ error messages matter 10x more
on web: show a toast, highlight a field
in cli: a bad error = user closes the terminal and never comes back
[continues...]
10/ if you're thinking about building a CLI:
just do it. the mental model shift made me a better developer.
i wrote more about this here: [link]
Voice on Twitter
- Lowercase often feels more natural
- Contractions always
- Fragments are fine
- Emoji: use sparingly for personality
- "lol" and "tbh" are acceptable
Engagement
- Reply to replies (the algorithm rewards it)
- Quote tweet with value-add, not just "this"
- Join conversations in your space
- Don't just broadcast—interact
Anti-Patterns
- Corporate voice — "We're thrilled to announce"
- Thread as blog post — Dense paragraphs don't work
- Asking for retweets — Let it earn engagement
- Too many hashtags — 0-1 is fine
- Only self-promotion — 80% value, 20% promotion
Supporting file: rules/voice-brand-vs-personal.md
Brand Voice vs Personal Voice
Impact: CRITICAL
Brand and personal voices serve different purposes. Don't mix them.
Brand Voice
Represents the company. Consistent across all touchpoints.
Characteristics:
- Uses "we" and company name
- Consistent regardless of author
- Professional but not stiff
- Focuses on customer outcomes
Good Example:
We built SecretStash because developers deserved better than .env files
in Slack DMs. Today, 50,000 teams trust us with their secrets.
Bad Example:
I think our product is really great and you should try it!
We're super excited about this feature I worked on.
Personal Voice
Represents an individual. Builds human connection and thought leadership.
Characteristics:
- Uses "I" and first name
- Reflects individual personality and opinions
- More vulnerable, more opinionated
- Shares personal experiences and learnings
Good Example:
I've mass-deleted credentials from Slack 3 times this year.
Each time I swore I'd fix our secrets management.
Finally did. Here's what I learned building it.
Bad Example:
SecretStash is excited to announce that we have solved secrets management.
Our team has worked hard on this solution.
When to Use Each
| Context | Voice |
|---|---|
| Product website | Brand |
| Help docs | Brand |
| Marketing emails | Brand (or founder personal for early-stage) |
| LinkedIn (company page) | Brand |
| LinkedIn (personal profile) | Personal |
| Twitter/X (company) | Brand conversational |
| Twitter/X (founder/employee) | Personal |
| Blog (company blog) | Brand or attributed personal |
| Newsletter | Either (be consistent) |
Mixing Them (Carefully)
Early-stage startups often blur the line intentionally:
Hey, it's Nick from SecretStash.
I wanted to personally let you know we just shipped environments—
the feature you asked for 47 times. (Yes, I counted.)
We're a small team, and your feedback shapes what we build.
Keep it coming.
— Nick
This works because it's clearly personal but represents the brand.
Anti-Pattern
Switching voice mid-piece. If you start personal, stay personal. If you start brand, stay brand.
Supporting file: rules/voice-tone-adaptation.md
Tone Adaptation by Context
Impact: HIGH
Same voice, different tone. Adjust formality and energy to context.
The Tone Spectrum
Formal ←————————————————————————→ Casual
Enterprise | Professional | Conversational | Friendly | Playful
Tone by Situation
| Situation | Tone | Why |
|---|---|---|
| Error message | Calm, helpful | They're frustrated |
| Payment failed | Professional, urgent | Serious but not scary |
| Feature launch | Enthusiastic, clear | Excitement without hype |
| Security incident | Formal, direct | Trust is at stake |
| Welcome email | Warm, helpful | First impression |
| Upgrade prompt | Confident, value-focused | Not pushy |
| Win-back email | Understanding, low-pressure | They left for a reason |
Same Message, Different Tones
Formal (Enterprise):
We are pleased to announce the general availability of
environment-based secret management. This capability enables
teams to maintain distinct configurations across development,
staging, and production environments.
Professional (B2B SaaS):
Environments are here. You can now manage separate secrets for
dev, staging, and production—no more accidental production
deployments with test credentials.
Conversational (Modern startup):
You asked, we built: Environments! 🎉
Keep your dev secrets away from prod. Finally.
Casual (Personal/Twitter):
shipped environments today
no more "oh god was that the prod database" moments
you're welcome
Tone Markers
| Marker | Formal | Casual |
|---|---|---|
| Contractions | Do not | Don't |
| Emoji | Never | Sparingly to frequently |
| Sentence fragments | Never | Sometimes |
| Exclamation points | Rarely | More often |
| First person | We (company) | I, we |
| Humor | Subtle or none | When natural |
Anti-Pattern
Mismatched tone destroys trust. A playful tone in a security alert feels irresponsible. A formal tone in a welcome email feels cold.
Common questions
How do I install GTM copywriter in Cursor, Claude Code, or Codex?
Run npx skills add ncklrs/startup-os-skills --skill gtm-copywriter in the project where you want it, then ask your agent for the skill by name. The --skill flag installs only GTM copywriter, not every skill in the repository.
Where does GTM copywriter come from and what license is it under?
GTM copywriter comes from the ncklrs/startup-os-skills repository on GitHub. That repository has 32 GitHub stars. No license was detected on the source repository, so check with the author before redistributing it.
Prefer plain text? Read the GTM copywriter guide as markdown.
Related skills
More from ncklrs
More Content skills