GTM copywriter

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.
Install-only

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.

Terminal
$ npx skills add ncklrs/startup-os-skills --skill gtm-copywriter

Skill instructions

The instruction file for this skill. The skill also includes other files you need to install to use it.

SKILL.md

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:

  1. Earns attention — The first line decides if they read the rest
  2. Creates clarity — Complex ideas made simple, not dumbed down
  3. 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 voice
  • email-* — Marketing emails, sequences, newsletters
  • content-* — Blog posts, articles, thought leadership
  • social-* — 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

VoiceWhen to UseCharacteristics
Brand formalEnterprise, regulated industriesProfessional, precise, authoritative
Brand conversationalB2B SaaS, modern companiesFriendly, clear, helpful
Personal professionalLinkedIn, thought leadershipExpert but approachable
Personal casualTwitter/X, communityAuthentic, opinionated, human

Content Types at a Glance

TypeGoalKey Metric
Cold emailGet a replyReply rate
Nurture emailBuild trustClick rate
NewsletterRetain attentionOpen rate over time
Blog postEducate + SEOTime on page, shares
LinkedIn postBuild authorityEngagement, follows
Twitter/XSpark conversationReplies, retweets
Launch announcementGenerate excitementSignups, 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

TypePurposeLength
How-toSolve specific problem1,500-2,500 words
Thought leadershipShare perspective1,000-2,000 words
Case studyProve value1,200-1,800 words
ComparisonHelp decision-making2,000-3,000 words
News/trendsTimely commentary800-1,500 words
Product updateAnnounce features500-1,000 words

Headline Formulas

FormulaExample
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"

IsIs Not
Original perspectiveSummarizing others' ideas
Based on experiencePure speculation
Takes a stanceWishy-washy "it depends"
Challenges assumptionsAgreeing with consensus
Offers frameworksJust 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

ElementUse For
BoldKey phrases, benefits
BulletsLists of 3+ items
Short paragraphsEvery 2-3 sentences max
White spaceBreathing room
→ Arrow CTADrawing eye to action

Length Guidelines

Email TypeIdeal Length
Cold outreach50-100 words
Feature announcement100-150 words
Newsletter section150-200 words
Nurture/educational200-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

FormatStructureBest For
Curated5-7 links with commentaryIndustry news, resources
Single essayOne deep topicThought leadership
Product updateWhat's new + what's nextCustomer communication
MixedUpdate + content + linksGeneral 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

TypeGoalTypical Length
Welcome/OnboardingActivate new users4-7 emails over 14 days
NurtureBuild trust pre-purchase5-10 emails over 30 days
Trial conversionConvert to paid3-5 emails during trial
Re-engagementWin back inactive3-4 emails over 14 days
Post-purchaseRetain and expandOngoing, 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 StageSpacing
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

FormulaExampleBest 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

  1. Curiosity vs direct benefit
  2. With vs without personalization
  3. Question vs statement
  4. With vs without emoji
  5. 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

TypeEnergy LevelFormat
Major launchHighMulti-channel campaign
Feature releaseMediumBlog + email + social
Minor updateLowChangelog + tweet
Beta/previewMediumTargeted 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

ChannelLengthVoiceFocus
Tweet1-2 sentencesCasualHook + one benefit
LinkedIn3-5 paragraphsProfessionalStory + value
Email100-200 wordsWarmPersonal + benefit + CTA
Blog500-1000 wordsDetailedFull context + how-to
Changelog2-3 sentencesFactualWhat 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

TypePurposeFormat
StoryBuild connectionPersonal narrative
InsightShare expertiseObservation + framework
ContrarianChallenge thinkingHot take + reasoning
How-toProvide valueTactical breakdown
CelebrationMilestone sharingAchievement + lessons
QuestionStart conversationGenuine 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

TypeFormatExample
Hot takeOpinion + reasoning"Unpopular opinion: .env files were a mistake"
ThreadNumbered insights"10 things I learned building a CLI (thread)"
AnnouncementNews + context"shipped environments today. here's why it matters:"
Reply guyValuable additionAdding insight to others' posts
Quote tweetCommentaryYour take on someone else's post
ShitpostHumorMeme, 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

ContextVoice
Product websiteBrand
Help docsBrand
Marketing emailsBrand (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
NewsletterEither (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

SituationToneWhy
Error messageCalm, helpfulThey're frustrated
Payment failedProfessional, urgentSerious but not scary
Feature launchEnthusiastic, clearExcitement without hype
Security incidentFormal, directTrust is at stake
Welcome emailWarm, helpfulFirst impression
Upgrade promptConfident, value-focusedNot pushy
Win-back emailUnderstanding, low-pressureThey 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

MarkerFormalCasual
ContractionsDo notDon't
EmojiNeverSparingly to frequently
Sentence fragmentsNeverSometimes
Exclamation pointsRarelyMore often
First personWe (company)I, we
HumorSubtle or noneWhen 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.

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.