eliasoulkadi/shokunin/content-marketing
Claude Code and agent skill by eliasoulkadi/shokunin
- community
Checking that the SKILL.md file is still in the repository.
Write blogs, newsletters, Twitter threads, case studies, and marketing copy that convert. Covers copywriting frameworks (AIDA, PAS, BAB, FAB), headline formulas, SEO/GEO for 2026 (AI Overviews, SGE), newsletter deliverability, Twitter thread hooks, Cialdini psychology, and cognitive biases.
Install
npx vskill@latest install eliasoulkadi/shokunin/content-marketingSKILL.md
Content Marketing
Content that ranks, converts, and gets shared. Based on Ogilvy, Cialdini, Copyhackers, and modern distribution strategies.
Sub-Commands
| Command | Description | |
|---|---|---|
blog | Write a blog post (outline → draft → optimize → publish) | |
newsletter | Write a newsletter issue with subject line + body | |
thread | Write a Twitter/X thread (hook + value + CTA) | |
case-study | Write a case study from results data | |
headline | Generate and score headlines against formulas | |
optimize | Optimize existing content for SEO + GEO |
Copywriting Frameworks
| Framework | Structure | Best for | |
|---|---|---|---|
| AIDA | Attention → Interest → Desire → Action | Landing pages, emails | |
| PAS | Problem → Agitate → Solve | Pain-point focused content | |
| BAB | Before → After → Bridge | Transformational offers | |
| FAB | Feature → Advantage → Benefit | Product descriptions | |
| 4Ps | Picture → Promise → Prove → Push | Long-form direct response |
Headline Formulas
| Type | Formula | Example | |
|---|---|---|---|
| Direct benefit | "[Number] [noun] for [audience]" | "10 Email Templates for Busy Founders" | |
| How-to | "How to [outcome] in [time]" | "How to Double Conversion Rate in 30 Days" | |
| Pain avoidance | "[Outcome] Without [pain]" | "Get More Leads Without Spending on Ads" | |
| Contrarian | "Why [common belief] is [wrong]" | "Why 'Write for Skimmers' Is Terrible Advice" | |
| Personal story | "I [did thing] and [result]" | "I Rewrote One Page and Made $40K" |
Rules: Under 15 words. Keyword near start. Specific outcome promise. No clickbait.
Blog Structure
Lead types:
| Type | Formula | |
|---|---|---|
| Problem-first | "[Pain]. Here's how to fix it." | |
| Story-first | "I [did thing] and learned [lesson]." | |
| Curiosity gap | "[Claim]. Here's why." | |
| Data-first | "[Stat]. [Why it matters]." |
SEO + GEO (2026)
Traditional SEO
- Primary keyword in H1, first 100 words, one H2
- Meta description under 155 chars with value prop
- URL: kebab-case, no stop words
- Internal links: 2-3 related posts
GEO (Generative Engine Optimization)
- Direct answer in first 2 paragraphs (AI scrapes opening)
- Structured data: FAQ, HowTo, Article schema
- Entity clarity: define who you are, what you do, for whom
- Cite primary sources (studies, data, .edu/.gov)
- Contrarian takes (AI models reference multiple viewpoints)
- Conversational tone (AI penalizes keyword-stuffed text)
Twitter Threads (5-7 tweets)
Hook patterns: surprising stat, contrarian take, direct promise, story opening, bold claim.
Newsletter Benchmarks
| Metric | Good | Needs work | |
|---|---|---|---|
| Open rate | 25-40% | Below 20% | |
| Click rate | 2-5% | Below 1% | |
| Unsubscribe | Under 0.5% | Over 1% |
Subject line: 30-50 chars. Start with verb or number. No ALL CAPS. A/B test 20%.
Cialdini Principles (minimum 3 per piece)
| Principle | Application | |
|---|---|---|
| Reciprocity | Free content, valuable upfront | |
| Scarcity | Limited time, real limits only | |
| Authority | Data, certifications, named sources | |
| Social proof | Testimonials, user count, logos | |
| Consistency | Micro-yes → macro-yes | |
| Liking | Relatable voice, shared identity |
Production Checklist
- [ ] Audience persona defined and reflected in language
- [ ] Copywriting framework chosen
- [ ] Headline under 15 words, keyword near start
- [ ] At least 3 Cialdini principles applied
- [ ] Every claim backed by data, quote, or source link
- [ ] Primary keyword in H1, first paragraph, one H2
- [ ] Direct answer in first 2 paragraphs (GEO)
- [ ] CTA: single action verb with specific outcome
- [ ] No anti-pattern violations
- [ ] Links tested and valid
- [ ] Read aloud: flow natural, no jargon
Workflow
- Define the audience persona — who reads this? What do they know? What problem do they have? Language, examples, and tone reflect this one persona.
- Select the copywriting framework — AIDA for landing pages, PAS for pain-point content, BAB for transformational offers, FAB for product descriptions.
- Write the headline first — under 15 words, keyword near start, specific outcome promise. Score against headline formulas. No clickbait.
- Open with a strong lead — problem-first, story-first, curiosity gap, or data-first. Hook the reader in the first 2 sentences.
- Layer Cialdini principles — minimum 3 per piece. Reciprocity (free value), social proof (testimonials/logos), authority (data/sources), scarcity (genuine limits only).
- Optimize for SEO + GEO — primary keyword in H1, first 100 words, one H2. Direct answer in first 2 paragraphs for AI overviews. Structured data where applicable.
- Close with one clear CTA — single action verb + specific outcome. "Get the checklist" not "Learn more."
Error Handling
| Cause | Fix | |
|---|---|---|
| Headline scores poorly against formulas (generic, no outcome) | Rewrite with: specific number + target audience + promised result. Test 3-5 variants. | |
| Open rate below 20% on newsletter | Subject line too long or too vague. Target 30-50 chars. Start with verb or number. A/B test 20% of list. | |
| Click rate below 1% on newsletter | CTA not prominent or actionable. Move CTA higher. Make it a single, specific action with a clear benefit. | |
| Blog post reads like AI-generated, high bounce rate | Check for AI tells: uniform paragraph length, mechanical connectors, absolute neutrality, no opinion. Humanize voice. | |
| Twitter thread hook gets scrolled past | Hook must stop the scroll in 240 chars. Use: surprising stat, contrarian take, direct promise, story opening, or bold claim. | |
| Content flagged as thin or unhelpful by Google | Add original data, unique perspective, or expert insight. Cite primary sources. Include contrarian viewpoint for GEO. | |
| "Fake scarcity" damages brand trust | Only use genuine limits: limited cohort, real deadline, actual inventory constraint. Never invent urgency. | |
| Cialdini principle overuse feels manipulative | Max 3-4 principles per piece. Layer naturally. Social proof and authority should feel earned, not forced. |
Anti-Patterns
| Mistake | Fix | |
|---|---|---|
| Generic headline | Specific: name outcome + audience | |
| No social proof | Add testimonials near every claim | |
| Weak CTA | Action verb + specific outcome | |
| Writing for "everyone" | Pick one persona | |
| Fake scarcity | Only use genuine limits | |
| No proof | Back every claim with data | |
| Selling too early | Build trust before the ask |
Headline Formulas by Platform
Blog Headings
- "How to [Achieve Outcome] [Timeframe]" (How to Ship Faster in 30 Days)
- "[Number] [Adjective] Ways to [Solve Problem]" (7 Proven Ways to Reduce Churn)
- "Why [Common Belief] Is Wrong (And What to Do Instead)"
- "[Year] Guide to [Topic]: [Specific Angle]" (2026 Guide to SEO: GEO Edition)
Newsletter Subject Lines
- Questions: "Is your [metric] where it should be?"
- Urgency: "[Name], [deadline] is tomorrow"
- Social proof: "How [company] grew [metric] by [number]%"
- Curiosity gap: "The [industry] secret nobody talks about"
Twitter/X Threads
- Hook line 1: Contrarian take or surprising statistic
- Line 2-3: Expand with evidence
- Line 4-6: Steps/methods (numbered)
- Line 7-8: Results/social proof
- Last line: Call to action + link
- Line 1: Statement that challenges assumption
- Line 2-3: Story with specific numbers
- Line 4-5: Lesson learned
- Last line: Question to drive comments
Newsletter Deliverability
Authentication
Deliverability Checklist
- SPF record covers all sending IPs
- DKIM signed with 2048-bit key
- DMARC policy at minimum
p=none(monitor), eventuallyp=reject - Custom tracking domain (not shared with other senders)
- Sender reputation > 95% (Google Postmaster Tools)
- Spam rate < 0.1% (Google threshold is 0.3%)
- Unsubscribe link visible in every email (CAN-SPAM/GDPR requirement)
- List cleaned monthly: remove addresses that haven't opened in 90 days
Sources
- Ogilvy on Advertising
- Breakthrough Advertising — Eugene Schwartz
- Copyhackers — Joanna Wiebe
- Cialdini "Influence"
- Google Search Central — SEO documentation
- Mailchimp / Campaign Monitor — Email benchmarks
Checklist
- [ ] Skill loads without errors in the AI agent
- [ ] YAML frontmatter is valid (description, compatibility, audience)
- [ ] Workflow section provides clear step-by-step instructions
- [ ] Error handling section covers common failure modes
- [ ] All referenced files (references/, scripts/, assets/) exist
- [ ] Skill triggers correctly for intended use cases
- [ ] No broken links or missing resources
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.pack/skills/content-marketing/SKILL.md
Popularity
- Repository stars
- 91
- Repository forks
- 10
- 7-day trend score
- 23
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/eliasoulkadi/shokunin/content-marketing)