# Blog Post Drafting

Guides a blog post from research and outline through versioned drafts.

- Repository: https://github.com/luongnv89/claude-howto (46363 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-10-29
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add luongnv89/claude-howto --skill blog-draft -g -a claude-code -y`
Codex: `npx skills add luongnv89/claude-howto --skill blog-draft -g -a codex -y`
Cursor: `npx skills add luongnv89/claude-howto --skill blog-draft -g -a cursor -y`
Gemini CLI: `npx skills add luongnv89/claude-howto --skill blog-draft -g -a gemini-cli -y`

## Description

Draft a blog post from ideas and resources. Use when users want to write a blog post, create content from research, or draft articles. Guides through research, brainstorming, outlining, and iterative drafting with version control.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## User Input

```text
$ARGUMENTS
```

You **MUST** consider the user input before proceeding. User should provide:
- **Idea/Topic**: The main concept or theme for the blog post
- **Resources**: URLs, files, or references to research (optional but recommended)
- **Target audience**: Who the blog post is for (optional)
- **Tone/Style**: Formal, casual, technical, etc. (optional)

**IMPORTANT**: If the user is requesting updates to an **existing blog post**, skip steps 0-8 and start directly at **Step 9**. Read the existing draft file(s) first, then proceed with the iteration process.

## Execution Flow

Follow these steps sequentially. **Do not skip steps or proceed without user approval where indicated.**

### Step 0: Create Project Folder

1. Generate a folder name using format: `YYYY-MM-DD-short-topic-name`
   - Use today's date
   - Create a short, URL-friendly slug from the topic (lowercase, hyphens, max 5 words)

2. Create the folder structure:
   ```
   blog-posts/
   └── YYYY-MM-DD-short-topic-name/
       └── resources/
   ```

3. Confirm folder creation with user before proceeding.

### Step 1: Research & Resource Collection

1. Create `resources/` subfolder in the blog post directory

2. For each provided resource:
   - **URLs**: Fetch and save key information to `resources/` as markdown files
   - **Files**: Read and summarize in `resources/`
   - **Topics**: Use web search to gather up-to-date information

3. For each resource, create a summary file in `resources/`:
   - `resources/source-1-[short-name].md`
   - `resources/source-2-[short-name].md`
   - etc.

4. Each summary should include:
   ```markdown
   # Source: [Title/URL]

   ## Key Points
   - Point 1
   - Point 2

   ## Relevant Quotes/Data
   - Quote or statistic 1
   - Quote or statistic 2

   ## How This Relates to Topic
   Brief explanation of relevance
   ```

5. Present research summary to user.

### Step 2: Brainstorm & Clarify

The rest: https://github.com/luongnv89/claude-howto/blob/HEAD/03-skills/blog-draft/SKILL.md
