| name | blog-writer |
| description | 帮助用户按照 astro-koharu 博客的规范创建新博文。自动生成正确的 frontmatter 结构、选择合适的分类路径,并提供 Markdown 内容框架建议。使用场景:写一篇博文、创建新文章、写文章、写博客、new post、create blog post。 |
Blog Writer Skill
帮助用户按照 astro-koharu 博客的规范创建新博文。
你的任务
当用户请求创建新博文时:
收集必要信息(如果用户未提供):
- 文章标题
- 文章分类(从下面的分类列表中选择)
- 文章主题/关键词(用于生成标签和描述)
生成 frontmatter:
--- title: [文章标题] link: [URL slug,使用英文短横线分隔] catalog: true date: [当前日期时间,格式:YYYY-MM-DD HH:mm:ss] description: [一句话描述文章内容,50-100字] tags: - [相关标签1] - [相关标签2] - [相关标签3] categories: - [一级分类, 二级分类] ---分类格式说明:
- 嵌套分类使用数组格式:
- [一级分类, 二级分类] - 例如:
- [笔记, 前端]会创建 URL/categories/note/front-end和面包屑 "笔记 → 前端" - 单个分类直接写分类名:
categories: 随笔
- 嵌套分类使用数组格式:
确定文件路径:
- 基础路径:
src/content/blog/ - 根据分类生成对应的子目录结构
- 文件名:使用
link字段值 +.md扩展名
- 基础路径:
生成 Markdown 内容框架:
- 提供文章结构建议(引言、正文章节、总结等)
- 如果适合,建议使用 infographic 信息图
- 提供代码示例占位符(如果是技术文章)
分类系统
一级分类及其子分类
笔记 (note/)
- 前端 (front-end/)
- React
- Vue
- TypeScript
- CSS
- 性能优化
- 后端 (back-end/) - 如果需要使用,确保已在
_config.yml中添加映射 - 其他新增子分类 - 需要先在
_config.yml添加映射
- 前端 (front-end/)
工具 (tools/)
- 开发工具
- 效率工具
- 使用指南
随笔 (life/)
- 生活随笔
- 年度总结
- 读书笔记
周刊 (weekly/)
- 技术周刊
- 每周分享
分类映射规则
YAML 格式(重要):
# 嵌套分类(推荐)- 使用数组包裹
categories:
- [笔记, 前端]
# 单个分类 - 直接写分类名
categories: 随笔
URL 和路径映射:
categories: 随笔→ URL:/categories/life→ 文件路径:src/content/blog/life/categories: - [笔记, 前端]→ URL:/categories/note/front-end→ 文件路径:src/content/blog/note/front-end/categories: - [笔记, 前端, CSS]→ URL:/categories/note/front-end→ 文件路径:src/content/blog/note/front-end/(三级分类作为标签)
注意:
- 嵌套分类必须使用
- [一级, 二级]格式 - 分类名称(中文)会映射到 URL slug(英文),映射关系见上方分类列表
新增分类
如果用户需要创建上述分类之外的新分类,需要:
更新
_config.yml:category_map: # 一级分类 随笔: life 笔记: note 工具: tools 周刊: weekly # 二级分类 前端: front-end 后端: back-end # 新增示例 # 添加新分类映射 新分类名: new-category-slug创建对应目录:
- 在
src/content/blog/下创建对应的目录结构 - 例如:新增"后端"分类需要创建
src/content/blog/note/back-end/
- 在
提醒用户:
- 告知用户已添加新分类映射到
_config.yml - 说明新分类的 URL 路径
- 告知用户已添加新分类映射到
文件命名规范
- 使用英文小写字母
- 单词间用短横线
-分隔 - 避免特殊字符
- 例如:
react-hooks-guide.md,astro-blog-setup.md
内容建议
技术文章结构
## 背景/问题
[描述要解决的问题或技术背景]
## 解决方案
[详细说明解决方法]
### 关键技术点1
[技术细节和代码示例]
### 关键技术点2
[技术细节和代码示例]
## 实践效果
[实际应用效果、性能对比等]
## 总结
[总结要点和经验]
工具/指南类文章结构
## 简介
[工具/方法简介]
## 安装/准备
[安装步骤或前置条件]
## 基本使用
[基础用法和示例]
## 高级功能
[进阶功能和技巧]
## 实用技巧
[最佳实践和注意事项]
## 总结
[总结和资源链接]
随笔类文章结构
## 引言
[开场白,引出话题]
## 正文
[多个段落展开论述]
## 感悟/总结
[个人思考和总结]
Infographic 使用建议
根据文章类型,建议使用信息图的场景:
- 列表信息(技术栈、功能特性)→
list-grid-badge-card - 流程步骤(安装步骤、开发流程)→
sequence-zigzag-steps-underline-text - 对比分析(技术对比、优缺点)→
compare-binary-horizontal-simple-fold - 统计数据(性能对比、用量统计)→
chart-column-simple或chart-bar-plain-text - 层级结构(目录结构、知识体系)→
hierarchy-tree-tech-style-capsule-item
最后步骤
创建完博文后:
如果添加了新分类:
- 确认已更新
_config.yml中的category_map - 确认已创建对应的目录结构
- 告知用户新分类的 URL 路径
- 确认已更新
运行检查:
- 运行
pnpm dev在本地预览 - 运行
pnpm lint:fix检查格式
- 运行
后续建议:
- 提醒用户可以使用 infographic skills 添加信息图
- 如果需要,提供相关文章推荐的建议(基于 tags)
示例对话
示例 1:使用现有分类
用户:写一篇关于 React Hooks 使用技巧的文章
你应该:
- 确认分类:笔记 > 前端 > React
- 生成文件路径:
src/content/blog/note/front-end/react-hooks-best-practices.md - 创建包含完整 frontmatter 的文件(使用
- [笔记, 前端]分类格式) - 提供文章结构框架
- 建议在"常用 Hooks 对比"部分使用
list-grid-badge-card信息图 - 建议在"Hooks 使用流程"部分使用
sequence-zigzag-steps-underline-text信息图
示例 2:需要新增分类
用户:写一篇关于 Node.js 后端开发的文章
你应该:
- 发现"后端"分类不在现有分类列表中
- 询问用户是否要添加"后端"分类
- 如果用户同意:
- 更新
_config.yml,添加后端: back-end - 创建目录
src/content/blog/note/back-end/ - 生成文章文件
src/content/blog/note/back-end/nodejs-development.md - frontmatter 使用
- [笔记, 后端]分类格式
- 更新
- 告知用户:
- 新分类已添加到
_config.yml - URL 路径为
/categories/note/back-end - 已创建对应目录结构
- 新分类已添加到