Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add bahayonghang/my-ai-cli-toolkit --skill image-to-ui-skillgit clone --depth 1 https://github.com/bahayonghang/my-ai-cli-toolkitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/bahayonghang/my-ai-cli-toolkit/image-to-ui-skill)<a href="https://agentmods.dev/skills/bahayonghang/my-ai-cli-toolkit/image-to-ui-skill"><img src="https://agentmods.dev/badge/skills/bahayonghang/my-ai-cli-toolkit/image-to-ui-skill/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/bahayonghang/my-ai-cli-toolkit/image-to-ui-skill"><img src="https://agentmods.dev/badge/skills/bahayonghang/my-ai-cli-toolkit/image-to-ui-skill.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00065 | $0.03477 |
| Opus 5 | $0.00032 | $0.01739 |
| Sonnet 5 | $0.00013 | $0.00695 |
| Haiku 4.5 | $0.00006 | $0.00348 |
Grade A, and why
image-to-ui-skill scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 190 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Image to UI Skill
使用这个 skill,把 UI 参考图转成可执行的图片资产方案:先分析哪些区域需要生成图片,再生成、后处理,并集成回 UI。
本文件保留路由、核心生图边界与主流程;App/网页交付、UI 分析、字体、尺寸、提示词写法、抠图、集成、交互、审查、差距核对与最终交付报告等细则已下沉到 references/,按需读取(见文末「详细规则索引」)。
image2 生图优先规则
当用户明确要求“调用 image2 生图”“用 image2 复刻”“参考图片做高保真 UI”,或参考图的效果明显依赖摄影、插画、颗粒、半色调、像素噪点、复杂纹理、景深、真实材质、复杂岛屿/地图/角色等位图质感时,必须优先走真实的 image2 位图生成流程,而不是只用 HTML/CSS/SVG 做近似。
在这类任务里:
- 必须先判断哪些区域属于 必须真实生图,哪些区域属于 必须代码实现。
- 必须至少生成并落地一批真实位图资产后,才能声称“已经调用 image2”。
- 不要把“用 CSS 画了一个相似背景”“用 SVG 拼了插画”“用渐变和噪点近似了风格”描述成已经完成 image2 生图。
- 如果只是先做代码骨架,必须明确说明“当前仅完成结构 UI,还未真正调用 image2 生成资产”。
- 如果用户要的是高保真复刻,优先生成主视觉、路线插画、卡片缩略图、复杂背景纹理等高影响位图资产,再做 CSS 微调。
以下内容默认视为 应优先调用 image2:
- 首屏主视觉海景、人物、产品、摄影感场景
- 带颗粒、半色调、像素噪点、蓝晒/丝网印刷、扫描感的复杂插画
- 跳岛路线图中的岛屿插画、装饰地图、复杂海岸线和非标准装饰物
- 卡片缩略图、场景图、带统一美术风格的多张主题图
- 用代码实现会显著降低质感或极难逼近参考图的区域
以下内容默认 不要交给 image2:
- 标题、正文、价格、按钮文案、列表文案、标签、导航文字
- 常规按钮、输入框、卡片、分隔线、底部导航、常规 icon 容器
- 需要保持可访问、可翻译、可交互的 UI 文本
image2 调用边界
本 skill 里的 image2 指项目指定的 image2 调用入口,不等同于任意图片生成工具。当前 skill 也包含一个备案通道:当原生 image2 命令不可用或失败时,scripts/image2_asset.py 会在备案前置条件满足时自动转到 OpenRouter ICU gpt-image-2(前置条件见下方「备案通道前置条件」)。若前置条件不满足,脚本会以非零码明确报错,此时必须如实说明尚未生图,不得声称已落地位图。
执行时:
- 在任何真实生图前,先按
references/image2-entrypoint.md确认当前项目的 image2 调用入口和备案通道。 - 优先调用本 skill 的
scripts/image2_asset.py,不要自己重写 API 请求。 scripts/image2_asset.py会先尝试原生image2命令或IMAGE2_COMMAND环境变量;失败后自动调用openrouter-icu-image/scripts/openrouter_icu_image.py,模型固定默认为gpt-image-2。- 可以把 OpenRouter ICU
gpt-image-2记为“image2 备案通道”或“fallback 通道”,但最终必须说明实际走的是native-image2还是openrouter-icu-gpt-image-2。 - 不要把
imagegenskill、其它图片生成插件、随机在线生图服务或手写 SDK 请求当作本 skill 的 image2/fallback 通道。 - 如果原生 image2 和 OpenRouter ICU fallback 都不可用,再停止并说明缺少可用生图入口;不要声称已经生图。
- 可以继续实现代码 UI 骨架,但必须明确标注“尚未完成真实位图资产生成”,不能把代码近似、CSS/SVG 视觉或其它来源图片写成 image2 结果。
备案通道前置条件
OpenRouter ICU gpt-image-2 备案通道并非无条件可用。scripts/image2_asset.py 走 fallback 需要同时满足:
- 能定位 OpenRouter ICU CLI:在本 skill 同级目录安装
openrouter-icu-imageskill(脚本默认查找openrouter-icu-image/scripts/openrouter_icu_image.py),或显式设置OPENROUTER_ICU_IMAGE_CLI指向该脚本。本仓库默认不附带该兄弟 skill,需要时另行安装或配置。 - 凭据可用:设置
OPENROUTER_ICU_API_KEY或OPENAI_API_KEY。
What ships with it
56 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .gitignore 34 B
- agents/interface.yaml 487 B
- assets/cases/fashion-shopping-app/catalog-screen.png 660 KB
- assets/cases/fashion-shopping-app/fashion-app-preview.gif 1769 KB
- assets/cases/fashion-shopping-app/favorites-screen.png 626 KB
- assets/cases/fashion-shopping-app/hero-screen.png 598 KB
- assets/cases/fashion-shopping-app/reference-overview.png 1006 KB
- assets/cases/hicolor/threads-recommendation.png 359 KB
- assets/cases/hicolor/traffic-3-days.png 101 KB
- assets/cases/hicolor/xiaohongshu-pinned.jpg 74 KB
- assets/cases/museum-app/detail-screen.png 950 KB
- assets/cases/museum-app/exhibitions-screen.png 432 KB
- assets/cases/museum-app/home-screen.png 464 KB
- assets/cases/museum-app/museum-app-preview.gif 596 KB
- assets/cases/museum-app/reference-overview.png 1474 KB
- assets/cases/news-app/discover-screen.png 1096 KB
- assets/cases/news-app/feed-screen.png 1186 KB
- assets/cases/news-app/headlines-screen.png 1054 KB
- assets/cases/news-app/news-app-preview.gif 2895 KB
- assets/cases/news-app/reference-overview.png 1028 KB
- assets/cover-reference.png 748 KB
- assets/demo-preview.gif 509 KB
- assets/readme-hero.svg 5.6 KB
- demo/artmuse-ios/assets/memory.svg 1.0 KB
- demo/artmuse-ios/assets/pearl.svg 1.1 KB
- demo/artmuse-ios/assets/starry-night.svg 1.7 KB
- demo/artmuse-ios/index.html 10 KB
- demo/artmuse-ios/README.md 924 B
- demo/artmuse-ios/screenshots/artmuse-desktop.png 525 KB
- demo/artmuse-ios/screenshots/artmuse-mobile.png 105 KB
- demo/artmuse-ios/script.js 1.5 KB runs code
- demo/artmuse-ios/styles.css 12 KB
- demo/artmuse-ios/validate.mjs 1.7 KB runs code
- demo/marble-note/image2-asset-plan.md 2.4 KB
- demo/marble-note/index.html 16 KB
- demo/marble-note/README.md 1.4 KB
- demo/marble-note/screenshots/marble-note-desktop.png 154 KB
- demo/marble-note/screenshots/marble-note-mobile.png 64 KB
- demo/marble-note/script.js 2.0 KB runs code
- demo/marble-note/styles.css 14 KB
- demo/marble-note/validate.mjs 3.4 KB runs code
- evals/evals.json 7.1 KB
- README.md 5.5 KB
- references/asset-manifest-and-prompts.md 4.1 KB
- references/delivery-app-and-web.md 3.2 KB
- references/fashion-shopping-app-case-study.md 8.6 KB
- references/hicolor-case-study.md 4.7 KB
- references/image2-entrypoint.md 4.2 KB
- references/integration-rules.md 9.3 KB
- references/museum-app-case-study.md 7.2 KB
- references/review-and-gap-check.md 11 KB
- scripts/image2_asset.py 8.4 KB runs code
- scripts/validate_demo.mjs 13 KB runs code
- tests/demo-validation.test.mjs 7.0 KB runs code
- tests/image2-asset.test.mjs 9.2 KB runs code
- tests/skill-structure.test.mjs 3.0 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 190 lines · 65 tokens per session scan A 057bbd66c5c9
image-to-ui-skill is a skill published in the GitHub repository bahayonghang/my-ai-cli-toolkit (16 stars, last pushed yesterday), licensed MIT. It adds 65 tokens to every session and 3,477 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
prototype-web
A clickable, high-fidelity web product prototype with navigation, a hero section, feature cards, steps, social proof, and optional pricing. It is designed to resemble a finished landing page while remaining a prototype.
saas-landing
A single-page SaaS landing page for a software product, with sections such as the hero, features, customer proof, pricing, FAQs, and a call to action. SaaS means software delivered online, usually by subscription.
web-proto-brutalist
A web-page style built around Swiss industrial print design, with oversized numbers, stark grids, black typography, red accents, and ASCII symbols.
web-proto-editorial
A minimalist editorial web style inspired by magazines, with warm colours, serif display type, simple borders, generous empty space, and small motion effects.
web-proto-soft
A web prototype style inspired by Apple's soft product interfaces, using cream or silver surfaces, rounded cards, layered edges, and subtle motion.
sketch
Throwaway HTML mockups: 2-3 design variants to compare.