← 返回 Skills 市场
j3ffyang

log-polish-enus-images

作者 Jeff Yang · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
103
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install log-polish-enus-images
功能描述
Polish a technical blog draft into an 1000–1200 word, 4-5 section en-US article, preserve technical terms/code, and generate consistent hero + per-section im...
使用说明 (SKILL.md)

Blog Polish (en-US) + 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
  • Images: generate a hero prompt + one prompt per section, all in the same style/tone
  • Save: write everything to ~/.openclaw/workspace/contentPolished/ using yymmddhhmm-* naming

When to Use This Skill

When 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:

  • You already have a draft at ~/.openclaw/workspace/contentDraft/latestDraft.md
  • You want a polished en-US version without losing technical accuracy
  • You want consistent illustrations for the article

Defaults

If not provided via input:

  • draftPath: ~/.openclaw/workspace/contentDraft/latestDraft.md
  • outputDir: ~/.openclaw/workspace/contentPolished/
  • style: clean flat vector illustration, minimal isometric, software-engineering diagram vibe
  • background: white background with subtle grid
  • aspectRatioHero: 16:9 horizontal
  • aspectRatioSection: 16:9 horizontal

Workflow Step-by-Step

Step 0 — Resolve Paths and Timestamp

  1. Resolve defaults:
    • draftPath = input.draftPath || "~/.openclaw/workspace/contentDraft/latestDraft.md"
    • outputDir = input.outputDir || "~/.openclaw/workspace/contentPolished/"
  2. Create a timestamp prefix ts in yymmddhhmm format (Linux/macOS):
date +"%y%m%d%H%M"
  1. 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

  1. Identify:
    • Draft title (first # heading; otherwise infer a short title)
    • Main topic and intended audience
  2. 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 — Enforce Length (1000–1200 Words) Without Cutting Meaning

Target final length 1000–1200 words (counting English 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 5 — 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 6 — 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 7 — Save Outputs

  1. Decide subject:
    • subject = input.subject || slugify(title) (lowercase, hyphens)
  2. Write the polished markdown:
    • {{outputDir}}/{{ts}}-{{subject}}.md
  3. Determine image filenames:
    • Hero: {{ts}}-main.png
    • Per section: {{ts}}-section1.png, {{ts}}-section2.png, ...
  4. Save:
    • Write the polished .md file via write_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-prompts block inside the markdown and return the intended filenames (so you can generate them later)

Output Format (What You Return)

Return:

  • polishedPath
  • imagePaths (actual or intended)
  • imagePrompts (single-line prompts in the same order)

Also print a short summary:

## Summary
- Sections: N
- Length: ~X words
- Images: 1 hero + N section prompts

Example Invocation

User says:

  • “Polish my latest draftand make images.”

You do:

  • Read from ~/.openclaw/workspace/contentDraft/latestDraft.md
  • Produce ~/.openclaw/workspace/contentPolished/2603121010-openclaw-skills.md
  • Produce 2603121010-main.png + 2603121010-section1.png ...

Dependencies

None (pure Markdown in/out). Uses the same file read/write capability as your other skills.

安全使用建议
What to consider before installing: - This skill appears to do what it says: it reads a markdown draft, creates a polished markdown, and generates image prompts (it does not itself call image-generation APIs). - Verify jq is available on the agent/runtime (SKILL.md uses jq but no binaries are declared). If jq is not present the skill will fail; either install jq or update the skill to avoid it. - It will read any file path you give as draftPath (default is a workspace path under your home). Do not point it at sensitive files (password stores, keys, system files). - The skill writes polished files and PNG filenames into the outputDir; confirm that location is acceptable and has appropriate filesystem permissions. - If you need strict auditing, request the author add an explicit required-binaries list and/or remove shell-level JSON tooling so failures are visible before runtime.
功能分析
Type: OpenClaw Skill Name: log-polish-enus-images Version: 1.0.0 The skill bundle contains several shell injection vulnerabilities in the SKILL.md workflow, specifically where user-provided inputs like 'draftPath' and 'outputDir' are used directly in shell commands (e.g., 'mkdir -p', 'cat', and 'echo'). Additionally, the 'polish_content' step contains logic that effectively deletes the original blog content and replaces it with a generic hardcoded template, which is destructive behavior for a tool intended to 'polish' text. While these issues represent significant security flaws and poor implementation, there is no clear evidence of intentional malice, such as data exfiltration or backdoor persistence.
能力评估
Purpose & Capability
The skill's name/description (polish blog + generate image prompts) matches the runtime instructions: it reads a markdown draft, restructures/polishes content, emits a polished file, and produces hero/section image prompts. Minor mismatch: the SKILL.md uses jq for JSON construction but the registry metadata lists no required binaries.
Instruction Scope
Instructions operate on a user-provided draftPath (defaulting to ~/.openclaw/workspace/contentDraft/latestDraft.md) and write outputs to an outputDir; they do not call external APIs or transmit data off-host, and they only operate on the specified files. This scope aligns with the declared purpose.
Install Mechanism
No install spec (instruction-only), which is low risk. However, the workflow shell commands rely on utilities (notably jq) that are not declared in required binaries; if jq is absent the steps will fail. No downloads or archive extraction are present.
Credentials
The skill requests no environment variables, no credentials, and no config paths. The file I/O targets are within the user's home workspace defaults, which is appropriate for this use case.
Persistence & Privilege
always is false and the skill does not request permanent system presence or modify other skills. It writes outputs only to its own outputDir; no elevated privileges or cross-skill config writes are requested.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install log-polish-enus-images
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /log-polish-enus-images 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
blog-polish-eng-images v1.0.7 - Initial release of the skill to polish technical blog drafts and generate coordinated image prompts. - Restructures the draft into a 1000–1200 word, 3–4 section en-US article, preserving technical accuracy. - Generates a consistent hero image prompt and one prompt per section for illustrations, including configurable style, background, and aspect ratios. - Outputs final polished markdown and image prompts to a standardized output directory with timestamped filenames. - Designed for seamless integration into OpenClaw workflows for technical blogging with illustration support.
元数据
Slug log-polish-enus-images
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

log-polish-enus-images 是什么?

Polish a technical blog draft into an 1000–1200 word, 4-5 section en-US article, preserve technical terms/code, and generate consistent hero + per-section im... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 103 次。

如何安装 log-polish-enus-images?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install log-polish-enus-images」即可一键安装,无需额外配置。

log-polish-enus-images 是免费的吗?

是的,log-polish-enus-images 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

log-polish-enus-images 支持哪些平台?

log-polish-enus-images 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 log-polish-enus-images?

由 Jeff Yang(@j3ffyang)开发并维护,当前版本 v1.0.0。

💬 留言讨论