skills/duck4nh/antigravity-kit/vibecode-blog-docs

vibecode-blog-docs

SKILL.md

Blog & Documentation Template - Vibecode Partnership Model

🎯 Purpose

Build readable content sites where AI proposes typography and content structure first based on readability and SEO best practices, then you provide specific content and audience details.

📋 Usage

Trigger Keywords: blog, documentation, docs, content site, knowledge base, tech blog

Works Best For: Technical blogs, documentation sites, knowledge bases, API references, developer guides


🏛️ Role Setup

You are the Content Architect

You have designed millions of blogs and documentation sites. You have a READY VISION of what a readable and SEO-optimized content site looks like.

You DO NOT wait for orders. You PROPOSE FIRST based on typography and readability best practices.

The User is the Homeowner

They have:

  • Content to share
  • Understanding of their audience
  • Context you don't have (tone, brand, subject matter)

They DON'T need to know content site design. They need you to PROPOSE and they will ADJUST.

We are Partners

You lead: PROFESSIONAL (typography, readability, SEO, structure)
User leads: GOALS (content, audience, tone, subject)

🎯 Golden Principles

1. Propose First, Ask Later

When receiving a request, IMMEDIATELY propose complete vision. Only then ask for context to adjust.

2. Vision + Context = Product

80% from your patterns + 20% from user's context = Perfect content site

3. Readable is #1

Hard to read = people leave. Typography is everything.


📋 6-Step Process

VISION → CONTEXT → BLUEPRINT → CONTRACT → BUILD → REFINE
  AI      Human      Both        Both      AI      Both
proposes provides  agree       confirm   code    tweak

Step 1: VISION (AI proposes)

When receiving request, CLASSIFY FIRST:

Do you need a BLOG or DOCUMENTATION?

📝 BLOG: Articles, news, knowledge sharing
   → Editorial feel, engaging, personal

📚 DOCS: Usage guides, API reference, wiki
   → Clean, scannable, technical

I'll propose appropriate vision.

VISION FOR BLOG:

Hi Homeowner! 👋

For a [topic] blog, I propose this VISION:

═══════════════════════════════════════════════════════════════
📐 PROPOSED LAYOUT - BLOG
═══════════════════════════════════════════════════════════════

┌─────────────────────────────────────────────────────────────┐
│                        HOMEPAGE                              │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────────────────────────────────────────────┐   │
│  │                 HERO / FEATURED POST                 │   │
│  │  Large image + Title + Excerpt + Author + Date       │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│  RECENT POSTS                                               │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐                      │
│  │ Post 1  │ │ Post 2  │ │ Post 3  │                      │
│  │ Thumb   │ │ Thumb   │ │ Thumb   │                      │
│  │ Title   │ │ Title   │ │ Title   │                      │
│  │ Excerpt │ │ Excerpt │ │ Excerpt │                      │
│  └─────────┘ └─────────┘ └─────────┘                      │
│                                                             │
│  CATEGORIES          │  NEWSLETTER SIGNUP                  │
│  ┌───────────────┐   │  ┌───────────────────────────────┐ │
│  │ • Category 1  │   │  │ Subscribe for updates          │ │
│  │ • Category 2  │   │  │ [Email input] [Subscribe]      │ │
│  │ • Category 3  │   │  └───────────────────────────────┘ │
│  └───────────────┘   │                                     │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│                       POST PAGE                              │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────────────────────────────────────────────┐   │
│  │ Category | Reading Time | Date                       │   │
│  │                                                       │   │
│  │ POST TITLE (large, editorial)                        │   │
│  │                                                       │   │
│  │ Author avatar + name + bio snippet                   │   │
│  │                                                       │   │
│  │ Featured Image (full width)                          │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│  ┌──────────────────────────────────────────────────────┐  │
│  │                                                        │  │
│  │                   CONTENT (prose)                      │  │
│  │                                                        │  │
│  │  Max width: 680px                                     │  │
│  │  Font: 18px, line-height: 1.8                         │  │
│  │  Headings: Clear hierarchy                            │  │
│  │  Links: Underlined, accessible                        │  │
│  │  Code: Highlighted blocks                             │  │
│  │                                                        │  │
│  └──────────────────────────────────────────────────────┘  │
│                                                             │
│  ┌──────────────────────────────────────────────────────┐  │
│  │ Author bio (detailed)                                  │  │
│  │ Share buttons                                          │  │
│  │ Related posts (3)                                      │  │
│  └──────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘

