Use when user wants to capture learnings, document insights, or create a draft blog post from their current project
Scanned 2/12/2026
Install to Claude Code
npx -y skills add majiayu000/claude-skill-registry --skill create-note --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Create Note?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-create-note)More formats (shields.io, HTML) on the badges page.
---
name: create-note
description: Use when user wants to capture learnings, document insights, or create a draft blog post from their current project
---
# Create Note - Draft Blog Post
Create a draft blog post from learnings in any project, saved to your blog.
## When to Use
- User says `/note` or wants to document something
- User discovered something interesting while coding
- User solved a tricky problem worth sharing
- User wants to capture context for a future blog post
## Configuration
This skill requires `BLOG_CONTENT_DIR` to be set in your `CLAUDE.md`:
```markdown
## 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.
## Workflow
### Step 0: Check Configuration
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.
### Step 1: Gather Information
Ask the user:
1. **What did you learn or want to document?** (becomes the title)
2. **Can you give a brief description?** (1-2 sentences for the description field)
3. **Any code snippets or examples to include?** (optional)
4. **What tags apply?** (suggest based on project context)
### Step 2: Determine Project Context
Identify the current project to tag the post:
```bash
# 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$//'
```
### Step 3: Generate Slug
Convert the title to a URL-friendly slug:
- Lowercase
- Replace spaces with hyphens
- Remove special characters
- Keep it concise (3-5 words ideal)
Example: "How to use Astro Content Collections" -> `astro-content-collections`
### Step 4: Create Blog Post
Create the file at:
```
{BLOG_CONTENT_DIR}/{slug}.md
```
**Template:**
```markdown
---
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}
```
### Step 5: Confirm and Optionally Commit
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:
```bash
cd {BLOG_CONTENT_DIR}
git add {slug}.md
git commit -m "draft: {title}"
```
## Frontmatter Schema
Required fields:
- `title` (string) - Post title
- `date` (date) - YYYY-MM-DD format
- `draft` (boolean) - Always `true` for new notes
Optional fields:
- `description` (string) - Brief summary
- `tags` (string[]) - Array of tags
## Example
User 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`:
```markdown
---
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...]
```
## Notes
- Always set `draft: true` - use `/blog` from portfolio to publish
- Include the source project as a tag for easy filtering
- Keep the initial draft concise - can flesh out later with `/blog`
No comments yet. Be the first to comment!