Skip to main content
skill CX Codex

marketing-copy — Claude Code skill: promo copy that holds up

Drafts launch posts, store descriptions, landing headlines and press notes. Checks first that no key, unlisted link or unshipped feature leaks into public text.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add scarletkc/agents --skill marketing-copy -a claude-code
Open on GitHub

What marketing-copy does

Reach for this skill when the text is aimed at people who have never used the product. It works the draft along three lines: what may be disclosed, what backs each claim, and whether the opening line says anything.

Disclosure comes first. Keys, invite codes and credentials never belong in a post — they go where access is handed out on its own terms. A URL that has not been announced stays unannounced even if it loads. Platform rules apply to the copy, not just the account: when a detail cannot be posted, drop it rather than allude to it. Roadmap items get described as roadmap items or left out.

Claims have to trace back to something shipped — a changelog, a commit range, release notes. The skill will not make up a metric, a benchmark, a user count or a comparison against a named competitor. A thin honest sentence tells you about the release, not about your writing. There is also a naming pass for other markets: check that the candidate is pronounceable, carries no stray meaning and does not clash with an existing product, then keep it fixed once it ships. Internal strings and docs are handled by ux-writing in the same repository.

What it helps with

  • write a launch post without giving away what should stay private
  • cut a feature description down to what the changelog supports
  • replace hype in a landing headline with something concrete
  • check whether a link or price can go in a public announcement
  • pick a product name that works in another language

Example prompts for the agent

  • Draft a community post about the 2.1 release — CHANGELOG.md is the only source, promise nothing beyond it
  • Rewrite this landing headline: it says “revolutionary” and nothing about what the product does
  • Review this announcement draft for anything that cannot be public yet

How to install marketing-copy

1Skills CLI (Vercel)

npx skills add scarletkc/agents --skill marketing-copy -a claude-code

2Manually: put the files in place

~/.claude/skills/marketing-copy/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/marketing-copy/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about marketing-copy

How do I install marketing-copy in Claude Code?

Run npx skills add scarletkc/agents --skill marketing-copy -a claude-code. The skill lands at ~/.claude/skills/marketing-copy/SKILL.md.

What does marketing-copy do?

It writes and revises outbound promo copy: launch and update posts, store page descriptions, landing headlines and calls to action, press-style announcements, and product naming for another market. It also checks that credentials, unlisted links and unreleased details stay out of public text.

How is marketing-copy different from ux-writing?

marketing-copy handles text for people who have not seen the product yet. In-product strings and documentation belong to ux-writing in the same repository.

Source text

SKILL.md · Apache-2.0
---
name: marketing-copy
description: "Write outbound promotional copy for a product or project: launch and update posts for community platforms and social media, store page descriptions and short blurbs, landing page headlines and calls to action, press-style announcements, and the naming of a product for another language or market. Covers what may be disclosed publicly, keeping claims traceable to shipped changes, and writing a headline that carries information instead of hype. Use when drafting or revising anything aimed at people who do not use the product yet, and when deciding whether a link, key, price, or unreleased detail can appear in public copy."
license: Apache-2.0
metadata:
  author: scarletkc
  source: https://github.com/scarletkc/agents
  summary: "Write outbound promo copy that stays truthful, discloses only what may be public, and earns attention without hype."
---

# Marketing Copy

Outbound copy reaches people who have no product context and no reason to
finish reading. It is also the surface where a disclosure mistake is
permanent: a post can be deleted, a screenshot of it cannot. Both facts push
the same way, toward concrete claims a reader can check.

This covers copy aimed outward. Product-internal strings and documentation
follow
[`ux-writing`](https://github.com/scarletkc/agents/blob/main/skills/ux-writing/SKILL.md);
matching the author's personal voice is
[`talk-like-scarletkc`](https://github.com/scarletkc/agents/blob/main/skills/talk-like-scarletkc/SKILL.md).

## Disclosure comes first

Decide what may be public before writing, because the draft is where a leak
gets normalized.

- **Keys, invite codes, and credentials are not copy.** Anything that grants
  access belongs in the channel that distributes it under its own terms,
  never inline in a public post, and never pasted into a draft "to be removed
  later".
- **An unreleased or unlisted URL stays unlisted.** A link that has not been
  announced is not published just because it resolves. The same applies to
  endpoints, staging hosts, and pages reachable only by those already told.
- **Platform rules bind the copy, not just the account.** Each destination
  has its own limits on what may be promoted, linked, priced, or given
  away, and they differ between platforms carrying the same post. When a
  rule makes a detail unpostable, drop the detail; hinting at it obliquely
  to stay within the letter of the rule is the same violation with worse
  writing.
- **Unshipped work is not a feature.** Roadmap items, planned platforms, and
  anything gated behind review get described as what they are, or left out.
  Announcing a date creates an obligation the copy cannot see.

When a constraint blocks a detail the requester wanted to include, say which
detail and why, and let them decide, rather than quietly dropping it or
quietly keeping it.

## Claims stay traceable

Take substance from what actually shipped: the changelog, the commit range,
the release notes. Every concrete claim traces to one of those, and an
adjective that carries a claim owes what "adjectives need evidence" in
`ux-writing` asks of it. What outbound adds is the exchange rate: specifics
beat adjectives at the same length, because a number, a mechanism, or a
before-and-after carries conviction that "greatly improved" cannot, and it
survives a reader who checks.

Never invent a metric, a benchmark, a user count, a review quote, or a
comparison against a named competitor. When the honest version is thin, that
is information about the release, not a prompt to inflate it.

## Writing for someone who has never seen it

Say what the thing is before saying why it got better. A reader who cannot
tell what the product does has no way to care that it improved, and an
update post aimed at existing users reads as noise to everyone else. When a
post has to serve both audiences, the identifying sentence costs one line
and buys the rest.

Revolutionary, seamless, game-changing, and unleash have stopped carrying
meaning in this genre: they appear in every launch post regardless of what
shipped, so a reader skips them to look for the specifics underneath. Write
the specifics instead. Manufactured urgency and invented scarcity fail the
same way, and cost more when the deadline turns out to be arbitrary.

A post may legitimately carry several asks, since a launch often wants the
wishlist, the community, and the download at once. Order them by what this
particular reader can act on now, and let each one be findable rather than
competing for the same sentence.

## Naming across languages

A product name rendered for another market is a naming decision, not a
translation. Check that the candidate is pronounceable and memorable for
that audience, carries no unintended meaning, and does not collide with an
existing product in the same category. Prefer a name the audience can
search, and once a rendering has shipped anywhere public, keep it stable. A
second name for the same product splits every search result and every
conversation about it.

© scarletkc · Apache-2.0 · scarletkc/agents

Similar skills

Everything for Marketing and content →

From the same set3

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor