Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Design & media
blog-polish-zhcn-images
Try itPolish a technical blog draft into an 800–1000 word, 3–4 section zh-CN article, preserve technical terms/code, and generate consistent hero + per-section image prompts when the user asks to polish and translate a blog with images.
What it does
This skill takes a technical blog draft and turns it into a publish-ready package:
The skill document
Blog Polish (zh-CN) + Image Pack
This skill takes a technical blog draft and turns it into a publish-ready package:
- Polish: spelling/grammar fixes + clarity improvements
- Structure: reorganize into 3–4 sections total (not more)
- Length: final content 1000–1200 words
- Translation: English → Simplified Chinese, while preserving:
- technical terms like
skills,plugin,OpenClaw,ClawHub - code blocks and commands (no translation inside code fences)
- inline code spans (backticks) as-is unless obviously wrong
- technical terms like
- Images: generate a hero prompt + one prompt per section, all in the same style/tone
- Save: write everything to
~/.openclaw/workspace/contentPolished/usingyymmddhhmm-*naming
When to Use This Skill
When the user asks to polish a technical blog, translate it to Simplified Chinese, and create images, you MUST use this skill and follow the workflow below step by step.
Use this when:
- You already have a draft at
~/.openclaw/workspace/contentDraft/latestDraft.md - You want a polished zh-CN version without losing technical accuracy
- You want consistent illustrations for the article
Defaults
If not provided via input:
draftPath:~/.openclaw/workspace/contentDraft/latestDraft.mdoutputDir:~/.openclaw/workspace/contentPolished/style:clean flat vector illustration, minimal isometric, software-engineering diagram vibebackground:white background with subtle gridaspectRatioHero:16:9 horizontalaspectRatioSection:16:9 horizontal
Workflow Step-by-Step
Step 0 — Resolve Paths and Timestamp
- Resolve defaults:
draftPath = input.draftPath || "~/.openclaw/workspace/contentDraft/latestDraft.md"outputDir = input.outputDir || "~/.openclaw/workspace/contentPolished/"
- Create a timestamp prefix
tsin yymmddhhmm format (Linux/macOS):
date +"%y%m%d%H"
- Ensure output dir exists (shell is fine):
mkdir -p "~/.openclaw/workspace/contentPolished/"
Step 1 — Read Draft Exactly
Read the draft content in full before editing anything:
read_file --path {{draftPath}}
Step 2 — Extract Title, Topic, and Section Candidates
- Identify:
- Draft title (first
#heading; otherwise infer a short title) - Main topic and intended audience
- Draft title (first
- Plan a 3–4 section outline (including intro/conclusion counts as sections if they have headings):
- Prefer: short intro, 2–3 core sections, short wrap-up
- If the draft is long, merge similar paragraphs
- If the draft is messy, reorder paragraphs for a cleaner flow
Step 3 — Polish English (Meaning First)
Before translating, make sure the English content makes sense:
- Fix misspellings, grammar, punctuation
- Paraphrase confusing sentences
- Add missing connective tissue only where the meaning is unclear
- Do not reduce content (no big deletions)
Step 4 — Translate to Simplified Chinese (With Preservation Rules)
Translate the full draft into zh-CN with these hard rules:
- Keep code fences unchanged (commands/code stay exactly the same)
- Keep inline code (backticks) unchanged unless it contains an obvious typo
- Keep common technical terms in English (examples):
skills,plugin,OpenClaw,ClawHub,CLI,Markdown,YAML
- If a technical term has a standard Chinese translation but the English term is common in your audience, keep the English term and (optionally) add a short Chinese clarification once on first use
Step 5 — Enforce Length (1000–1200 Words) Without Cutting Meaning
Target final length 800–1000 words (counting Chinese words approximately by rough equivalence).
To fit without “reducing content”:
- Tighten redundancy (same idea repeated)
- Use shorter sentences
- Prefer combining adjacent sentences that restate the same point
Step 6 — Add Citations If You Introduce Outside Facts
If you add any information that is not clearly present in the draft:
- Add a short citation marker in text like:
[^1] - Add a footnotes section at the end:
## References
[^1]: Source title — URL
Step 7 — Generate Image Prompts (Hero + Per Section)
Create one single-line prompt for:
- Hero image (for the whole post)
- Each section (exactly one per section heading)
Use this strict ordering and keep the same style/tone across all prompts:
[Section role] of [topic]: [subject] doing [action], in [style], [angle/composition], [lighting/color], [level of detail], [background], [aspect ratio]
Constraints:
- No text in the image (prefer icons/arrows)
- Keep a consistent palette (neutral + one accent color)
- Keep prompts to a single line each
Step 8 — Save Outputs
- Decide
subject:subject = input.subject || slugify(title)(lowercase, hyphens)
- Write the polished markdown:
{{outputDir}}/{{ts}}-{{subject}}.md
- Determine image filenames:
- Hero:
{{ts}}-main.png - Per section:
{{ts}}-section1.png,{{ts}}-section2.png, ...
- Hero:
- Save:
- Write the polished
.mdfile viawrite_file - For images:
- If you have an image-generation tool available in your OpenClaw setup, generate and save the actual PNG/JPGs
- Otherwise: still create an
image-promptsblock inside the markdown and return the intended filenames (so you can generate them later)
- Write the polished
Output Format (What You Return)
Return:
polishedPathimagePaths(actual or intended)imagePrompts(single-line prompts in the same order)
Also print a short summary:
## Summary
- Sections: N
- Length: ~X words
- Translation: English → zh-CN (terms preserved)
- Images: 1 hero + N section prompts
Example Invocation
User says:
- “Polish my latest draft, translate to zh-CN, and make images.”
You do:
- Read from
~/.openclaw/workspace/contentDraft/latestDraft.md - Produce
~/.openclaw/workspace/contentPolished/26031214xx-openclaw-skills.md - Produce
26031214xx-main.png+26031214xx-section1.png...
Dependencies
None (pure Markdown in/out). Uses the same file read/write capability as your other skills.
Related skills
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.
Site audit, content writing, and competitor analysis for organic search rankings.
More from j3ffyang
Browse all skillsGenerate video from supplied image using Veo-3.0 async API. Gemini vision analyzes image, Veo creates video via predictLongRunning. All outputs in ~/.openclaw/workspace/tibetanProc/ with yymmddHHMM prefix.
Read a plain Markdown file (e.g. 260321_openclawConfig.md), generate header and section images using the default OpenClaw image model and API key from ~/openclaw/.env, create a new *_img.md copy with embedded PNGs, and move all generated images into an img/ folder next to the original file.
Polish a technical blog draft into a 1000–1200 word, 4–5 section en-US article, preserve technical terms/code, and generate one consistent hero image prompt.
Help the user draft, review, and polish blog posts in Markdown, keeping the original languages and informal tone.
Generate a daily AI news newsletter from fresh web sources. Use when the user asks for a current AI digest, AI news roundup, curated newsletter, or daily AI...
Generate a daily AI news newsletter for a Chinese audience from fresh web sources, summarizing current AI/ML articles into Markdown and JSON with Simplified...