5.2 KiB
name, description
| name | description |
|---|---|
| myblog-blog-writer | Use when creating or updating Chinese VuePress Theme Hope blog posts for the MyBlog repository from a topic, including choosing the right content directory, drafting frontmatter, writing the article, updating sidebars when needed, and validating the build. |
MyBlog Blog Writer
Use this skill when the user asks to write a MyBlog article from a topic, place a post in the right category, generate a VuePress blog draft, or update an existing MyBlog post.
Repository checks
- Work in
/home/liumangmang/GiteaRepos/LiuMangMang/MyBlogor confirm the current repository haspackage.json,src/.vuepress/config.ts, andsrc/.vuepress/sidebar.ts. - Respect
AGENTS.md: VuePress v2, VuePress Theme Hope, TypeScript, Chinese zh-CN content, 2-space indentation, single quotes in TS. - Do not modify unrelated user changes. Check
git status --shortbefore editing.
Planning helper
Run the bundled planner before creating a new article:
python3 .codex/skills/myblog-blog-writer/scripts/plan_article.py "文章主题"
Use the JSON result as a draft, then apply judgment from the existing tree and nearby posts. If needs_confirmation is true, ask the user which target directory to use before writing the article.
New category strategy
- Prefer existing directories when the topic clearly matches one.
- If the topic does not fit an existing directory, create a new subcategory under an existing top-level section. Do not create new top-level sections by default.
- Allowed top-level targets for new subcategories:
src/programming/src/apps/src/tools/src/work/src/ai/
- For low-confidence matches, choose the most suitable top-level section from the topic and create a
kebab-casesubdirectory there. Only setneeds_confirmationwhen multiple top-level sections are equally reasonable. - New subcategory directory names should be
kebab-case. Chinese names are allowed, but do not include spaces or special symbols. - Put the first article in the new subcategory directory. The article filename should still be generated from the article topic.
- Create
README.mdin every new subcategory using VuePress Catalog format:
---
title: 自然中文分类名
index: false
icon: fa6-solid:file-lines
category:
- 分类
---
<Catalog />
- The README title should be natural Chinese and does not need to match the slug.
- Default placement for unknown subcategories:
- Technical/development/framework topics:
src/programming/<topic-slug>/ - Tools, productivity, clients:
src/tools/<topic-slug>/ - Self-hosted services and deployment:
src/apps/<topic-slug>/ - Work records, business, delivery:
src/work/project-summary/<topic-slug>/ - AI, models, agents:
src/ai/<topic-slug>/
- Technical/development/framework topics:
- If a new category is under
src/ai/, inspect and updatesrc/.vuepress/sidebar.tsbecause the AI sidebar is hand-written. - Other sections generally use
children: 'structure'; creating the directory andREADME.mdis usually enough.
Directory heuristics
- AI tools, LLM, Agent, Codex, Claude, OpenCode, ChatGPT:
src/ai/ - Docker, container images, Compose:
src/programming/docker/ - Java, Spring, Maven, JDK:
src/programming/backend/java/功能整理/ - Go, Gin, GORM, concurrency: match a subdirectory under
src/programming/backend/go/ - Linux, Mint, SSH, Nginx, VNC, system configuration: match a subdirectory under
src/programming/linux/ - Vue, frontend, CSS, HTML, VSCode, Cursor: match a subdirectory under
src/programming/frontend/ - Self-hosted services, Jellyfin, RustDesk, NAS apps:
src/apps/ - Windows tools, Scoop, WSL, MobaXterm, Google/Gitee tools:
src/tools/ - Work summaries, delivery notes, permissions, business records:
src/work/project-summary/
Research
Browse or otherwise verify current information before writing about topics that change over time, especially AI products, software versions, installation steps, deployment commands, pricing, APIs, or package names. Prefer official docs and release pages for technical facts.
Article format
Use Markdown with YAML frontmatter:
---
title: 文章标题
icon: fa6-solid:file-lines
date: YYYY-MM-DD
category:
- 分类
tag:
- 标签
---
Every new article must include <!-- more --> after the opening summary. Write in Chinese, in a practical notes/tutorial style. Prefer this shape unless the topic demands otherwise:
- Background or problem
- Applicable scenario
- Step-by-step process
- Common commands or configuration snippets
- Troubleshooting
- Summary
Keep headings clear and concrete. Match nearby posts for naming, tone, and icon style.
Sidebar rules
- Most areas use
children: 'structure'; no sidebar edit is needed there. src/ai/currently has hand-written sidebar entries insrc/.vuepress/sidebar.ts. Add new AI posts to the appropriate group when needed.- If the planner marks
requires_sidebar_update, inspectsrc/.vuepress/sidebar.tsbefore editing.
Validation
After modifying blog content or sidebar config, run:
npm run docs:build
If the build cannot run, report the exact blocker. For large or uncertain changes, run npm run docs:dev or npm run docs:clean-dev when useful.