- name
- blog-polish-en-astro-cn
- description
- Polish and translate a technical blog draft into a 1000–1200 word, 4-5 section Markdown article in English and Simplified Chinese (zh-CN), preserving technical terms and code blocks. Then convert the English edition into Astro markdown compatible
- author
- Jeff Yang
- version
- 1.0.12
- tags
- [openclaw, clawhub, blog, polish, translate, linux, markdown]
- metadata
- openclaw
- requires
- ["jq"]
- platforms
- ["linux", "darwin"]
- entrypoint
- skill
- inputSchema
- type
- object
- properties
- draftPath
- type
- string
- description
- Path to the draft markdown file.
- default
- ~/.openclaw/workspace/contentDraft/latestDraft.md
- outputDir
- type
- string
- description
- Directory where polished file is saved.
- default
- ~/.openclaw/workspace/contentPolished/
- required
- ["draftPath", "outputDir"]
- outputSchema
- type
- object
- properties
- outputPath
- type
- string
- description
- Path to the final polished markdown file.
- required
- ["outputPath"]
- workflow
- description
- Set defaults and create timestamp
- run
- |
- description
- Check if draftPath exists
- run
- |
- description
- Create Astro-compatible slug from filename or title
- run
- |
- description
- Define output filename variable
- run
- |
- inputs
- ["draftPath"]
- outputs
- ["draftText"]
- description
- LLM: Polish grammar in English → Save to ${outputDir}/${ts}-${slug}_eng.md
- inputs
- ["draftText", "ts", "outputDir"]
- outputs
- ["outputPath"]
- llm
- true # or specific model
- set_output
- engOutputPath
- post
- |
- description
- LLM: Polish grammar in Simplified Chinese > Translate in Simplified → Save to ${outputDir}/${ts}-${slug}_chn.md
- inputs
- ["outputPath", "ts", "outputDir"]
- outputs
- ["outputPath"]
- llm
- true # or specific model
- set_output
- chnOutputPath
- post
- |
- description
- Inject standard Astro YAML header into polished file
- run
- |
title: "${title:-Generated by OpenClaw}" date: $(date -Iseconds) tags: ${tagsYAML} image: ./hero.png
$(cat "$polishedFile") EOF
mkdir -p "${outputDir}/${ts}-${slug}/images/" save_state outputPath "$outputFile"
- name: finalize description: Emit polished path only run: |
outputPath=$(load_state outputPath)
jq -n --arg outputPath "$outputPath" '{ outputPath: $outputPath }'
engOutputPath=$(load_state engOutputPath) chnOutputPath=$(load_state chnOutputPath) outputPath=$(load_state outputPath) jq -n \ --arg engOutputPath "$engOutputPath" \ --arg chnOutputPath "$chnOutputPath" \ --arg astroPath "$outputPath" \ '{ engOutputPath: $engOutputPath, chnOutputPath: $chnOutputPath, astroPath: $astroPath }'
Blog Polish (en-US and zh-CN)
This skill polishes a technical blog draft and translates it to English and then Simplified Chinese while preserving technical accuracy.
When to Use
Use when the user asks to polish/translate a technical blog draft to zh-CN without images. Triggers: "polish my draft", "translate blog to Chinese", "enhance latestDraft.md".
Defaults
draftPath:~/.openclaw/workspace/contentDraft/latestDraft.mdoutputDir:~/.openclaw/workspace/contentPolished/- Output filename:
${ts}-polished.mdor${ts}-${subject}.md
Workflow Summary
Draft → Check → Polish (EN) → Translate (ZH) → Convert EN to Astro format → Emit path JSON.
- Resolve paths + create timestamp (
date +"%y%m%d%H%M") - Read draft from
draftPath - Polish English: Fix grammar/spelling, improve clarity, structure into 4-5 sections, target 1000-1200 words
- Translate to zh-CN: Preserve code blocks, inline code, technical terms (
openclaw,skill,cli) - Save polished markdown to
${outputDir}/${ts}-polished.md - Return:
{ outputPath: "/full/path/to/file.md" }
Output
Example
Input: ~/.openclaw/workspace/contentDraft/latestDraft.md { "outputPath": "~/.openclaw/workspace/contentPolished/2603142134-openclaw-skills.md" }