This skill takes a technical blog draft and turns it into a publish-ready package:
~/.openclaw/workspace/contentPolished/ using yymmddhhmm-* namingWhen the user asks to polish a technical blog, and create images, you MUST use this skill and follow the workflow below step by step.
Use this when:
~/.openclaw/workspace/contentDraft/latestDraft.mdIf 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 horizontaldraftPath = input.draftPath || "~/.openclaw/workspace/contentDraft/latestDraft.md"outputDir = input.outputDir || "~/.openclaw/workspace/contentPolished/"ts in yymmddhhmm format (Linux/macOS):text
date +"%y%m%d%H%M"
text
mkdir -p "~/.openclaw/workspace/contentPolished/"
Read the draft content in full before editing anything:
read_file --path {{draftPath}}
Identify:
# heading; otherwise infer a short title)Plan a 3–4 section outline (including intro/conclusion counts as sections if they have headings):
Before translating, make sure the English content makes sense:
Target final length 1000–1200 words (counting English words approximately by rough equivalence).
To fit without “reducing content”:
If you add any information that is not clearly present in the draft:
[^1]text
## References
[^1]: Source title — URL
Create one single-line prompt for:
Use this strict ordering and keep the same style/tone across all prompts:
text
[Section role] of [topic]: [subject] doing [action], in [style], [angle/composition], [lighting/color], [level of detail], [background], [aspect ratio]
Constraints:
Decide subject:
subject = input.subject || slugify(title) (lowercase, hyphens)Write the polished markdown:
{{outputDir}}/{{ts}}-{{subject}}.mdDetermine image filenames:
{{ts}}-main.png{{ts}}-section1.png, {{ts}}-section2.png, ...Save:
.md file via write_fileimage-prompts block inside the markdown and return the intended filenames (so you can generate them later)Return:
polishedPathimagePaths (actual or intended)imagePrompts (single-line prompts in the same order)Also print a short summary:
text
## Summary
- Sections: N
- Length: ~X words
- Images: 1 hero + N section prompts
User says:
You do:
~/.openclaw/workspace/contentDraft/latestDraft.md~/.openclaw/workspace/contentPolished/2603121010-openclaw-skills.md2603121010-main.png + 2603121010-section1.png ...None (pure Markdown in/out). Uses the same file read/write capability as your other skills.