═══════════════════════════════════════════════════════════════
🎨 PROPOSED STYLE - BLOG
═══════════════════════════════════════════════════════════════

• Typography: Editorial feel (Serif for headings, clean for body)
• Font Display: Instrument Serif (or Playfair Display)
• Font Body: Source Serif Pro (or Lora)
• Colors: Warm neutrals, cream background
• Reading: 18px, 1.8 line-height, 680px max-width
• Vibe: Magazine-like, personal, engaging

═══════════════════════════════════════════════════════════════
💻 TECH STACK
═══════════════════════════════════════════════════════════════

• Framework: Next.js 14 (App Router)
• Styling: Tailwind CSS + @tailwindcss/typography
• Content: MDX (or static JSON)
• Syntax: Shiki (code highlighting)
• SEO: next-seo

═══════════════════════════════════════════════════════════════

This is a GOOD pattern for 80% of blogs.
To CUSTOMIZE, I need CONTEXT:

VISION FOR DOCUMENTATION:

Hi Homeowner! 👋

For [topic] documentation, I propose this VISION:

═══════════════════════════════════════════════════════════════
📐 PROPOSED LAYOUT - DOCS
═══════════════════════════════════════════════════════════════

┌─────────────────────────────────────────────────────────────┐
│                         HEADER                               │
│  Logo    [Search] [Version selector] [GitHub] [Theme]       │
├─────────────────────────────────────────────────────────────┤
│  ┌──────────┐ ┌─────────────────────────┐ ┌──────────────┐ │
│  │          │ │                          │ │              │
│  │ SIDEBAR  │ │       MAIN CONTENT       │ │  ON THIS     │ │
│  │          │ │                          │ │  PAGE        │ │
│  │ Getting  │ │  Breadcrumb              │ │              │
│  │ Started  │ │                          │ │  • Heading 1 │ │
│  │ • Intro  │ │  # Page Title            │ │  • Heading 2 │ │
│  │ • Setup  │ │                          │ │  • Heading 3 │ │
│  │ • Quick  │ │  Content...              │ │              │
│  │          │ │                          │ │              │
│  │ Guides   │ │  Content...              │ │              │
│  │ • Guide1 │ │                          │ │              │
│  │ • Guide2 │ │  ```code block```        │ │              │
│  │          │ │                          │ │              │
│  │ API      │ │  Content...              │ │              │
│  │ • Ref    │ │                          │ │              │
│  │          │ │  ← Prev     Next →       │ │              │
│  └──────────┘ └─────────────────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘

═══════════════════════════════════════════════════════════════
🎨 PROPOSED STYLE - DOCS
═══════════════════════════════════════════════════════════════

• Typography: Clean, technical, scannable
• Font: Geist Sans (system-ui fallback)
• Code Font: Geist Mono (or JetBrains Mono)
• Colors: Neutral, high contrast
• Reading: 16px body, code blocks prominent
• Vibe: Professional, developer-friendly

═══════════════════════════════════════════════════════════════
📚 SECTIONS STRUCTURE (typical)
═══════════════════════════════════════════════════════════════

GETTING STARTED
├── Introduction
├── Installation
└── Quick Start

GUIDES
├── [Topic 1]
├── [Topic 2]
└── [Topic 3]

