用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/ForceInjection/domain-driven-design-skills --skill manage-blog命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | manage-blog |
| description | Use when user wants to review, edit, expand, or publish draft blog posts |
Review pending draft posts, flesh them out, and publish when ready.
/blog or wants to review draftsThis 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 are located 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 are your blog posts located?
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.
Scan the blog directory for posts with draft: true:
cd {BLOG_CONTENT_DIR}
grep -l "draft: true" *.md 2>/dev/null
For each draft, extract metadata:
# Get title and date from frontmatter
head -10 {file}.md
Show the user pending drafts:
Found {N} draft posts:
1. {title} ({date})
Tags: {tags}
File: {filename}
2. {title} ({date})
Tags: {tags}
File: {filename}
...
Which would you like to work on? (enter number, or 'q' to quit)
If no drafts found:
No draft posts found. Use /note from any project to create one.
When user selects a draft, read the full content and show:
Selected: {title}
Current content:
---
{show current post content}
---
What would you like to do?
1. Expand - Add more content and detail
2. Edit - Make specific changes
3. Publish - Set draft: false and commit
4. Delete - Remove this draft
5. Back - Return to draft list
draft: true to draft: falsecd {BLOG_CONTENT_DIR}
git add {filename}
git commit -m "post: {title}"
git push
Output:
Published: {title}
Location: {BLOG_CONTENT_DIR}/{filename}
Committed and pushed to main.
cd {BLOG_CONTENT_DIR}
rm {filename}
git add -A .
git commit -m "remove draft: {title}"
After each action, ask:
Would you like to work on another draft? (y/n)
If yes, return to Step 2.
Before publishing, ensure:
/blog
Found 2 draft posts:
1. ESM vs CommonJS Dynamic Imports (2025-12-31)
Tags: import-magic, javascript
File: esm-commonjs-dynamic-imports.md
2. Building with Claude Max (2025-12-30)
Tags: claude, productivity
File: building-with-claude-max.md
Which would you like to work on? 1
Selected: ESM vs CommonJS Dynamic Imports
[shows current content]
What would you like to do?
1. Expand
2. Edit
3. Publish
4. Delete
5. Back
> 3
Updating draft status...
Published: ESM vs CommonJS Dynamic Imports
URL: https://builtby.win/ston/blog/2025-12-31/esm-commonjs-dynamic-imports
Would you like to work on another draft? n
Done! Your post is now live.
BLOG_CONTENT_DIR in your CLAUDE.md for convenience