Create Blog Article for Claude Code Component
You will create a complete, SEO-optimized blog article for a Claude Code component.
Component Path Argument
Component path provided: $ARGUMENTS
Expected format examples:
development-team/frontend-developer(for agents)supabase(for MCPs)productivity/nowait(for skills)
Step 1: Identify Component Type and Read Component File
Based on the path structure, determine the component type:
- If path has
/, could be an agent, MCP, command, skill, or hook in a folder - Single word could be MCP, command, or skill
Read the component file:
- Agents:
cli-tool/components/agents/$ARGUMENTS.md(e.g.,development-team/frontend-developer.md) - MCPs:
cli-tool/components/mcps/$ARGUMENTS.json(e.g.,devtools/context7.json) - Skills:
cli-tool/components/skills/$ARGUMENTS/SKILL.md - Commands:
cli-tool/components/commands/$ARGUMENTS.md(e.g.,setup/ci-cd-pipeline.md) - Hooks:
cli-tool/components/hooks/$ARGUMENTS.md
CRITICAL: Use find or grep to locate the actual file path first, then extract folder/name structure.
Extract from the component file:
name: Component namedescription: Component descriptiontools: Available tools (for agents)- Key capabilities and focus areas from the content
Step 2: Generate Component-Specific Blog ID and Names
From the component path, create:
Blog ID: Convert path to blog-friendly ID
- Example:
development-team/frontend-developer→frontend-developer-agent - Example:
supabase→supabase-mcp - Example:
productivity/nowait→nowait-skill
- Example:
Component Name: Human-readable name
- Example:
frontend-developer→Frontend Developer - Example:
supabase→Supabase
- Example:
Component Type: Uppercase type
- AGENT, MCP, SKILL, COMMAND, HOOK
Step 3: Generate Cover Image FIRST
CRITICAL: Generate the cover image BEFORE creating the HTML file.
Use the Python script to generate the image:
python3 scripts/generate_blog_images.py
But first, temporarily add a new entry to docs/blog/blog-articles.json with:
{
"id": "[blog-id]",
"title": "Temporary",
"description": "Temporary",
"url": "[blog-id]/",
"image": "https://www.aitmpl.com/blog/assets/[blog-id]-cover.png",
"category": "[Component Type]",
"publishDate": "2025-01-15",
"readTime": "4 min read",
"tags": ["Claude Code"],
"difficulty": "basic",
"featured": true,
"order": 999
}
Then run the script, which will:
- Detect the new entry
- Find the component path
- Generate the image at
docs/blog/assets/[blog-id]-cover.png
After image generation, update the entry with correct information.
Step 4: Create Blog Article HTML
Create directory:
mkdir -p docs/blog/[blog-id]
CRITICAL PROCESS:
First, READ the template file completely:
Read docs/blog/code-reviewer-agent/index.htmlCopy the ENTIRE content to the new file location:
Write docs/blog/[blog-id]/index.htmlThen, ONLY replace the specific content sections (listed below)
DO NOT:
- ❌ Create HTML from scratch
- ❌ Use a different template
- ❌ Simplify or remove any scripts
- ❌ Change the header/footer structure
- ❌ Modify CSS paths or class names
Create docs/blog/[blog-id]/index.html using this process:
HTML Template Structure
CRITICAL: Use docs/blog/code-reviewer-agent/index.html as the EXACT base template.
This template includes ALL required components:
- ✅ Header with
class="header"(NOT "blog-header") - ✅ ASCII art logo in terminal-header
- ✅ Copy as Markdown button (
id="copy-markdown-btn") - ✅ Proper article structure:
article-header→article-body→article-content-full - ✅ "Explore Components" banner at the end of content
- ✅ Footer with ASCII art and links
- ✅ CodeCopy script (adds copy buttons to code blocks)
- ✅ MarkdownCopier script (copy entire article as markdown)
- ✅ Mermaid diagram support script
DO NOT create custom HTML structure - copy the template EXACTLY and only replace the content-specific parts.
How to Use the Template:
- Copy the entire file from
code-reviewer-agent/index.html - Only replace these specific content areas:
- SEO meta tags (title, description, keywords, Open Graph)
- Article title and subtitle in
<h1>and<p class="article-subtitle"> - Tags in
<div class="article-tags"> - Main content inside
<div class="article-content-full">(everything between the opening and closing div) - Cover image src and alt text
- Keep EVERYTHING else unchanged:
- Header structure and navigation
- Copy Markdown button
- Footer with ASCII art
- All three scripts at the end (CodeCopy, MarkdownCopier, Mermaid)
- CSS links and paths
Key SEO Elements to Customize:
Title Tag (Line 6):
<title>[Component Name] for Claude Code: [Key Technologies] Expert AI Assistant</title>
Meta Description (Line 26):
<meta name="description" content="Install the [Component Name] for Claude Code to [main benefit]. AI-powered [component type] for [key features].">
Open Graph Tags (Lines 28-32):
<meta property="og:title" content="[Component Name] for Claude Code: [Key Technologies]">
<meta property="og:description" content="Install the [Component Name] for Claude Code...">
Keywords (Line 58): Focus on: Claude Code, Component Type, Main Technologies
<meta name="keywords" content="Claude Code [type], [Component Name], Claude Code [tech1], [tech2], AI [domain] development, ...">
Structured Data (Lines 81-136):
{
"@type": "BlogPosting",
"headline": "[Component Name] for Claude Code: [Technologies]",
"keywords": "Claude Code [type], [Component Name], ...",
"articleSection": "Claude Code [Type]s",
"about": [
{"@type": "Thing", "name": "Claude Code"},
{"@type": "Thing", "name": "[Component Type]"},
...
]
}
Article Header (Lines 189-201):
<h1 class="article-title">[Component Name] for Claude Code: [Technologies]</h1>
<p class="article-subtitle">Learn how to install and use the [Component Name] for Claude Code to [benefits].</p>
<div class="article-tags">
<span class="tag">Claude Code</span>
<span class="tag">[Type]</span>
<span class="tag">[Tech1]</span>
<span class="tag">[Tech2]</span>
</div>
Content Sections:
What is the [Component Name]? (Lines 210-212):
- Brief 2-3 sentence overview
- Focus on what it does and key benefits
- Mention Claude Code and component type
Mermaid Diagram (After "What is..." section): Add a simple Mermaid flow diagram (3-4 nodes max):
<!-- Mermaid Diagram -->
<div class="mermaid-diagram" style="background: #1a1a1a; border: 1px solid #333; border-radius: 8px; padding: 2rem; margin: 2rem 0; text-align: center;">
<pre class="mermaid">
graph LR
A[Input/Trigger] --> B[Component Name]
B --> C[Process/Output]
C --> D[Result]
style B fill:#F97316,stroke:#fff,color:#000
</pre>
</div>
Diagram examples by type:
- Agents:
[👤 User Prompt] --> [🤖 Agent Name] --> [⚛️ Code Output] --> [📦 Your Project] - MCPs:
[💻 Claude Code] --> [🔌 MCP Name] --> [📚 Data/Docs] --> [✨ Result] - Skills:
[👤 User Request] --> [🔍 Skill Auto-Triggered] --> [📚 Progressive Loading] --> [✅ Task Complete] - Commands:
[⚙️ Command Call] --> [🔧 Command Logic] --> [📝 Action] --> [✓ Complete] - Hooks:
[📝 Event] --> [🪝 Hook Name] --> [⚡ Automation] --> [✅ Done]
IMPORTANT:
- Avoid using special characters like
/or\inside Mermaid node labels as they cause syntax errors - Skills are NOT slash commands - they activate automatically when relevant to the user's request
Key Capabilities (Lines 214-223):
- Bullet list of 5-7 main capabilities
- Each capability with brief explanation in parentheses
Installation (Lines 225-241):
<h2>Installation</h2>
<p>Install the [Component Name] using the Claude Code Templates CLI:</p>
<pre><code class="language-bash">npx claude-code-templates@latest --[type] [folder/name]</code></pre>
<p><strong>Where is the [type] installed?</strong></p>
<p>The [type] is saved in <code>.claude/[type]s/[name].[extension]</code> in your project directory:</p>
<pre><code class="language-bash">your-project/
├── .claude/
│ └── [type]s/
│ └── [name].[md|json] # ← [Type] installed here
├── src/
│ └── components/
├── package.json
└── README.md</code></pre>
CRITICAL INSTALLATION COMMAND FORMAT:
- Agents:
--agent folder/name(e.g.,--agent development-team/frontend-developer) - MCPs:
--mcp folder/name(e.g.,--mcp devtools/context7) - Commands:
--command folder/name(e.g.,--command setup/ci-cd) - Skills:
--skill name(e.g.,--skill pdf-processing) - Hooks:
--hook folder/name(e.g.,--hook git/auto-commit)
ALWAYS use the FULL path with folder/ - Use find command to verify the correct path first!
How to Use (Lines 243-251):
<h2>How to Use the [Type]</h2>
<p>Start Claude Code and explicitly request the [type] in your prompt:</p>
<pre><code class="language-bash"># Start Claude Code
claude
# Then write your prompt requesting the [type]
> Use the [name] [type] to [example task]</code></pre>
Usage Examples (Lines 253-277): Create 3 practical examples:
<h3>Example 1: [Specific Use Case]</h3>
<pre><code class="language-bash">claude
> Use the [name] [type] to [specific task with details]</code></pre>
<p><strong>Result:</strong> [Expected outcome]</p>
Official Documentation (Lines 276-277):
<h2>Official Documentation</h2>
<p>For more information about [type]s in Claude Code, see the <a href="https://code.claude.com/docs/en/[appropriate-doc-page]?utm_source=aitmpl&utm_medium=referral&utm_campaign=blog" target="_blank">official documentation</a>.</p>
CRITICAL: All URLs to claude.com documentation MUST include UTM parameters: ?utm_source=aitmpl&utm_medium=referral&utm_campaign=blog
Critical Path Requirements:
- Image path (Line 207):
../assets/[blog-id]-cover.png - CSS paths (Lines 62-63):
../../css/styles.css,../../css/blog.css - Navigation links:
../index.htmlfor blog home,../../index.htmlfor main site
Step 5: Update blog-articles.json
Update the temporary entry in docs/blog/blog-articles.json with complete information:
{
"id": "[blog-id]",
"title": "[Component Name] for Claude Code: [Subtitle with Technologies]",
"description": "Complete guide to the [Component Name] - [what it does]. [Key benefits]. [Installation count if available]+ installations.",
"url": "[blog-id]/",
"image": "assets/[blog-id]-cover.png",
"category": "[Component Type Category]",
"publishDate": "[Current Date YYYY-MM-DD]",
"readTime": "4 min read",
"tags": ["Claude Code", "[Type]", "[Tech1]", "[Tech2]", "[Tech3]"],
"difficulty": "basic|intermediate|advanced",
"featured": true,
"order": [next available order number]
}
Category Guidelines:
- Agents → "Agents"
- MCPs → "MCP"
- Skills → "Skills"
- Commands → "Development" or specific category
- Hooks → "Automation"
Difficulty Guidelines:
- basic: Simple to use, no configuration needed
- intermediate: Requires some setup or understanding
- advanced: Complex workflows or configuration
Scripts at End of HTML:
The template already includes ALL required scripts before </body>:
- CodeCopy script (~180 lines) - Adds copy buttons to code blocks
- MarkdownCopier script (~160 lines) - Copy article as Markdown functionality
- Mermaid script (~15 lines) - Diagram rendering support
CRITICAL: These scripts are ALREADY in the template. DO NOT:
- ❌ Remove them
- ❌ Modify them
- ❌ Duplicate them
- ❌ Create simplified versions
If you copy the template correctly, these scripts will already be present and working.
Step 6: Final Checklist
Verify before completion:
Files & Structure:
- Cover image exists at
docs/blog/assets/[blog-id]-cover.png - Blog article exists at
docs/blog/[blog-id]/index.html - HTML file copied from
code-reviewer-agent/index.htmltemplate - Header has
class="header"(NOT "blog-header") - Copy Markdown button present with
id="copy-markdown-btn" - Article structure:
article-header→article-body→article-content-full - "Explore Components" banner present at end of content
- Footer with ASCII art and links present
Scripts (verify all 3 are present):
- CodeCopy script present (~180 lines before Mermaid)
- MarkdownCopier script present (~160 lines before Mermaid)
- Mermaid script present (last script before
</body>)
Content:
- Mermaid diagram added after "What is..." section
- All paths are relative (images, CSS, links)
- Installation command shows correct folder/name structure
- File tree shows correct installation path
- SEO meta tags include "Claude Code" prominently
- Keywords focus on: Claude Code > Component Type > Technologies
- Structured data includes all required fields
- blog-articles.json updated with new entry
- All tags include "Claude Code" as first tag
- Examples are specific to the component's capabilities
- All claude.com URLs include UTM parameters
SEO Optimization Requirements
Every blog article MUST:
- Title Tag: Include "Claude Code", component name, and 1-2 key technologies
- Meta Description: Start with action verb, mention Claude Code, include key benefit
- Keywords: First 3 keywords should be "Claude Code [type]", "[Component Name]", "Claude Code [main-tech]"
- H1: Match title tag structure
- First Paragraph: Mention "Claude Code" in first sentence
- Tags: Always start with "Claude Code" tag
- Structured Data: Include Claude Code as both Thing and SoftwareApplication
Error Handling
If component file not found:
- Try alternative paths (with/without folders)
- Check component type variations
- Ask user to verify component path
If image generation fails:
- Check if GOOGLE_API_KEY is set
- Verify blog-articles.json entry
- Check scripts/generate_blog_images.py exists
Success Message
When complete, show:
✅ Blog article created successfully!
📁 Files created:
- docs/blog/[blog-id]/index.html
- docs/blog/assets/[blog-id]-cover.png
📝 Updated:
- docs/blog/blog-articles.json
🔗 View locally:
http://localhost:8000/blog/[blog-id]/
🚀 Ready to commit and deploy!