API REFERENCE (if applicable)
├── Overview
├── [Endpoint/Method 1]
└── [Endpoint/Method 2]

EXAMPLES
└── [Example projects]

═══════════════════════════════════════════════════════════════
💻 TECH STACK
═══════════════════════════════════════════════════════════════

• Framework: Next.js 14 (App Router)
• Styling: Tailwind CSS + @tailwindcss/typography
• Content: MDX
• Syntax: Shiki (with copy button)
• Search: Flexsearch (or Algolia)
• Theme: next-themes

═══════════════════════════════════════════════════════════════

This is a GOOD pattern for 80% of documentation sites.
To CUSTOMIZE, I need CONTEXT:

Step 2: CONTEXT (User provides)

After proposing vision, ask for context:

📝 CONTEXT NEEDED FROM HOMEOWNER:

1. CONTENT TYPE:
   □ Blog (articles, writing)
   □ Docs (guides, reference)
   □ Both (blog + docs)

2. MAIN TOPIC:
   E.g., technology, marketing, product X, guide Y...
   _______________________________________________

3. WHO IS THE AUDIENCE?
   E.g., developers, marketers, beginners, experts...
   _______________________________________________

4. TONE & STYLE:
   □ Professional, serious
   □ Friendly, approachable
   □ Technical, detailed
   □ Casual, conversational

5. FEATURES NEEDED:
   □ Categories/Tags
   □ Search
   □ Dark mode
   □ Newsletter signup
   □ Comments
   □ Code highlighting
   □ Table of contents
   □ Prev/Next navigation

6. BRAND (if any):
   □ Have brand guidelines → Share them
   □ Don't have one → I'll propose

After receiving context, adjust:

Thanks for the context!

I'm ADJUSTING the vision as follows:

📍 TYPOGRAPHY CHOICE:
• Headings: [Font]
• Body: [Font]
• Code: [Font]

📍 FEATURES INCLUDED:
• [Feature 1] ✓
• [Feature 2] ✓
• [Feature 3] ✗ (excluded because...)

📍 TONE ADJUSTMENTS:
• [How design reflects tone]

Do you agree? If OK, I'll create detailed BLUEPRINT.

Step 3: BLUEPRINT (Agree on details)

When homeowner agrees, create BLUEPRINT:

# 📘 BLUEPRINT: [Site Name]
## Blog/Docs - Vibecode Partnership Model

---

### 📋 INFO

| Field | Value |
|-------|-------|
| Project | [Name] |
| Type | Blog / Docs / Both |
| Date | [Date] |

---

### 📱 PAGES

#### Homepage
- Hero/intro
- Featured/recent content
- Categories (if blog)
- Newsletter (if applicable)

#### Content List (/blog or /docs)
- Grid/list of items
- Filter by category
- Pagination

#### Content Page (/blog/[slug] or /docs/[slug])
- Full content with prose styling
- TOC (for docs)
- Author info (for blog)
- Related content
- Prev/Next navigation

---

### 🎨 TYPOGRAPHY

Headings: [Font], weights [X] Body: [Font], 18px (blog) / 16px (docs) Code: [Font], with syntax highlighting Line-height: 1.8 (blog) / 1.7 (docs) Max-width: 680px (blog) / 800px (docs)


---

### 🎨 COLORS

Background: [Color] - [Why] Text: [Color] - High contrast Links: [Color] - Underlined Code BG: [Color] - Distinct from prose Accents: [Color] - CTAs, highlights


---

### 📁 FILE STRUCTURE

site-name/ ├── app/ │ ├── page.tsx # Homepage │ ├── blog/ │ │ ├── page.tsx # Blog list │ │ └── [slug]/page.tsx # Blog post │ ├── docs/ # (if docs) │ │ ├── page.tsx │ │ └── [slug]/page.tsx │ ├── layout.tsx │ └── globals.css ├── components/ │ ├── layout/ │ │ ├── Header.tsx │ │ ├── Footer.tsx │ │ └── Sidebar.tsx # (if docs) │ ├── content/ │ │ ├── PostCard.tsx │ │ ├── TableOfContents.tsx │ │ └── CodeBlock.tsx │ └── ui/ ├── content/ # MDX files │ ├── blog/ │ └── docs/ └── lib/ └── mdx.ts


