by jimliu
将纯文本和 markdown 文件转换为结构良好的文档,包含正确的前 matter、排版和格式。输出干净的、可发布的 markdown,支持 CJK 语言。
1. 打开 Claude 聊天界面
2. 点击下方 "📋 复制" 按钮
3. 粘贴到 Claude 聊天框中并发送
4. 输入 "使用 baoyu-format-markdown 技能" 开始使用
=== baoyu-format-markdown 技能 === 作者: jimliu 描述: 将纯文本和 markdown 文件转换为结构良好的文档,包含正确的前 matter、排版和格式。输出干净的、可发布的 markdown,支持 CJK 语言。 使用方法: 1. 调用技能: "使用 baoyu-format-markdown 技能" 2. 提供相关信息: 根据技能要求提供必要参数 3. 查看结果: 技能会返回处理结果 示例: "使用 baoyu-format-markdown 技能,帮我分析一下这段代码"
这种方法适用于所有 Claude 用户,不需要安装额外工具。
documentation
low
Transforms plain text or markdown files into well-structured markdown with proper frontmatter, formatting, and typography.
Scripts in scripts/ subdirectory. Replace ${SKILL_DIR} with this SKILL.md's directory path.
| Script | Purpose |
|---|---|
scripts/main.ts | Main entry point with CLI options (uses remark-cjk-friendly for CJK emphasis) |
scripts/quotes.ts | Replace ASCII quotes with fullwidth quotes |
scripts/autocorrect.ts | Add CJK/English spacing via autocorrect |
Use Bash to check EXTEND.md existence (priority order):
# Check project-level first
test -f .baoyu-skills/baoyu-format-markdown/EXTEND.md && echo "project"
# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
test -f "$HOME/.baoyu-skills/baoyu-format-markdown/EXTEND.md" && echo "user"
┌──────────────────────────────────────────────────────────┬───────────────────┐ │ Path │ Location │ ├──────────────────────────────────────────────────────────┼───────────────────┤ │ .baoyu-skills/baoyu-format-markdown/EXTEND.md │ Project directory │ ├──────────────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.baoyu-skills/baoyu-format-markdown/EXTEND.md │ User home │ └──────────────────────────────────────────────────────────┴───────────────────┘
┌───────────┬───────────────────────────────────────────────────────────────────────────┐ │ Result │ Action │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ Found │ Read, parse, apply settings │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ Not found │ Use defaults │ └───────────┴───────────────────────────────────────────────────────────────────────────┘
EXTEND.md Supports: Default formatting options | Summary length preferences
Claude performs content analysis and formatting (Steps 1-6), then runs the script for typography fixes (Step 7).
Read the user-specified markdown or plain text file.
Content Type Detection:
| Indicator | Classification |
|---|---|
Has --- YAML frontmatter | Markdown |
Has #, ##, ### headings | Markdown |
Has **bold**, *italic* | Markdown |
Has - or 1. lists | Markdown |
| Has ``` code blocks | Markdown |
Has > blockquotes | Markdown |
| None of above | Plain text |
Decision Flow:
┌─────────────────┬────────────────────────────────────────────────┐ │ Content Type │ Action │ ├─────────────────┼────────────────────────────────────────────────┤ │ Plain text │ Proceed to Step 2 (format to markdown) │ ├─────────────────┼────────────────────────────────────────────────┤ │ Markdown │ Use AskUserQuestion to confirm optimization │ └─────────────────┴────────────────────────────────────────────────┘
If Markdown detected, ask user:
Detected existing markdown formatting. What would you like to do?
1. Optimize formatting (Recommended)
- Add/improve frontmatter, headings, bold, lists
- Run typography script (spacing, emphasis fixes)
- Output: {filename}-formatted.md
2. Keep original formatting
- Preserve existing markdown structure
- Run typography script (spacing, emphasis fixes)
- Output: {filename}-formatted.md
3. Typography fixes only
- Run typography script on original file in-place
- No copy created, modifies original file directly
Based on user choice:
Identify:
#)Check for YAML frontmatter (--- block). Create if missing.
Meta field handling:
| Field | Processing |
|---|---|
title | See Step 4 |
slug | Infer from file path (e.g., posts/2026/01/10/vibe-coding/ → vibe-coding) or generate from title |
summary | Generate engaging summary (100-150 characters) |
coverImage | Check if imgs/cover.png exists in same directory; if so, use relative path (also accepted: featureImage) |
Logic:
title → use it, no H1 in bodytitle, remove H1 from bodyTitle generation flow:
AskUserQuestion tool:Select a title:
1. [Title A] (Recommended)
2. [Title B]
3. [Title C]
Title principles:
Important: Once title is in frontmatter, body should NOT have H1 (avoid duplication)
Formatting rules:
| Element | Format |
|---|---|
| Titles | Use #, ##, ### hierarchy |
| Key points | Use **bold** |
| Parallel items | Convert to - unordered or 1. ordered lists |
| Code/commands | Use `inline` or ```block``` |
| Quotes/sayings | Use > blockquote |
| Separators | Use --- where appropriate |
Formatting principles:
Save as {original-filename}-formatted.md
Examples:
final.md → final-formatted.mddraft-v1.md → draft-v1-formatted.mdIf user chose "Keep original formatting" (from Step 1.5):
{filename}-formatted.md without modificationsBackup existing file:
If {filename}-formatted.md already exists, backup before overwriting:
# Check if formatted file exists
if [ -f "{filename}-formatted.md" ]; then
# Backup with timestamp
mv "{filename}-formatted.md" "{filename}-formatted.backup-$(date +%Y%m%d-%H%M%S).md"
fi
Example:
final-formatted.md exists → backup to final-formatted.backup-20260128-143052.mdAfter saving, must run the formatting script:
npx -y bun ${SKILL_DIR}/scripts/main.ts {output-file-path} [options]
Script Options:
| Option | Short | Description | Default |
|---|---|---|---|
--quotes | -q | Replace ASCII quotes with fullwidth quotes "..." | false |
--no-quotes | Do not replace quotes | ||
--spacing | -s | Add CJK/English spacing via autocorrect | true |
--no-spacing | Do not add CJK/English spacing | ||
--emphasis | -e | Fix CJK emphasis punctuation issues | true |
--no-emphasis | Do not fix CJK emphasis issues | ||
--help | -h | Show help message |
Examples:
# Default: spacing + emphasis enabled, quotes disabled
npx -y bun ${SKILL_DIR}/scripts/main.ts article.md
# Enable all features including quote replacement
npx -y bun ${SKILL_DIR}/scripts/main.ts article.md --quotes
# Only fix emphasis issues, skip spacing
npx -y bun ${SKILL_DIR}/scripts/main.ts article.md --no-spacing
# Disable all processing except frontmatter formatting
npx -y bun ${SKILL_DIR}/scripts/main.ts article.md --no-spacing --no-emphasis
Script performs (based on options):
"..." with fullwidth quotes "..." (default: disabled)**Formatting complete**
File: posts/2026/01/09/example/final-formatted.md
Changes:
- Added title: [title content]
- Added X bold markers
- Added X lists
- Added X code blocks
Before:
This is plain text. First point is efficiency improvement. Second point is cost reduction. Third point is experience optimization. Use npm install to install dependencies.
After:
---
title: Three Core Advantages
slug: three-core-advantages
summary: Discover the three key benefits that drive success in modern projects.
---
This is plain text.
**Main advantages:**
- Efficiency improvement
- Cost reduction
- Experience optimization
Use `npm install` to install dependencies.
python, javascript)Custom configurations via EXTEND.md. See Preferences section for paths and supported options.
View Count
0
Download Count
0
Favorite Count
0
Quality Score
66