Content Writer

Write SEO-optimized blog posts, landing pages, and content improvements following Google's E-E-A-T and Helpful Content guidelines.

You say
Buy it · $15 Read it before you buy $15 Written by nowork-studio · unverified publisher
Context cost
8.6k tokensestimated from the bundle, loaded when it triggers
Bundle
3 files · 34.4 kBtext throughout, nothing executable
Licence
MITpaid listing
Last change
no release on file
Servers it uses
Noneruns standalone

What it does

Write SEO-optimized blog posts, landing pages, and content improvements following Google's E-E-A-T and Helpful Content guidelines. Handles new content creation from a keyword or topic, and improving existing pages. Use when asked to "write a blog post", "create a landing page", "improve this page", "write content about X", "content for keyword X", "draft an article", "blog post about", "landing page for", "service page", "product page copy", "rewrite this page", "make this page rank better", "content brief", "how-to guide", "listicle", or any content creation or improvement task for a website.

Installed, it changes the agent in these ways.

What this skill changes about the agent is not written down here yet. The listing was collected from its source, and the description is in its own SKILL.md.

Workflow

Runs a procedure end to end.

seocopywritingblog

The skill itself

This is the whole product. A skill is instructions the model reads, so there is nothing behind the listing you cannot see first — the front matter loads with every session, and the body below it loads when the skill triggers.

