/blog:post
Create a blog post about your work with minimal friction. Gathers context automatically and provides structured templates to reduce blank-page anxiety.
When to Use This Skill
| Use this skill when... |
Use alternative when... |
| Capturing work quickly into a blog post |
Need detailed documentation -> Project wiki/docs |
| Want templates to reduce blank-page anxiety |
Writing a technical tutorial -> /blog:post tutorial |
| Need git context auto-populated |
Creating portfolio summary -> Different workflow |
Context
- Blog directory: !
find . -maxdepth 1 -type d \( -name blog -o -name posts -o -name _posts \) -print -quit
- Git remotes: !
git remote -v
- Recent commits: !
git rev-list --count --since="7 days ago" HEAD
- Current branch: !
git branch --show-current
Parameters
Parse $ARGUMENTS for:
type: Post type (quick-update, project-update, retrospective, tutorial, deep-dive)
- If not provided, ask user to select
--project <name>: Specify project name (default: detected from git)
--title <title>: Specify post title (default: ask user)
--edit: Open in editor after creation (default: show filepath)
Execution
Execute this blog post creation workflow:
Step 1: Gather context
Detect project name and recent git history:
- Use
git log to get recent commits
- Extract project name from git remote or directory
- If blog directory doesn't exist, ask where to save posts
Step 2: Determine post type
If type argument not provided, ask user to select from five options:
- Quick Update (5-15 min)
- Project Update (20-45 min)
- Retrospective (45-90 min)
- Tutorial (1-3 hours)
- Deep Dive (2-5 hours)
Step 3: Ask targeted questions based on post type
For each type, ask 1-2 focused questions:
- Quick Update: "What did you just do?"
- Project Update: "Main accomplishment?" and "What was interesting?"
- Retrospective: "What period/project?" and "One thing to remember?"
- Tutorial: "What are you teaching?" and "Why document this?"
- Deep Dive: "What topic?" and "Key insight to share?"
Step 4: Generate post file
- Determine where to save (blog directory, ~/blog/, or custom path)
- Generate filename:
YYYY-MM-DD-<slugified-title>.md
- Create file with frontmatter:
date: Today
project: Detected or specified
type: Selected type
status: draft
- Pre-fill content sections with placeholders and git context as comments
Step 5: Offer writing assistance
Ask what user would like to do:
- "Help me write it" → Walk through each section interactively
- "I'll write it myself" → Show filepath
- "Add more context" → Pull more git history and files for reference
Step 6: Finalize post
- Present review checklist (title, content, tags, next steps)
- Ask: "Is this post ready to publish?" (draft or published)
- Output summary with file path and quick actions
Agentic Optimizations
| Context |
Command |
| Get project name |
git remote get-url origin 2>/dev/null | sed 's/.*\///' | sed 's/\.git$//' |
| Recent commits |
git log --since="7 days ago" --format="%h %s" 2>/dev/null | head -10 |
| Find blog directory |
ls -d blog/ posts/ content/blog/ content/posts/ _posts/ 2>/dev/null | head -1 |
| Current date |
date +%Y-%m-%d |
| Get today's commits |
git log --since="1 day ago" --format="- %s" 2>/dev/null |
Quick Reference
| Post Type |
Time |
Use Case |
| Quick Update |
5-15 min |
Small wins, log entries |
| Project Update |
20-45 min |
Milestone, feature complete |
| Retrospective |
45-90 min |
Reflection on period/project |
| Tutorial |
1-3 hours |
Teach how to do something |
| Deep Dive |
2-5 hours |
Explain complex concepts |
1---
2name: blog-post
3description: Create a blog post via guided prompts with git context auto-populated. Use when writing a quick update, retrospective, tutorial, deep dive, or devlog entry.
4args: "[type] [--project <name>] [--title <title>]"
5allowed-tools: Read, Write, Edit, Grep, Glob, Bash(hugo *), Bash(date *), TodoWrite, AskUserQuestion
6argument-hint: "quick-update | project-update | retrospective | tutorial | deep-dive"
7disable-model-invocation: true
8created: 2026-01-10
9modified: 2026-05-09
10reviewed: 2026-02-14
11---
12
13# /blog:post
14
15Create a blog post about your work with minimal friction. Gathers context automatically and provides structured templates to reduce blank-page anxiety.
16
17## When to Use This Skill
18
19| Use this skill when... | Use alternative when... |
20|------------------------|--------------------------|
21| Capturing work quickly into a blog post | Need detailed documentation -> Project wiki/docs |
22| Want templates to reduce blank-page anxiety | Writing a technical tutorial -> `/blog:post tutorial` |
23| Need git context auto-populated | Creating portfolio summary -> Different workflow |
24
25## Context
26
27- Blog directory: !`find . -maxdepth 1 -type d \( -name blog -o -name posts -o -name _posts \) -print -quit`
28- Git remotes: !`git remote -v`
29- Recent commits: !`git rev-list --count --since="7 days ago" HEAD`
30- Current branch: !`git branch --show-current`
31
32## Parameters
33
34Parse `$ARGUMENTS` for:
35
36- `type`: Post type (quick-update, project-update, retrospective, tutorial, deep-dive)
37 - If not provided, ask user to select
38- `--project <name>`: Specify project name (default: detected from git)
39- `--title <title>`: Specify post title (default: ask user)
40- `--edit`: Open in editor after creation (default: show filepath)
41
42## Execution
43
44Execute this blog post creation workflow:
45
46### Step 1: Gather context
47
48Detect project name and recent git history:
49
501. Use `git log` to get recent commits
512. Extract project name from git remote or directory
523. If blog directory doesn't exist, ask where to save posts
53
54### Step 2: Determine post type
55
56If type argument not provided, ask user to select from five options:
57
58- Quick Update (5-15 min)
59- Project Update (20-45 min)
60- Retrospective (45-90 min)
61- Tutorial (1-3 hours)
62- Deep Dive (2-5 hours)
63
64### Step 3: Ask targeted questions based on post type
65
66For each type, ask 1-2 focused questions:
67- Quick Update: "What did you just do?"
68- Project Update: "Main accomplishment?" and "What was interesting?"
69- Retrospective: "What period/project?" and "One thing to remember?"
70- Tutorial: "What are you teaching?" and "Why document this?"
71- Deep Dive: "What topic?" and "Key insight to share?"
72
73### Step 4: Generate post file
74
751. Determine where to save (blog directory, ~/blog/, or custom path)
762. Generate filename: `YYYY-MM-DD-<slugified-title>.md`
773. Create file with frontmatter:
78 - `date`: Today
79 - `project`: Detected or specified
80 - `type`: Selected type
81 - `status`: draft
824. Pre-fill content sections with placeholders and git context as comments
83
84### Step 5: Offer writing assistance
85
86Ask what user would like to do:
87- "Help me write it" → Walk through each section interactively
88- "I'll write it myself" → Show filepath
89- "Add more context" → Pull more git history and files for reference
90
91### Step 6: Finalize post
92
931. Present review checklist (title, content, tags, next steps)
942. Ask: "Is this post ready to publish?" (draft or published)
953. Output summary with file path and quick actions
96
97## Agentic Optimizations
98
99| Context | Command |
100|---------|---------|
101| Get project name | `git remote get-url origin 2>/dev/null \| sed 's/.*\///' \| sed 's/\.git$//'` |
102| Recent commits | `git log --since="7 days ago" --format="%h %s" 2>/dev/null \| head -10` |
103| Find blog directory | `ls -d blog/ posts/ content/blog/ content/posts/ _posts/ 2>/dev/null \| head -1` |
104| Current date | `date +%Y-%m-%d` |
105| Get today's commits | `git log --since="1 day ago" --format="- %s" 2>/dev/null` |
106
107## Quick Reference
108
109| Post Type | Time | Use Case |
110|-----------|------|----------|
111| Quick Update | 5-15 min | Small wins, log entries |
112| Project Update | 20-45 min | Milestone, feature complete |
113| Retrospective | 45-90 min | Reflection on period/project |
114| Tutorial | 1-3 hours | Teach how to do something |
115| Deep Dive | 2-5 hours | Explain complex concepts |