> Create SEO-optimized marketing content with consistent brand voice, using a brand voice analyzer, SEO optimizer, and content frameworks. Use when writing blog posts, creating social content, or analyzing brand voice.
npx skills add https://github.com/borghei/Claude-Skills --skill content-creator
Professional-grade brand voice analysis, SEO optimization, and platform-specific content frameworks.
content creation, blog posts, SEO, brand voice, social media, content calendar, marketing content, content strategy, content marketing, brand consistency, content optimization, social media marketing, content planning, blog writing, content frameworks, brand guidelines, social media strategy
Before creating the content, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
scripts/brand_voice_analyzer.py on existing content to establish baselinereferences/brand_guidelines.md to select voice attributesreferences/content_frameworks.mdscripts/seo_optimizer.py [file] [primary-keyword] to optimizereferences/social_media_optimization.mdreferences/content_frameworks.mdassets/content_calendar_template.mdFor new brands or clients:
Step 1: Analyze Existing Content (if available)
python scripts/brand_voice_analyzer.py existing_content.txt
Step 2: Define Voice Attributes
references/brand_guidelines.mdStep 3: Create Voice Sample
Step 1: Keyword Research
Step 2: Content Structure
references/content_frameworks.mdStep 3: Optimization Check
python scripts/seo_optimizer.py blog_post.md "primary keyword" "secondary,keywords,list"
Step 4: Apply SEO Recommendations
Step 1: Platform Selection
references/social_media_optimization.mdStep 2: Content Adaptation
references/content_frameworks.mdStep 3: Optimization Checklist
Step 1: Monthly Planning
assets/content_calendar_template.mdStep 2: Weekly Distribution
Step 3: Batch Creation
Analyzes text content for voice characteristics, readability, and consistency.
Usage:
# Human-readable output
python scripts/brand_voice_analyzer.py content.txt
# JSON output for integrations
python scripts/brand_voice_analyzer.py content.txt json
Parameters:
| Parameter | Required | Description |
|-----------|----------|-------------|
| file | Yes | Path to content file |
| format | No | Output format: text (default) or json |
Output:
Analyzes content for SEO optimization and provides actionable recommendations.
Usage:
# Basic analysis
python scripts/seo_optimizer.py article.md "main keyword"
# With secondary keywords
python scripts/seo_optimizer.py article.md "main keyword" "secondary,keywords,list"
# JSON output
python scripts/seo_optimizer.py article.md "keyword" --json
Parameters:
| Parameter | Required | Description |
|-----------|----------|-------------|
| file | Yes | Path to content file (md or html) |
| primary_keyword | Yes | Main target keyword |
| secondary_keywords | No | Comma-separated secondary keywords |
| --json | No | Output in JSON format |
Output:
references/brand_guidelines.md
references/content_frameworks.md
references/social_media_optimization.md
references/analytics_guide.md
This skill works best with:
references/analytics_guide.md)| Problem | Likely Cause | Solution |
|---------|-------------|----------|
| SEO score is low despite keyword inclusion | Keywords present but not in strategic positions (title, H1, first paragraph, H2s) | Place primary keyword in the first paragraph, at least one H2, and the page title. Keyword density alone is no longer a ranking factor -- placement and natural integration matter more in 2026 |
| Brand voice analyzer shows inconsistent results across content | Multiple authors writing without shared voice guidelines | Establish a baseline by running brand_voice_analyzer.py on your best-performing content. Document the formality score, tone, and perspective as your target profile. Have all authors reference this baseline |
| Content ranks initially then drops | Thin content or lack of E-E-A-T signals | Google's December 2025 core update and helpful content system penalize shallow content. Add first-person experience, original data (3+ fresh statistics per 1,000 words), expert quotes, and case studies. Content must demonstrate Experience that AI cannot replicate |
| AI-generated content flagged or not ranking | Unedited AI output lacking human oversight, expertise, or originality | Google does not penalize AI-assisted content per se, but mass-produced AI content without human review, original perspective, or expertise signals will underperform. Always add personal experience, proprietary data, and fact-checked claims. Layer in E-E-A-T signals: author bylines with credentials, cited sources, real examples |
| SEO optimizer recommends increasing keyword density above 3% | Legacy recommendation conflicting with current best practice | Override any density target above 2%. A 2026 study of 1,500+ Google results found no correlation between keyword density and ranking. Pages in the top 10 have 50% lower keyword density than two years ago. Focus on topical coverage and semantic relevance instead |
| Content not winning featured snippets | Missing concise answer format near the top of the page | Provide a 2-3 sentence direct answer to the core question within the first 120-150 words. Use short paragraphs (2-4 sentences), bulleted lists, and clear H2/H3 subheadings. Featured snippets have 42.9% CTR -- the highest of any SERP feature |
| Social media content underperforming despite good blog content | Direct copy-paste without platform adaptation | Each platform requires format-specific adaptation. LinkedIn favors 1,300-character posts with carousel documents (21.77% median engagement rate). Instagram prioritizes visual-first carousel posts. TikTok requires short-form video. Use the repurposing matrix in references/content_frameworks.md |
brand_voice_analyzer.py. Variance of more than 15 points in formality score between pieces indicates inconsistencyIn Scope:
Out of Scope:
| Integration | Purpose | How to Connect |
|-------------|---------|----------------|
| Google Search Console | Monitor indexing, search queries, CTR, and position data | Use Search Console data to identify underperforming pages, then run seo_optimizer.py to diagnose and fix issues. Track position changes after optimization |
| Google Analytics 4 (GA4) | Content performance measurement, engagement metrics | Measure page views, time on page, bounce rate, and conversions per content piece. Feed insights back into content strategy decisions |
| SEO Tools (Ahrefs, SEMrush, Moz) | Keyword research, backlink data, competitive analysis | Export target keywords from SEO tools to use as input for seo_optimizer.py. Use competitive gap analysis to inform content topics |
| CMS Platforms (WordPress, Webflow, Ghost) | Content publishing and meta tag implementation | Apply meta tag suggestions from seo_optimizer.py directly to CMS fields. Implement heading structure recommendations in post editor |
| social-media-analyzer skill | Social content performance tracking | Analyze which content formats and topics perform best on social, then use findings to inform content creation priorities |
| campaign-analytics skill | Content ROI measurement | Track content-attributed conversions through campaign analytics. Identify which content pieces drive the most pipeline or revenue |
| app-store-optimization skill | App description writing | Apply SEO writing principles and brand voice consistency to app store descriptions using shared voice guidelines |
Type: CLI script (positional arguments, no argparse flags)
Usage:
python brand_voice_analyzer.py <file> [format]
| Argument | Position | Required | Default | Description |
|----------|----------|----------|---------|-------------|
| file | 1st | Yes | -- | Path to text content file to analyze |
| format | 2nd | No | text | Output format: text (human-readable) or json (machine-readable) |
Output Fields:
word_count -- Total words in contentreadability_score -- Flesch Reading Ease (0-100). Below 30 = difficult, 30-60 = moderate, 60-70 = standard, 70+ = easyvoice_profile -- Per-dimension analysis:formality -- Dominant: formal or casual (based on keyword matching)tone -- Dominant: professional or friendlyperspective -- Dominant: authoritative or conversationalsentence_analysis -- Average sentence length (words), variety (low/medium/high), total countrecommendations -- Actionable suggestions for readability, sentence variety, and voice consistencyType: CLI script (positional arguments with one optional flag)
Usage:
python seo_optimizer.py <file> [primary_keyword] [secondary_keywords] [--json]
| Argument | Position/Flag | Required | Default | Description |
|----------|--------------|----------|---------|-------------|
| file | 1st | Yes | -- | Path to content file (markdown or HTML) |
| primary_keyword | 2nd | No | None | Main target keyword for density and placement analysis |
| secondary_keywords | 3rd | No | None | Comma-separated secondary keywords (e.g., "seo,content,optimization") |
| --json | Flag | No | text output | Output raw JSON instead of human-readable format |
Output Fields:
optimization_score -- Overall SEO score (0-100). Scoring: content length (20 pts), keyword optimization (30 pts), structure (25 pts), readability (25 pts)content_length -- Word countkeyword_analysis:primary_keyword -- Count, density (0-1 scale), in_first_paragraph (bool), in_headings (bool)secondary_keywords -- Per-keyword count and densitylsi_keywords -- Top 10 semantically related terms extracted from contentstructure_analysis -- Heading counts (h1/h2/h3), paragraph count, average paragraph length, list count, internal/external link countsreadability -- Score (0-100), level (Easy/Moderate/Difficult/Very Difficult), average sentence lengthmeta_suggestions -- Generated title, meta description, URL slug, Open Graph tagsrecommendations -- Prioritized list of specific improvement actionsA set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store
NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.
Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.
Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.
Take borghei/content-creator from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.