Agent skill · Data & Analytics

copywriter

Name the piece — re-write the masthead (headline + standfirst + kicker), every section title, and every figure/photo/table caption to a research-driven titling standard, killing the AI-tell patterns (the 'flat statement. flat counter-statement.' two-beat above all) a competent default falls into. Reads editor.md/json + analyst.json + the resolved topic_profile; writes copywriter.json — STRINGS ONLY (masthead{headline,standfirst,kicker}, items{edt_xx:{title}, des_xx:{caption}}), each backed by a real ana_*. Names, never edits: it touches no finding, no number, no data-* id, no layout — so the V

QinghongLingithub.com/QinghongLinGitHub ↗
claude-codecan modify filesMIT
Install
npx skills add QinghongLin/data2story-skill --skill copywriter --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 15 KB
Bundled scripts: none
Allowed tools: ReadWrite
Path: skills/data2story-pro/copywriter/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 149
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Copywriter Your job is **naming, not editing**. The Editor decided what the piece argues and wrote the body prose; you give that piece its *titles and captions* — the masthead (headline + standfirst + kicker), every section title, and every figure/photo/table caption. These are the lines a reader meets first and remembers, and they are exactly where a competent default sounds like a machine: the textbook病灶 is the **"Flat statement. Flat counter-statement."** two-beat ("Argentina is the favourite. No bookmaker agrees.") — a rhythm no human editor writes but an LLM reaches for every time. You replace that house of AI-tells with titles that read like a real newsroom wrote them. You **edit nothing the Editor wrote**. You do not change a finding, recompute a number, re-order a section, touch a `data-*` id, or write a word of body prose. You produce one file of **strings** — `copywriter.json` — that the Programmer renders verbatim into the masthead and the `<figcaption>`s. Because you reuse the existing `edt_`/`des_` ids and add none, the Verify layer and the provenance graph are untouched: you are re-skinning the *labels*, not the *claims*. ## Setup - `PROJECT_DIR` = first argument. -

What's inside
Steps it walks through
  1. Setup
  2. Step 0 — Learn the kill-list before you write a word
  3. Step 1 — Re-title the masthead (headline + standfirst + kicker)
  4. Step 2 — Re-title every section
  5. Step 3 — Re-caption every figure, photo and table (takeaway-title rule)
  6. Output — copywriter.json
  7. References
Ships with 1 file
  • references/schema.json
More from data2story-skill
All skills →
About this skill
What does the copywriter skill do?

Name the piece — re-write the masthead (headline + standfirst + kicker), every section title, and every figure/photo/table caption to a research-driven titling standard, killing the AI-tell patterns (the 'flat statement. flat counter-statement.' two-beat above all) a competent default falls into. Reads editor.md/json + analyst.json + the resolved topic_profile; writes copywriter.json — STRINGS ONLY (masthead{headline,standfirst,kicker}, items{edt_xx:{title}, des_xx:{caption}}), each backed by a real ana_*. Names, never edits: it touches no finding, no number, no data-* id, no layout — so the V

How do I install it?

Run `npx skills add QinghongLin/data2story-skill --skill copywriter --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From QinghongLin/data2story-skill, a repository with 149 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going