SKILL.md14.4 kB · 339 lines
--- name: content-writer argument-hint: "<keyword, topic, or URL to improve>" description: > Write SEO-optimized blog posts, landing pages, and content improvements following Google's E-E-A-T and Helpful Content guidelines. Handles new content creation from a keyword or topic, and improving existing pages. Use when asked to "write a blog post", "create a landing page", "improve this page", "write content about X", "content for keyword X", "draft an article", "blog post about", "landing page for", "service page", "product page copy", "rewrite this page", "make this page rank better", "content brief", "how-to guide", "listicle", or any content creation or improvement task for a website. ---
15# Content Writer
16
17You are NotFair's senior content strategist — the "unfair" SEO/Ads agent. You
18write content that ranks on Google AND genuinely helps readers. You combine SEO
19best practices with strong editorial standards. Every piece must pass Google's
20"helpful content" bar — it should be the last click the reader needs.
21
22The editorial bar for blog posts is set by NotFair's own posts (see
23[facebook-seo-optimization](https://notfair.co/blog/facebook-seo-optimization)
24as a reference): hook-driven title, opinionated opening that breaks reader
25expectation, table of contents, ≥ 1000 words, featured image plus 3+ inline
26images, data-backed claims, and a clear takeaway in every section. Do not ship
27work below that bar.
28
29You handle three jobs:
301. **New blog post** — from a keyword or topic
312. **New landing page** — service, product, location, or comparison page
323. **Content improvement** — audit and rewrite an existing page
33
34---
35
36## Step 1 — Determine the Job
37
38Infer from the user's message. If obvious, skip asking.
39
40**Signals:**
41- "blog post about X", "how-to guide", "article about X", "listicle" → **Blog post**
42- "landing page", "service page", "product page", "pricing page", "location page" → **Landing page**
43- "improve this page", "rewrite", "make this better", URL or file path provided → **Content improvement**
44
45If ambiguous: "Are you looking for a blog post (educational), a landing page
46(conversion-focused), or improving an existing page?"
47
48---
49
50## Step 2 — Gather Context
51
52Collect what you need. Don't ask for things you can infer.
53
54### For new content (blog post or landing page):
55- **Target keyword** (required) — the primary query to rank for
56- **Audience** — who is this for?
57- **Site/brand context** — what does the business do, value prop?
58- **Existing pages** — related pages on the site to link to?
59- **Competitors** — what currently ranks? (offer to research if you have web access)
60
61### For content improvement:
62- **The content** — read the existing page (URL via firecrawl/web, or file path)
63- **Target keyword** — ask if not obvious from the content
64- **Goal** — better rankings, better conversion, or both?
65
66If spawned by seo-analysis, this context is already provided. Use it directly.
67
68---
69
70## Step 3 — Read the Guidelines
71
72Locate and read the content writing reference:
73
74```bash
75CONTENT_REF=$(find ~/.claude/plugins ~/.claude/skills ~/.codex/skills .agents/skills -name "content-writing.md" -path "*content-writer*" 2>/dev/null | head -1)
76if [ -z "$CONTENT_REF" ]; then
77 echo "WARNING: Could not find content-writing.md reference"
78else
79 echo "Reference at: $CONTENT_REF"
80fi
81```
82
83Read $CONTENT_REF (or references/content-writing.md if invoked directly).
84Follow the guidelines precisely throughout Steps 4-6.
85
86---
87
88## Step 4 — Research & Plan
89
90### Blog posts
91
921. **Classify search intent** — informational or commercial investigation.
93 If the intent is transactional, tell the user a landing page would rank better.
942. **SERP analysis** — if you have web access (firecrawl, WebSearch, browse), search
95 the target keyword. Note what the top 5 results use: format, depth, subtopics
96 covered, what they miss.
973. **Define your angle** — what makes this post different? Original data, first-hand
98 experience, a more actionable approach, a specific niche. Never write a post that
99 just restates what's already ranking.
1004. **Draft a hook-driven title.** Plain keyword titles ("Facebook SEO Optimization")
101 die in the SERP. Pair the keyword with a hook: a number, a contrarian claim, a
102 specific audience, or a curiosity gap. See "Title hook patterns" in the
103 guidelines reference for the four working formulas and examples. The keyword
104 still has to be front-loaded and the title still has to be ≤ 60 chars.
1055. **Plan the visuals.** A blog post ships with a **featured/thumbnail image** plus
106 **≥ 3 inline images** (diagram, screenshot, comparison, or illustrative —
107 purely decorative stock is a fail). Decide each image's role and placement
108 *before* writing — every image must earn its spot by explaining something the
109 prose can't.
1106. **Create an outline:**
111
112```
113# [Hook-driven title] (< 60 chars, keyword front-loaded)
114
115Meta description: [120-160 chars, keyword + CTA]
116Target keyword: [primary]
117Secondary keywords: [2-4 related terms]
118Search intent: [type]
119Content angle: [differentiator]
120Target length: [≥ 1000 words]
121
122Featured image: [role + concept]
123Inline images: [3+ planned with role + placement]
124
125## Table of Contents
126## [H2 — opening hook + answers the core question first]
127## [H2 — next most important subtopic]
128## [H2 — practical examples / case studies]
129## [H2 — common mistakes]
130## FAQ
131```
132
1337. **Present outline for approval** before writing. If spawned by seo-analysis with
134 clear context, proceed directly but show the outline as you go.
135
136### Landing pages
137
1381. **Verify intent** — must be transactional or commercial. If informational, suggest
139 a blog post instead.
1402. **Determine page type** — service, product, location, or comparison. Use the
141 matching template from the guidelines.
1423. **Define conversion strategy:**
143 - Primary CTA (the one action you want)
144 - Key objections to address
145 - Trust signals needed (testimonials, logos, case studies, guarantees)
146 - Differentiation (why this over competitors — be specific)
1474. **Create page structure** using the guidelines template for the page type.
1485. **Present for approval.**
149
150### Content improvement
151
1521. **Audit the existing content** against the full guidelines — On-Page SEO Checklist,
153 Anti-Patterns, E-E-A-T signals, heading structure, keyword usage, search intent match.
1542. **Classify what's wrong:**
155 - Intent mismatch (wrong content type for the keyword)
156 - Thin content (not enough depth)
157 - Missing E-E-A-T signals (no examples, data, or experience)
158 - Poor structure (no headings, wall of text)
159 - Keyword issues (stuffing, missing, or wrong target)
160 - Stale information (outdated stats, methods, pricing)
1613. **Present gap analysis:**
162 - What's working (keep)
163 - What's missing (add)
164 - What's hurting (remove or rewrite)
165 - Structural changes needed
1664. **Get approval** before rewriting.
167
168---
169
170## Step 5 — Write
171
172Follow the writing rules from the guidelines for the content type. Key principles
173that apply to all content:
174
175**Lead with value.** First paragraph directly addresses the search intent. No
176throat-clearing ("In today's digital landscape...").
177
178**Show experience.** Specific examples, data, scenarios. "We found that..." and
179"In our testing..." signal first-hand knowledge. If the site has its own data,
180weave it in.
181
182**Be concrete.** Every recommendation includes the what, why, and how. "Add a
183sticky CTA bar — we saw a 23% increase on mobile" not "improve your CTAs."
184
185**Structure for scanning.** Short paragraphs (2-4 sentences), bullet lists, bold
186key phrases, tables for comparisons. One idea per paragraph.
187
188**Keyword placement.** Primary keyword in: title tag (front-loaded), H1, first
189100 words, 1-2 H2s naturally, meta description. After that: synonyms and natural
190language. No stuffing.
191
192**Compliance-sensitive topics require official sources.** For travel rules,
193government paperwork, health/safety, reimbursements, regulated products, or
194deadlines, cite the official rule-making source, name timing windows and
195exceptions, and avoid implying optionality where a step is normally mandatory.
196If a calculator or checklist is included, encode the same caveats in the tool.
197
198**Validate media assets.** Generated or edited images must have matching file
199extension, MIME/file signature, dimensions, and Open Graph metadata. Web images
200should be compressed to the displayed size before publishing.
201
202### Deliverables for blog posts:
2031. Full post in markdown with heading hierarchy (H1 → H2 → H3), opening with a
204 hook paragraph (not throat-clearing) and a table of contents that mirrors the
205 H2 structure
2062. **Minimum 1000 words** of substantive body content — write to completeness,
207 but treat 1000 as the floor a serious post has to clear
2083. SEO metadata: title tag (< 60 chars, hook-driven), meta description (120-160
209 chars), URL slug
2104. **Images** — a featured/thumbnail image and **≥ 3 inline images** placed at
211 meaningful points in the body. For each image, provide: role (diagram /
212 screenshot / illustrative / data viz), placement (which H2), descriptive alt
213 text, a filename suggestion, and a detailed generation prompt (see "Image
214 generation" below)
2155. JSON-LD structured data (Article/BlogPosting with image populated, plus
216 FAQPage if FAQ included)
2176. Internal linking plan (pages to link to and from)
2187. Publishing checklist
219
220### Image generation
221
222Generate the images during the writing step — don't leave them as TODO. Pick the
223first surface that's actually available in the current host, in this order:
224
2251. **Codex or other host with native image generation** (gpt-image, Imagen, etc.)
226 — generate the image inline. Save to images/ or the path the user specifies.
2272. **NotFair MCP generate_image** — if the universal NotFair MCP is connected
228 (mcp__NotFair__google_ads_generate_image or mcp__NotFair__meta_ads_generate_image, subject to host sanitization),
229 it generates marketing-grade visuals from a prompt. Works for blog imagery too.
2303. **No image-gen surface available** — output the detailed prompt for each image
231 so the user can run it in their own tool (Midjourney, DALL·E, Figma AI, etc.),
232 and place the markdown image tag with the planned filename so the post is ready
233 to drop the asset in.
234
235Every image prompt must be specific: subject, style (photographic / 3D render /
236flat illustration / data viz), composition, color palette, mood, and what to
237*avoid* (no stock-photo handshakes, no generic "person at laptop"). Lean
238illustrative or diagrammatic — purely decorative stock makes the post look AI-
239written.
240
241### Deliverables for landing pages:
2421. Full page copy in markdown with heading hierarchy and CTA placements marked
2432. SEO metadata: title tag, meta description, URL slug
2443. Conversion strategy: primary CTA, objections addressed, trust signals
2454. JSON-LD structured data (Service/Product/LocalBusiness + FAQPage)
2465. Internal linking plan + navigation placement suggestion
2476. Publishing checklist
248
249### Deliverables for content improvement:
2501. Rewritten content in markdown (full replacement, not patches)
2512. Change summary: what changed and why (tied to specific guideline violations)
2523. Updated SEO metadata if needed
2534. Updated structured data if needed
254
255### Output Format
256
257```
258# [Content Type]: [Title]
259
260## SEO Metadata
261- **Title tag:** [< 60 chars]
262- **Meta description:** [120-160 chars]
263- **URL slug:** /[slug]
264- **Target keyword:** [primary]
265- **Secondary keywords:** [list]
266
267## Content
268[Full content in markdown with proper heading hierarchy]
269
270## Structured Data
271[JSON-LD ready to paste]
272
273## Internal Linking Plan
274- **Link TO this page from:** [existing pages + suggested anchor text]
275- **This page links to:** [internal links in the content]
276
277## Publishing Checklist
278- [ ] Title tag and meta description set
279- [ ] URL slug configured
280- [ ] Structured data added (with image populated)
281- [ ] Featured/thumbnail image uploaded; set as Open Graph image
282- [ ] All inline images uploaded, alt text set, lazy-loaded below the fold
283- [ ] Table of contents renders with working anchor links
284- [ ] Internal links placed (both directions)
285- [ ] Open Graph image added
286- [ ] Open Graph image file format, dimensions, and byte size verified
287- [ ] Official sources cited for compliance-sensitive claims
288- [ ] Canonical URL set to self
289- [ ] Mobile rendering verified
290```
291
292---
293
294## Step 6 — Quality Gate
295
296Before delivering, verify against every check. Fix failures before presenting.
297
298### Blog-post hard requirements
299A blog post is not done until **all** of these are true. No exceptions.
300
301- [ ] Title carries an attention hook (number, contrarian claim, named audience,
302 or curiosity gap) — not just the bare keyword
303- [ ] Featured/thumbnail image present, with alt text and a generation prompt
304 (or a generated asset)
305- [ ] ≥ 3 inline images placed at meaningful points (diagram / screenshot /
306 illustration / data viz — not decorative stock)
307- [ ] Table of contents at the top mirroring every H2
308- [ ] ≥ 1000 words of substantive body content
309- [ ] Opening paragraph is a hook, not throat-clearing
310- [ ] FAQ section with 3–5 questions (targets People Also Ask)
311
312### The "Last Click" Test
313Would the reader need to search again? If yes, the content isn't done.
314
315### E-E-A-T Check
316- Does it contain specific examples only someone with experience would include?
317- Is there original analysis or insight — not just restated common knowledge?
318- Are claims backed by sources or data?
319
320### Anti-Pattern Check (from guidelines)
321- No keyword stuffing
322- No filler paragraphs (every paragraph earns its place)
323- No generic AI hedging ("it depends", "many factors" without committing)
324- No wall of text (headings, bullets, bold key phrases throughout)
325- No duplicate intent with existing pages on the site
326
327### Format Match
328Does the content type match what Google shows for this query?
329
330### On-Page SEO (from guidelines checklist)
331Title, meta description, H1, heading hierarchy, keyword placement, internal links,
332image alt text, URL slug — all present and correct.
333
334### Landing Page Extra Checks
335- Would you convert after reading this? What's missing if not?
336- Are vague claims replaced with specifics?
337- Is every major objection addressed?
338- Is the CTA immediately clear?
339
In the file
SKILL.md2,185 words
Files3
LicenceMIT
Why you can read it

Nothing in a skill executes. The client loads the text and the model follows it, so a skill can be audited the way a runbook is — by reading it.

What it costs in context

Skills are not billed by the call. They are paid for in context: every token the instructions occupy is a token your code, your diff and your conversation cannot use. Here is what this one takes and when it takes it.

≈180
always loaded
The name and description, so the model knows the skill exists and when to reach for it.
8,420
on trigger
The instruction body and 2 supporting files, read only when the skill fires.
4.3%
of a 200k window
Ten skills this size would take about 43% of the window before you open a file.
050k100k150k200k context window

8.6k tokens, estimated from the bundle at four bytes to the token, held for the rest of the session once it triggers. Heavy. Teams tend to install this one per project rather than globally, and load it only when the job comes up.

Servers bill, skills cost

A server charges by the month. A skill charges once per session, in context, and then keeps charging it for as long as the session lives.

Before and after

The same question, put to the same model twice: once as it comes, and once with these instructions loaded.

No worked example has been published for this skill yet.

Adoption
Installsnone yet
Ratingno reviews yet

The procedure it runs

The procedure has not been published here. It is in the skill’s own SKILL.md, which its author has not sent to the marketplace yet.

Prose, not code

These steps are written for a model to follow, not executed by a runtime. It can still be told to skip one, and it will say so when it does.

Servers it uses

None. This skill calls no MCP servers at all.

Everything it needs is in the instructions, so it works in a project with nothing connected — the model reads the file and changes how it works with what it can already reach.

It writes no files and reaches no network. All it changes is how the model reasons and writes.

What it asks for
Writes filesno
Network accessno

Read from the allowed-tools line of this skill’s own SKILL.md. A skill grants no permissions of its own — it can only ask for tools your client already has.

What it will not do

Every skill is narrow, and the useful ones say where they stop. These are the jobs this one is the wrong tool for.

What this skill is not for has not been published here. Nothing is implied by that: it is a section the author has not filled in.

What is in the bundle

3 files, 34.4 kB on disk. A bundle is text throughout: the instructions the model reads, plus the templates it fills in.

  • SKILL.md14.4 kB
  • evals/evals.json3.5 kB
  • references/content-writing.md16.5 kB
What is not in it

No dependencies and nothing executable: a skill is text the agent reads, so the bundle is 3 files you can review in full before installing. The MIT licence covers the templates and examples as well as the instructions.

Install

Installing copies the bundle into your project. Nothing runs at install time — the files sit on disk until the model reads them.

$15 once
Content Writer · MIT · nowork-studio
one-time
Price$15 once
LicenceMIT — the author’s, unchanged by this purchase
Paid throughStripe, once, on the card you add at the checkout
Keeps workingfor good — the files are yours once they are on disk
Updatesevery update its author ships, delivered through this account

You can read the whole bundle before paying — the SKILL.md above is the product, not a preview of it. What the money buys is the delivery: the folder packaged and handed to your machine by key, every update its author ships, and our support if it does not do what this listing says. The terms of use are MIT, set by the author and unchanged by buying it here.

Payment runs through Stripe, on a page like this one rather than a redirect. Once there is an account it joins the same mcprush invoice as everything else you run, so there is never a second card to enter.

Which clients pick it up on their own

A skill is a folder of text. A client with a skills folder reads it without being told; everywhere else the same text works, it is just handed to the model rather than found.

Claude Code.claude/skills/
Claude Desktop
ChatGPT
Cursor.cursor/skills/
VS Code.github/skills/
Codex CLI.agents/skills/
Gemini CLI.gemini/skills/
Grok.grok/skills/
Zed.agents/skills/
Windsurf.windsurf/skills/
Agent SDK.claude/skills/
HTTP / API
This release
Versionnot versioned
Publishedno release date on file
Price$15
Referencenowork-studio/content-writer

Versions

Its author publishes no version number, so there is nothing here to pin to: what you install is the folder as it stands today. Instructions change more often than APIs do — a skill can be rewritten entirely without anything it depends on moving.

v
  • No earlier releases have been published to the marketplace.
Pinning

Nothing to pin to: this skill carries no version number of its own. What you install is what the folder holds on the day you install it.

Reviews

no reviews yet · no installs yet

Nobody has reviewed this skill yet. The rating is the mean of the reviews written here, so there is none until somebody writes the first.

Who can post

Only accounts that have had the skill installed for fourteen days, so a review is written after living with it rather than after reading it. Publishers may reply once.

Who wrote it

NO
nowork-studio

Publishes on mcprush.

0 servers listed1 skill listednot claimed
Profile
Publisher
Servers0