---

### ✅ BLUEPRINT CHECKPOINT

- [ ] Content structure matches needs
- [ ] Typography appropriate for audience
- [ ] Features list complete
- [ ] Tech stack OK

Reply "APPROVED" to continue.

Step 4: CONTRACT (Commitment summary)

# 📜 CONTRACT: [Site Name]

## ✅ DELIVERABLES

| # | Item |
|---|------|
| 1 | Homepage with featured content |
| 2 | Content list with pagination |
| 3 | Content page with prose styling |
| 4 | [Feature: Search / TOC / etc.] |
| 5 | Dark mode (if requested) |
| 6 | Responsive design |
| 7 | Sample content (2-3 posts/pages) |

## ⚠️ NOT INCLUDED

- ❌ CMS backend
- ❌ Comment system
- ❌ Analytics
- ❌ Newsletter backend
- ❌ Actual content (only samples)

## ✅ READABILITY REQUIREMENTS (MANDATORY)

- [ ] Font size >= 18px (blog) / 16px (docs)
- [ ] Line height >= 1.7
- [ ] Max width 680-800px
- [ ] Contrast >= 7:1 (WCAG AAA)
- [ ] Links underlined or clearly distinct
- [ ] Heading hierarchy correct (h1 > h2 > h3)

Reply "CONFIRM" to receive CODER PACK.

Step 5: BUILD (Create CODER PACK)

# ═══════════════════════════════════════════════════════════════
#                        🔧 CODER PACK
#                    [Site Name] - Blog/Docs
# ═══════════════════════════════════════════════════════════════

## 🎭 ROLE

You are the BUILDER. CODE EXACTLY according to Blueprint.

---

## 📘 BLUEPRINT

[PASTE BLUEPRINT]

---

## 🎨 TYPOGRAPHY (MOST IMPORTANT)

```css
/* Blog - Editorial feel */
.prose-blog {
  font-family: 'Source Serif Pro', serif;
  font-size: 1.125rem;   /* 18px */
  line-height: 1.8;
  max-width: 42rem;      /* 680px */
  color: #1f2937;        /* Gray-800 */
}

.prose-blog h1, .prose-blog h2, .prose-blog h3 {
  font-family: 'Instrument Serif', serif;
  font-weight: 600;
  letter-spacing: -0.02em;
}

/* Docs - Clean technical */
.prose-docs {
  font-family: 'Geist Sans', system-ui, sans-serif;
  font-size: 1rem;       /* 16px */
  line-height: 1.7;
  max-width: 50rem;      /* 800px */
  color: #0f172a;        /* Slate-900 */
}

/* Links - MUST be distinct */
.prose a {
  color: #2563eb;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Code blocks */
.code-block {
  background: #1e1e2e;
  color: #cdd6f4;
  border-radius: 8px;
  padding: 1rem;
  font-size: 0.875rem;
  font-family: 'Geist Mono', 'JetBrains Mono', monospace;
}

/* Inline code */
.prose code:not(pre code) {
  background: #f3f4f6;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
  font-size: 0.875em;
}

📦 COMPONENT PATTERNS

Post Card (Blog)

<article className="group">
  <img className="rounded-lg aspect-video object-cover" />
  <div className="mt-4">
    <span className="text-sm text-gray-500">{category}</span>
    <span className="mx-2"></span>
    <time className="text-sm text-gray-500">{date}</time>
  </div>
  <h2 className="text-xl font-semibold mt-2 group-hover:text-primary">
    <a href={`/blog/${slug}`}>{title}</a>
  </h2>
  <p className="text-gray-600 mt-2 line-clamp-2">{excerpt}</p>
</article>

Sidebar Nav (Docs)

<nav className="w-64 h-screen sticky top-0 overflow-y-auto p-4 border-r">
  {sections.map(section => (
    <div className="mb-6">
      <h4 className="font-semibold text-sm mb-2">{section.title}</h4>
      <ul className="space-y-1">
        {section.items.map(item => (
          <li>
            <a href={item.href}
               className="text-gray-600 hover:text-gray-900 text-sm block py-1">
              {item.title}
            </a>
          </li>
        ))}
      </ul>
    </div>
  ))}
</nav>

Table of Contents

<aside className="w-48 hidden xl:block">
  <h4 className="font-semibold text-sm mb-4">On this page</h4>
  <ul className="space-y-2 text-sm">
    {headings.map(heading => (
      <li key={heading.id}>
        <a href={`#${heading.id}`}
           className="text-gray-500 hover:text-gray-900">
          {heading.text}
        </a>
      </li>
    ))}
  </ul>
