tuzi-format-markdown
Original:🇺🇸 English
Translated
3 scriptsChecked / no sensitive code detected
格式化纯文本或 Markdown 文件,添加 frontmatter、标题、摘要、小标题、加粗、列表和代码块。当用户要求"格式化markdown"、"美化文章"、"添加格式"或改善文章排版时使用。输出到 {filename}-formatted.md。
6installs
Sourcetuziapi/tuzi-skills
Added on
NPX Install
npx skill4agent add tuziapi/tuzi-skills tuzi-format-markdownTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Markdown Formatter
Transforms plain text or markdown files into well-structured markdown with proper frontmatter, formatting, and typography.
Script Directory
Scripts in subdirectory. Replace with this SKILL.md's directory path.
scripts/${SKILL_DIR}| Script | Purpose |
|---|---|
| Main entry point with CLI options (uses remark-cjk-friendly for CJK emphasis) |
| Replace ASCII quotes with fullwidth quotes |
| Add CJK/English spacing via autocorrect |
Preferences (EXTEND.md)
Use Bash to check EXTEND.md existence (priority order):
bash
# Check project-level first
test -f .tuzi-skills/tuzi-format-markdown/EXTEND.md && echo "project"
# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
test -f "$HOME/.tuzi-skills/tuzi-format-markdown/EXTEND.md" && echo "user"┌──────────────────────────────────────────────────────────┬───────────────────┐
│ Path │ Location │
├──────────────────────────────────────────────────────────┼───────────────────┤
│ .tuzi-skills/tuzi-format-markdown/EXTEND.md │ Project directory │
├──────────────────────────────────────────────────────────┼───────────────────┤
│ $HOME/.tuzi-skills/tuzi-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
Usage
Claude performs content analysis and formatting (Steps 1-6), then runs the script for typography fixes (Step 7).
Workflow
Step 1: Read Source File
Read the user-specified markdown or plain text file.
Step 1.5: Detect Content Type & Confirm
Content Type Detection:
| Indicator | Classification |
|---|---|
Has | Markdown |
Has | Markdown |
Has | Markdown |
Has | Markdown |
| Has ``` code blocks | Markdown |
Has | 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 directlyBased on user choice:
- Optimize: Continue to Step 2-8 (full workflow)
- Keep original: Skip Steps 2-5, copy file → Step 6-8 (run script on copy)
- Typography only: Skip Steps 2-6, run Step 7 on original file directly
Step 2: Analyze Content Structure
Identify:
- Existing title (H1 )
# - Paragraph separations
- Keywords suitable for bold
- Parallel content convertible to lists
- Code snippets
- Quotations
Step 3: Check/Create Frontmatter
Check for YAML frontmatter ( block). Create if missing.
---Meta field handling:
| Field | Processing |
|---|---|
| See Step 4 |
| Infer from file path (e.g., |
| Generate engaging summary (100-150 characters) |
| Check if |
Step 4: Title Handling
Logic:
- If frontmatter already has → use it, no H1 in body
title - If first line is H1 → extract to frontmatter , remove H1 from body
title - If neither exists → generate candidate titles
Title generation flow:
- Generate 3 candidate titles based on content
- Use tool:
AskUserQuestion
Select a title:
1. [Title A] (Recommended)
2. [Title B]
3. [Title C]- If no selection within a few seconds, use recommended (option 1)
Title principles:
- Concise, max 20 characters
- Captures core message
- Engaging, sparks reading interest
- Accurate, avoids clickbait
Important: Once title is in frontmatter, body should NOT have H1 (avoid duplication)
Step 5: Format Processing
Formatting rules:
| Element | Format |
|---|---|
| Titles | Use |
| Key points | Use |
| Parallel items | Convert to |
| Code/commands | Use |
| Quotes/sayings | Use |
| Separators | Use |
Formatting principles:
- Preserve original content and viewpoints
- Add formatting only, do not modify text
- Formatting serves readability
- Avoid over-formatting
Step 6: Save Formatted File
Save as
{original-filename}-formatted.mdExamples:
- →
final.mdfinal-formatted.md - →
draft-v1.mddraft-v1-formatted.md
If user chose "Keep original formatting" (from Step 1.5):
- Copy original file to without modifications
{filename}-formatted.md - Proceed to Step 7 for typography fixes only
Backup existing file:
If already exists, backup before overwriting:
{filename}-formatted.mdbash
# 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"
fiExample:
- exists → backup to
final-formatted.mdfinal-formatted.backup-20260128-143052.md
Step 7: Execute Text Formatting Script
After saving, must run the formatting script:
bash
npx -y bun ${SKILL_DIR}/scripts/main.ts {output-file-path} [options]Script Options:
| Option | Short | Description | Default |
|---|---|---|---|
| | Replace ASCII quotes with fullwidth quotes | false |
| Do not replace quotes | ||
| | Add CJK/English spacing via autocorrect | true |
| Do not add CJK/English spacing | ||
| | Fix CJK emphasis punctuation issues | true |
| Do not fix CJK emphasis issues | ||
| | Show help message |
Examples:
bash
# 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-emphasisScript performs (based on options):
- Fix CJK emphasis/bold punctuation issues (default: enabled)
- Add CJK/English mixed text spacing via autocorrect (default: enabled)
- Replace ASCII quotes with fullwidth quotes
"..."(default: disabled)"..." - Format frontmatter YAML (always enabled)
Step 8: Display Results
**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 blocksFormatting Example
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:
markdown
---
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.Notes
- Preserve original writing style and tone
- Specify correct language for code blocks (e.g., ,
python)javascript - Maintain CJK/English spacing standards
- Do not add content not present in original
Extension Support
Custom configurations via EXTEND.md. See Preferences section for paths and supported options.