Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Write or edit website copy, blog content, and editorial pieces with attention to voice, structure, and goal. Use this skill whenever the user wants to write an article, draft website copy, edit existing content for clarity or voice, write a blog post, or produce general editorial content. Triggers on write a blog post, draft an article, write copy for, edit this, rewrite this, write content, write a guide, draft a how-to, write web copy. Also triggers when content has been outlined and now needs
.claude/skills/rampstackco-content-and-copy/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 53% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 71% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 63% | 0% |
Write or edit content that serves a specific reader and goal. Stack-agnostic. This skill is for general content production. Specialized skills exist for landing pages (landing-page-copy) and email (email-sequences).
landing-page-copy)email-sequences)brand-voice)seo-keyword)content-strategy)If brand voice is undefined, run brand-voice first or use a working voice and document it as you go.
Strong content is strong on all five. Weakness on any one drags the rest down.
The opening earns the read. Most readers decide whether to continue within 3 to 5 seconds.
Strong hooks do one of:
Weak hooks:
The reader follows the flow without effort.
Common structures:
Pick a structure. Stick to it. Most weak content fails because the writer drifted between structures.
The piece sounds like the brand.
brand-voice definition)Test: Read a paragraph aloud. Does it sound like the brand? If it sounds like AI, generic marketing, or someone else's voice, edit until it doesn't.
The piece earns its length. Every paragraph adds something.
Substance comes from:
Lack of substance shows up as:
The piece ends with intention.
Strong closings:
Weak closings:
Default output is a markdown document at [content-slug].md ready to import into the CMS.
Structure:
markdown# [H1: matches the title or tightly paraphrases] [Hook paragraph. Earns the read in 3 to 5 seconds.] [Body content with H2 sections, H3 subsections where useful.] ## [H2 section heading - descriptive, not clever] [Section content.] ### [H3 if needed] [Subsection content.] ## [H2 section heading] [Section content.] ## [Closing section] [Closing that resolves and points to next action.]
Front-matter for SEO and CMS:
yaml--- title: [SEO title, 50 to 60 chars] description: [Meta description, 120 to 160 chars] slug: [url-slug] author: [author] date: [YYYY-MM-DD] last_updated: [YYYY-MM-DD] tags: [tag1, tag2] category: [category] ---
references/content-brief-template.md - The brief that should exist before any content is written.references/content-edit-checklist.md - Pre-publish editing checklist.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 20,514 | 18,168 | -11% | 1 | 1 | 0% | 3,212 | 4,930 | +53% | 0 | 0 | — |
case-02 | pass→pass | 11,910 | 10,524 | -12% | 1 | 1 | 0% | 1,891 | 3,471 | +84% | 0 | 0 | — |
case-03 | fail→pass | 13,503 | 5,763 | -57% | 1 | 1 | 0% | 2,064 | 2,709 | +31% | 0 | 0 | — |
case-04 | pass→pass | 10,149 | 6,732 | -34% | 1 | 1 | 0% | 1,540 | 2,852 | +85% | 0 | 0 | — |
case-05 | pass→pass | 8,010 | 4,406 | -45% | 1 | 1 | 0% | 1,235 | 2,516 | +104% | 0 | 0 | — |
case-06 | pass→pass | 12,295 | 15,484 | +26% | 1 | 1 | 0% | 1,915 | 4,381 | +129% | 0 | 0 | — |
case-07 | pass→pass | 9,383 | 4,804 | -49% | 1 | 1 | 0% | 1,404 | 2,537 | +81% | 0 | 0 | — |
case-08 | pass→pass | 10,874 | 9,500 | -13% | 1 | 1 | 0% | 1,773 | 3,257 | +84% | 0 | 0 | — |
case-09 | pass→pass | 12,769 | 9,750 | -24% | 1 | 1 | 0% | 1,961 | 3,326 | +70% | 0 | 0 | — |
case-10 | pass→pass | 11,228 | 6,435 | -43% | 1 | 1 | 0% | 1,619 | 2,725 | +68% | 0 | 0 | — |
case-11 | pass→pass | 12,533 | 4,806 | -62% | 1 | 1 | 0% | 1,942 | 2,584 | +33% | 0 | 0 | — |
case-12 | fail→pass | 9,442 | 2,283 | -76% | 1 | 1 | 0% | 1,587 | 2,204 | +39% | 0 | 0 | — |
case-13 | pass→pass | 6,469 | 1,997 | -69% | 1 | 1 | 0% | 1,052 | 2,103 | +100% | 0 | 0 | — |
case-14 | fail→pass | 9,002 | 4,445 | -51% | 1 | 1 | 0% | 1,460 | 2,502 | +71% | 0 | 0 | — |
case-15 | pass→pass | 7,390 | 1,806 | -76% | 1 | 1 | 0% | 1,073 | 2,134 | +99% | 0 | 0 | — |
case-16 | fail→pass | 10,550 | 4,099 | -61% | 1 | 1 | 0% | 1,508 | 2,463 | +63% | 0 | 0 | — |
case-17 | pass→pass | 8,190 | 4,425 | -46% | 1 | 1 | 0% | 1,074 | 2,493 | +132% | 0 | 0 | — |
case-18 | pass→pass | 18,852 | 8,518 | -55% | 1 | 1 | 0% | 2,846 | 3,185 | +12% | 0 | 0 | — |
case-19 | pass→pass | 10,443 | 7,686 | -26% | 1 | 1 | 0% | 1,474 | 2,964 | +101% | 0 | 0 | — |
case-20 | pass→pass | 16,206 | 13,132 | -19% | 1 | 1 | 0% | 2,278 | 3,691 | +62% | 0 | 0 | — |
case-21 | pass→pass | 8,894 | 7,657 | -14% | 1 | 1 | 0% | 1,350 | 2,906 | +115% | 0 | 0 | — |
case-22 | fail→fail | 13,017 | 16,262 | +25% | 1 | 1 | 0% | 2,116 | 4,455 | +111% | 0 | 0 | — |
case-23 | fail→fail | 17,666 | 19,048 | +8% | 1 | 1 | 0% | 2,899 | 4,736 | +63% | 0 | 0 | — |
case-24 | fail→fail | 20,618 | 12,522 | -39% | 1 | 1 | 0% | 3,786 | 3,759 | -1% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted. The headline lift of +21 percentage points is the difference between those two pass rates over the 24 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.