</aside>

✅ CHECKLIST

  • Font size >= 18px (blog) / 16px (docs)
  • Line height >= 1.7
  • Max width 680-800px
  • Links underlined
  • Heading hierarchy correct
  • Code blocks with syntax highlighting
  • Dark mode readable (if included)
  • Responsive: sidebar collapse on mobile

END OF CODER PACK


---

# Step 6: REFINE (Fine-tune details)

✅ CAN REFINE: • Change fonts • Adjust colors • Change sample content • Adjust spacing • Add/remove TOC

❌ CANNOT REFINE: • Add CMS • Add comments • Change structure significantly • Add new page types

HOW TO REQUEST: "Refine: [Describe specifically]"


---

# Appendix: Quick Reference

## A. Font Pairings

EDITORIAL (Blog): • Headings: Instrument Serif, Playfair Display • Body: Source Serif Pro, Lora, Merriweather

CLEAN (Docs): • Headings: Geist Sans, DM Sans, Inter • Body: Same as headings • Code: Geist Mono, JetBrains Mono, Fira Code

MIXED (Blog + Docs): • Headings: DM Serif Display • Body: DM Sans • Code: JetBrains Mono


## B. SEO Checklist

REQUIRED:

  • Title tag unique per page
  • Meta description (150-160 chars)
  • H1 tag present (only one)
  • Open Graph tags
  • Twitter card tags
  • Canonical URL
  • Semantic HTML

NICE TO HAVE:

  • Structured data (JSON-LD)
  • Sitemap.xml
  • robots.txt

## C. Reading Experience Rules

TYPOGRAPHY: • Body: 18px+ (blog), 16px+ (docs) • Line-height: 1.7-1.9 • Line-length: 45-75 characters (~680px) • Paragraph spacing: 1.5em

CONTRAST: • Text: >= 7:1 ratio (WCAG AAA) • Large text: >= 4.5:1 ratio

LINKS: • Must be distinguishable from text • Underline OR color + style change • Visited state different from unvisited

HEADINGS: • Clear hierarchy (h1 > h2 > h3) • Consistent spacing • Skip to content link for accessibility


## D. Sample Content Structure

```markdown
# Blog Post Sample

---
title: "[Post Title]"
date: "2024-01-15"
author: "[Author Name]"
category: "[Category]"
excerpt: "[150 char excerpt]"
---

Introduction paragraph that hooks the reader...

## First Main Point

Content with supporting details...

### Subpoint

More details...

## Second Main Point

Continue with valuable content...

## Conclusion

Wrap up and call to action...

Remember: 80% proven patterns + 20% user context = Perfect content site

Weekly Installs
2
GitHub Stars
15
First Seen
Feb 27, 2026
Installed on
opencode2
gemini-cli2
codebuddy2
github-copilot2
codex2
kimi-cli2