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.md
outputDir: ~/.openclaw/workspace/contentPolished/
- Output filename:
${ts}-polished.md or ${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" }