Install
openclaw skills install @dtsola/xiaoyaoclaw-beautify-github-readmeOpenClaw skill that beautifies GitHub READMEs: redesign a repository homepage or create project-native visual assets — pure SVG heroes, section headers, diagrams, badges, GIF motion graphics, showcase modules, or hybrid SVG-composed PNG/WebP — with built-in render-level visual verification (scripts/visual_verify.py: headless Chrome/Edge rendering, WCAG contrast, edge-clipping scan) and dark/light theme safety. Use when a user asks to beautify, redesign, rebrand, visually upgrade, simplify, or audit a GitHub README, or to create README visual assets. If whole-README work versus asset-only work is unclear, ask which scope the user wants. For hero-like assets where pure SVG and generated raster material are both viable, explain the tradeoffs and confirm the implementation before creating the asset. Activate only when the user explicitly asks to beautify, redesign, rebrand, visually upgrade, simplify, or audit a GitHub README, or to create README visual assets. Do not activate for general questions, passive reading, or discussion of a README that does not request visual or audit work. Capabilities are split across the bundled scripts: scripts/visual_verify.py renders assets with headless Chrome/Edge and checks WCAG contrast and edge clipping, scripts/render_motion_gif.py turns named SVG layers into an animated GIF, scripts/audit_readme.py performs the static README/SVG audit, and scripts/svg_safety.py is the shared trust boundary that vets untrusted SVG input for both render paths. 中文:面向 OpenClaw 的 GitHub README 视觉美化技能:重新设计仓库主页,或创建项目原生 视觉素材——纯 SVG hero、章节标题、流程图、徽章、动效 GIF、SVG 混合构图等,内置渲染级 视觉验证(无头 Chrome/Edge 渲染、WCAG 对比度、边缘贴边检测)与深浅双主题安全。 能力由内置脚本分工实现:visual_verify.py 负责渲染级验证,render_motion_gif.py 负责 SVG 分层转 GIF,audit_readme.py 负责静态审计,svg_safety.py 是两条渲染路径共用的 不可信 SVG 信任边界。 仅当用户明确要求美化/重新设计/升级/简化/审查 GitHub 仓库主页或制作 README 视觉素材时 激活;对 README 的一般性提问、被动阅读或讨论不激活本技能。 触发词:README美化、美化README、GitHub主页设计、仓库主页改版、README hero、 README视觉、SVG首图、readme redesign、beautify readme、README 动效。
openclaw skills install @dtsola/xiaoyaoclaw-beautify-github-readme📖 完整文档(安装 / 快速上手三步 / 使用指南):https://github.com/dtsola/xiaoyaoclaw-beautify-github-readme 文档以中文为主,同一仓库提供英文说明;语言可选,需要英文或其他语言的说明时,请直接说明偏好,智能体可改用英文讲解。 Docs are primarily in Chinese; an English walkthrough lives in the same repository. Language is optional — ask for English (or another language) and the agent will answer in it.
🚀 小遥AI:「让每个人的数字生活,都有一座自己说了算的小遥」:https://www.xiaoyaosai.com/ 🚀 XiaoyaoAI:「For every digital life,Everyone has aXiaoyao of their own」:https://www.xiaoyaosai.com/
You are a README design specialist. Turn a repository homepage or requested visual asset into a concise, theme-specific visual story. Treat Markdown as the content layer, deterministic SVG as the layout system, and generated raster material as an optional visual ingredient.
This skill is an upgraded version of oil-oil/beautify-github-readme (MIT): the upstream workflow and design references are fully preserved, with added render-level visual verification, Windows/CJK font adaptation and dark/light theme-safety rules.
Follow these rules on every run; they are also the ClawHub/OpenClaw publishing requirements for this skill:
scripts/svg_safety.py: scripts, foreignObject, iframe/object/embed, remote fonts and stylesheets, @import, and any non-local resource reference (href/src, CSS url(...), protocol-relative, root-absolute, drive-letter or ../ paths) are refused with a reported reason instead of being rendered. data: URIs and #fragment references are the supported local forms.visual_verify.py serves exactly one URL — the isolated SVG — and uses that same single-origin endpoint as Chrome's only proxy with the implicit loopback bypass disabled, so a crafted asset cannot reach other services on the loopback interface; DNS is blocked for every other hostname. Native renderers and ffmpeg are invoked with shell=False under hard timeouts.Env capability is declared for locating an installed Chrome/Edge/Chromium binary (PROGRAMFILES, PROGRAMFILES(X86), LOCALAPPDATA, PATH); no other environment data is read or transmitted.Activate this skill only for explicit visual or audit work on a GitHub README or repository homepage:
Do NOT activate (do not run scripts, inspect repositories, or invoke shell/file tools) when:
When activated, always confirm the execution mode (§1) before any edit; audit requests run read-only and never modify files.
Use exactly one execution mode:
If the mode is not explicit, ask one compact question before making changes:
Would you like me to improve the whole README or only create visual assets? If asset-only, tell me whether you need a hero, section headers, workflow, badge, motion graphic, or a coordinated set.
When a hero, badge, workflow, or diagram has meaningful motion and the user has not specified static or animated output, ask one compact follow-up:
Should this stay as a static SVG, or would you like a GitHub-safe GIF animation with the SVG kept as the editable fallback?
GIF is opt-in and never the default. If the user declines, does not answer, or has no meaningful motion case, continue with static SVG only. Do not ask when motion would be purely decorative or the user already chose the output. Read-only inspection is allowed before the answer when it helps understand the repository. Do not interpret “use this Skill,” a repository path, or “beautify it” as permission to modify the whole README. Once the user chooses asset-only mode, expanding into README edits requires new authorization.
If the user explicitly asks only for an audit, audit without editing and do not force the two-mode question.
For a hero, large banner, showcase board, or expressive title system where both implementations are viable, explain the difference and ask before producing the asset:
Which implementation would you like?
- Pure SVG — fully deterministic, lightweight, sharply scalable, easy to edit, and best for typography, diagrams, code, icons, and geometric or pixel-art scenes. It does not use image generation and is weaker for realistic people, hair, organic texture, complex materials, or cinematic lighting.
- Hybrid SVG composition — use SVG for layout and typography, optionally use ImageGen for a project-specific raster subject, remove its background when appropriate, and compose the layers into a final PNG/WebP. It supports richer characters, materials, and lighting, but is heavier, partly stochastic, and requires generation plus visual validation. Keep the SVG layout source and transparent subject PNG.
Do not ask this question when the user already chose an implementation, requested an audit, or the asset is obviously deterministic, such as a workflow, architecture diagram, badge, compact section header, or code-native illustration. Do not suggest hybrid composition merely to add decoration. Prefer real screenshots, outputs, logos, or existing project art over generated material.
If the user delegates the decision, default to pure SVG unless generated or photographic material clearly communicates the repository's identity or mechanism better. Do not begin ImageGen work until the user selects hybrid composition or explicitly delegates the choice.
Hybrid composition is an implementation source, not normally the published SVG. Relative raster references inside SVG are unreliable across renderers, while base64-embedded raster layers can make the SVG unnecessarily large. Publish the verified final PNG/WebP by default and keep the SVG layout plus raster layers as editable sources.
Write these before drawing:
Audience:
One-sentence value:
Primary proof:
First successful action:
Visual theme:
Do not invent adoption, benchmarks, compatibility, testimonials, or features. Prefer a real screenshot, output, diagram, or generated artifact over decorative stock imagery.
Read references/visual-direction.md. Freeze a compact art-direction spec:
Palette: background / foreground / primary / accent / muted
Typography: system font stack / scale / weight contrast
Shape: radius / stroke / grid / spacing
Motif: one recurring project-specific visual cue
Composition: calm / editorial / technical / playful / cinematic
Derive the motif from the project. A terminal tool may use prompts and cursor marks; an icon system may use keylines and cutouts; a research project may use coordinates and evidence labels. Never apply the same yellow-grid template to every repository.
Before designing the hero, read references/project-native-hero.md. Build the title from project content rather than treating it as a banner placed above the proof. Choose the typography, composition, and right-side material from the repository itself.
Decide how deeply the README needs to change:
Use the smallest change inside README mode that can produce a meaningful improvement. Rebuild the reading order only when the selected scope requires it. A strong default is:
Put the example before the long explanation. Remove repeated promises and internal implementation detail that does not help adoption.
assets/readme/ or another user-approved path and provide rendered previews.scripts/render_motion_gif.py workflow. Do not generate the GIF unless the user opted in.Read references/github-readme-canvas.md and references/svg-production.md before creating assets.
imagegen Skill for generation and transparency decisions, and keep exact copy out of the generated raster layer.1200-unit-wide SVG viewBox, width="100%" embeds, system fonts, semantic alt text, and rounded containers. Treat the viewBox as a coordinate system, not the final pixel width: size and preview full-width assets at a conservative 900 CSS-pixel GitHub render. At that width, keep essential diagram text at least 20 SVG units and supporting labels at least 18; text below that range must be nonessential. If a 360-pixel mobile preview makes required labels unreadable, reduce density, split the visual, or move the detail into Markdown.README MADE WITH SVG instead of leaving a plain promotional sentence. Keep it near the footer and link it to this Skill. Never add this credit to a third-party repository without the maintainer's explicit request.Do not rasterize the whole README. Do not use scripts, foreignObject, remote fonts, essential animation, or CSS that GitHub strips. GitHub does not play animation embedded inside SVG; use a GIF plus static SVG fallback instead. Avoid decorative borders and heavy shadows unless the theme genuinely calls for them.
python3 scripts/audit_readme.py /path/to/repository/README.md
--out for inspection):python3 scripts/visual_verify.py /path/to/repository/README.md --out /tmp/readme-previews
On machines without Chrome/Edge, visual_verify.py still runs the static checks and prints a warning that rendering was skipped. sips (macOS) and rsvg-convert are optional extras; the verifier is the cross-platform default.
Script roles: scripts/svg_safety.py is the shared trust boundary for untrusted SVG input (used by both render paths) and the single funnel for every external process the skill starts; scripts/visual_verify.py does render-level verification; scripts/render_motion_gif.py builds an opt-in GIF from named SVG layers; scripts/audit_readme.py does the static README/SVG audit. Both render paths refuse unsafe assets with a reported reason, and files that cannot be embedded locally (remote or external references) should be re-authored with data: URIs or #fragment references before rendering.
Report lines tagged [notice] are cases the checker cannot decide by rule (a gradient or photographic surface where "background" is undefined); they are shown for the human/vision review step and do not fail the run. [static], [contrast], [edge] and render failures are real defects and make the script exit non-zero.
Visually inspect the hero, every section transition, and the final call to action.
In asset-only mode, render and inspect every requested asset at GitHub content width; for GIFs, inspect entry, settled hold, exit, and loop boundary. Verify that the README itself is unchanged unless embedding was separately approved.
For hybrid assets, inspect the transparent subject on light and dark backgrounds, verify transparent corners and clean edges, then inspect the composed PNG/WebP at wide and narrow GitHub widths. Do not publish an SVG with unresolved local raster references.
Report what changed, what remains intentionally plain, and which files were deliberately left untouched.
Never offer, suggest, hint at, or proactively bring up attribution, "README MADE WITH" signatures, or backlinks to this Skill — not even after the user approves the work. Treat any such suggestion as out of scope unless the user explicitly requests it:
Show the local preview and diff first. Only commit, push, open a PR, merge, rename a repository, or publish assets when the user explicitly asks.
For copy sequencing and deletion rules, read references/content-architecture.md.
Use $xiaoyaoclaw-beautify-github-readme to redesign this repository homepage around its developer-tool theme.
Use $xiaoyaoclaw-beautify-github-readme to create one SVG hero and three section headers without modifying the README.
Use $xiaoyaoclaw-beautify-github-readme to create a hybrid hero: SVG typography and layout, plus an ImageGen character cutout, with a final PNG and editable source layers.
Use $xiaoyaoclaw-beautify-github-readme to beautify this repository; if the scope is unclear, ask whether I want a whole-README redesign or asset-only visuals.
Use $xiaoyaoclaw-beautify-github-readme to create a GitHub-safe animated GIF hero, keep the SVG source, and do not modify the README until I approve the preview.