Use when user wants to capture learnings, document insights, or create a draft blog post from their current project
Creates draft blog posts from project learnings, triggered by `/note` or when documenting insights. Requires `BLOG_CONTENT_DIR` configuration in CLAUDE.md.
/plugin marketplace add builtby-win/skills/plugin install note@builtby-win-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Create a draft blog post from learnings in any project, saved to your blog.
/note or wants to document somethingThis skill requires BLOG_CONTENT_DIR to be set in your CLAUDE.md:
## Blog Configuration
BLOG_CONTENT_DIR=/path/to/your/blog/content/directory
Example: BLOG_CONTENT_DIR=/Users/you/portfolio/src/content/blog
If not configured: Ask the user where their blog markdown files should be saved before proceeding.
First, check if BLOG_CONTENT_DIR is set in the project's or user's CLAUDE.md.
If NOT set, ask the user:
Where should blog posts be saved?
Please provide the absolute path to your blog content directory
(e.g., /Users/you/site/content/blog)
You can also add this to your CLAUDE.md to skip this prompt:
BLOG_CONTENT_DIR=/your/path/here
Store their answer and use it for the rest of the session.
Ask the user:
Identify the current project to tag the post:
# Get project name from current directory
basename $(pwd)
# Or from git remote
git remote get-url origin 2>/dev/null | sed 's/.*\///' | sed 's/\.git$//'
Convert the title to a URL-friendly slug:
Example: "How to use Astro Content Collections" -> astro-content-collections
Create the file at:
{BLOG_CONTENT_DIR}/{slug}.md
Template:
---
title: "{title}"
date: {YYYY-MM-DD}
description: "{description}"
tags: ["{project-name}", ...other-tags]
draft: true
---
{User's content here}
{Any code snippets with proper language fencing}
{Context about why this is interesting/useful}
Show the user:
Created draft: {slug}.md
Title: {title}
Tags: {tags}
Location: {BLOG_CONTENT_DIR}/{slug}.md
Would you like to commit this draft? (y/n)
If yes, commit to the blog repo:
cd {BLOG_CONTENT_DIR}
git add {slug}.md
git commit -m "draft: {title}"
Required fields:
title (string) - Post titledate (date) - YYYY-MM-DD formatdraft (boolean) - Always true for new notesOptional fields:
description (string) - Brief summarytags (string[]) - Array of tagsUser is working on import-magic and says /note:
> What did you learn?
"How to handle ESM vs CommonJS imports dynamically"
> Brief description?
"A technique for detecting and handling both module systems"
> Any code to include?
[user pastes code]
> Tags? (suggesting: import-magic, javascript)
"javascript, esm, commonjs"
Creates {BLOG_CONTENT_DIR}/esm-commonjs-dynamic-imports.md:
---
title: "How to handle ESM vs CommonJS imports dynamically"
date: 2025-12-31
description: "A technique for detecting and handling both module systems"
tags: ["import-magic", "javascript", "esm", "commonjs"]
draft: true
---
[Content here...]
draft: true - use /blog from portfolio to publish/blog