跳到主要内容
Supermarket
返回能力市场
Claude Skill
design
NOASSERTION

kubai-icons

An agent skill that draws animated icons in one consistent style, for Claude Code, Codex and other coding agents. Comes with 2,600+ open-source icons for React, Vue and SVG, and a website to browse them.

kubai087kubai087
87/ 100

公开评测 · 综合采用结论

证据充分,整体质量与安全表现优秀

查看评测依据 评测我的项目基于公开项目证据,非安全认证或安装推荐
754stars
36forks
最近更新 7小时前
评测生成时间(北京时间)
本报告引擎
v3.17.3
当前引擎
v3.17.3

规则版本一致,但报告只反映生成时的证据,不代表项目代码和安全状态始终不变。

重新评测此项目

进入后确认来源与额度,提交才会创建任务。

核对代码版本与送评文本摘要

仅记录实际送评的受限文本,不是完整仓库审计、安装结果或运行时安全保证。Stars、下载量和仓库元数据为采集时的独立信号,不属于此 commit 快照。

kubai087/kubai-icons @ 25c5bdc5ea9ebd57f4f9a96434e4605a4ba23f94

目录树:fc09b583091f55277f456e6752c2b87497d6e6e1

README 来源:README.md

  • README.md · 12020 字符
    SHA-256: 7ef7ef9b6d8b3b1113ecaf7d3cf5105f5b8109d4a91ee407c8fd05610519f554
  • SKILL.md · 2905 字符
    SHA-256: c1b67635a641f1c211d2763684f8f4bbe3a4ad49728dd891cde272f16e1b4869
  • package.json · 1259 字符
    SHA-256: 60f6276534250484beef1e7be9e9875e115e0656d6c67d9c2286f1d885f10148
  • SECURITY.md · 820 字符
    SHA-256: 34641577386bcd3d40554347af4519289c0fb9a39ace4343de366c793887f196
  • site/package.json · 860 字符
    SHA-256: ab1f960a9ae8b50747f6d3d4e5acf76d0842c2cc907aedd9233f2ce67ae6b0ca
  • packages/core/package.json · 1356 字符
    SHA-256: 666f77f6ad68a9cfe3bba6a94ef6450540f87b4a2d8f72ddb03312477557db8b
  • packages/react/package.json · 1056 字符
    SHA-256: 9c6b5356c9d39ba49a803a681b18828bed9e972afec742b517b7b52f999e543f
  • packages/static/package.json · 757 字符
    SHA-256: f24236877a3d3dd50d7234ac23b0ed1ca67f0b869dc325c8b9b3a8bd5ddbec8f
  • packages/vue/package.json · 1046 字符
    SHA-256: 48dc5cd00d2fc2e8a3bf5ccbff6e554547d29af59c6b6d46e5c8d0ac42c55973
  • src/engine.js · 13889 字符
    SHA-256: 01120674590e0a3e5bd7d53bc232ae97a95505a0b3d0f4b6e05abeb057823def
  • src/icons.js · 65563 字符
    SHA-256: 7e729fef3b685f0eb774d52ba0a0ad856b42ec050c3df489006627748e91ea62
  • src/app.js · 4760 字符
    SHA-256: 9a9fd8bdc6d26348361cea3bb211c7a557a1a4d2a19605c77b319d84f5fdcc53
  • scripts/check.mjs · 10594 字符
    SHA-256: 345ac20b15cd3300051bf61eff8550497844b19378a95e9384abe4d78a4997b2
  • scripts/export.mjs · 7425 字符
    SHA-256: b6e48d65253dbae96f7934262cac088f1bf9d252de6d70c32b20679adb6bb95e
  • tools/check.mjs · 5795 字符
    SHA-256: 571be3876124798171c104d6869e858abf385bc57a9a7203ccbbce987086a2fd

摘要对应送评 UTF-8 文本,可能为限额节选,不等于 Git blob SHA。来源由采集方提供,摘要本身不证明来源真实性。

Evaluation report

综合采用结论

87
A
满分 100 · 静态采用参考
值得推荐中风险
决策摘要

证据充分,整体质量与安全表现优秀

100%
高置信度
100
文档
86
安全
87
质量
100
活跃
44
采用
  • 基础评测完成+25/25确定性评分与静态安全扫描已完成
  • README 有效证据+25/259,951 个去重后的有效字符
  • 独立证据来源+20/206 类非重复证据,重复文件不叠加
  • 仓库元数据+10/10已取得仓库状态与采用数据
  • 活跃记录+5/5已取得最近提交时间
  • AI 复核+15/15已完成结构化 AI 证据复核

本报告评了什么

综合分用于静态采用筛选,不是任务成功率,也不代表使用 Skill 后的能力提升。

静态检查范围
记录 15 个文件 · 130,105 字符
只检查采集到的受限文本与已知风险模式;未读取的脚本、依赖和运行环境不在结论内。
AI 内容复核
已使用
复核送评文本的说明和设计,不是安装测试或实际任务执行。记录缺失时不推断已使用或未使用。
真实任务效果
本报告未提供实测证据
没有使用/不使用 Skill 的任务对照、重复运行或耗时与 token 成本结果。采用前仍需在隔离环境验证自己的任务。

脚本引用覆盖

已纳入文本静态扫描 6 项/未纳入 1 项

被选 Skill:SKILL.md

仅检查被选 Skill 的直接脚本引用,一跳读取,不跟进 imports 或依赖;不执行脚本,脚本文本不送入 AI 质量复核。已纳入只表示文本已扫描,不代表安全。

仅统计本记录中的可识别引用;未纳入或未记录的部分保持未知,不按安全通过处理。

查看 7 项引用明细
  1. 1. 已纳入

    引用位置:SKILL.md:20

    目标路径:src/engine.js

    文本已纳入静态扫描,不代表脚本安全。

  2. 2. 已纳入

    引用位置:SKILL.md:21

    目标路径:src/icons.js

    文本已纳入静态扫描,不代表脚本安全。

  3. 3. 已纳入

    引用位置:SKILL.md:22

    目标路径:src/app.js

    文本已纳入静态扫描,不代表脚本安全。

  4. 4. 已纳入

    引用位置:SKILL.md:23

    目标路径:scripts/check.mjs

    文本已纳入静态扫描,不代表脚本安全。

  5. 5. 已纳入

    引用位置:SKILL.md:24

    目标路径:scripts/export.mjs

    文本已纳入静态扫描,不代表脚本安全。

  6. 6. 路径不符合边界

    引用位置:SKILL.md:34

    引用不是允许的仓库相对路径。

  7. 7. 已纳入

    引用位置:SKILL.md:36

    目标路径:tools/check.mjs

    文本已纳入静态扫描,不代表脚本安全。

How it works · 流程图

Kubai 图标生成与自检流程

SKILL.md 流程节为单一任务的连续步骤,含读规则、写图标、自检、导出,无多方请求响应

AI 提取 · 证据约束

左右滑动查看完整图示

Kubai 图标生成与自检流程SKILL.md 流程节为单一任务的连续步骤,含读规则、写图标、自检、导出,无多方请求响应确定交付形式后在副本中绘制追加到icons.js截图比对全部通过后读规则输入复制引擎准备写新图标生成加入ORDER注册运行自检校验导出SVG交付
图示依据
  • • SKILL.md 流程第 1-2 步:读 PROMPT.md,确定动态/静态交付形式
  • • SKILL.md 流程第 6-7 步:把名字加进 src/app.js 的 ORDER,运行 check.mjs 自检
  • • SKILL.md 流程第 9 步:node scripts/export.mjs --only ... --palette 彩色 --out 目标目录
五维表现
解决“统一风格动态图标生成”这一真实需求,流程、自检与导出命令具体可复现;最大缺口是自检依赖无头 Chrome 与特定模型能力,且规则细节需另读 PROMPT.md。
质量证据
  • 通过: Agent Skills 格式校验 1/1 个通过
  • 通过: 1 个有效 Skill 含可核实的指令步骤或示例
  • SKILL.md 流程第 7 步:node scripts/check.mjs --only 新图标A,新图标B --with 文件夹,邮件,下载,截图在 check-out/
  • SKILL.md 环境节:Node 18 以上,以及 Chrome,浏览器路径可用 CHROME 覆盖
  • README 导出节参数表:--palette 彩色/蓝灰/青瓷/薄荷/薰衣草/杏色/黑色,--state hover,--size,--pad
  • README 许可证表:icons/ 与四个包为 MIT,skill 为 Kubai Icons License,site/tools/tests/docs 保留所有权利
  • README TIP:skill 需能读图的强模型,开发与盲测使用 Claude Opus 5.5
采用建议
优势
  • 问题与用途描述
  • 有效 README
  • 安装或接入步骤
  • 可执行示例
  • 通过: Agent Skills 格式校验 1/1 个通过
关注点
  • 发现系统进程或命令执行能力
  • SKILL.md:description 未清楚说明何时使用该 Skill
  • 自检需 Node 18+ 与 Chrome,README 提示需能读图的强模型(Claude Opus 5.5),门槛较高
  • 设计规则全部在 PROMPT.md,SKILL.md 仅摘要,未读该文件难以判断风格约束
  • 静态导出示例图标名为中文,与开源库英文命名体系并存,易混淆
适合

需要为产品批量生成风格统一功能图标的团队、要带 hover 动效 SVG 图标的网页/前端项目、需要静态 SVG 切图交付设计工具或原生 App 的场景

不建议直接用于

无法运行 Node 与无头 Chrome 的离线环境、不能使用可读图模型、仅纯文本推理的代理环境

也有自己的公开项目?先看完证据,再用当前规则生成独立报告。

评测我的项目 →
文档证据
100/100
问题与用途描述10 分
有效 README12 分
安装或接入步骤14 分
可执行示例16 分
输入、参数或工具说明11 分
输出或结果说明9 分
限制、权限或边界12 分
错误处理或排障8 分
许可证信息5 分
结构化章节3 分
安全证据
中风险
发现系统进程或命令执行能力
process-executionscripts/check.mjs:19high confidence
import { execFileSync } from 'no***ss';

修复:限制可执行命令与参数,禁止拼接用户输入,并采用最小权限沙箱。

发现系统进程或命令执行能力
process-executionscripts/export.mjs:15high confidence
import { execFileSync } from 'no***ss';

修复:限制可执行命令与参数,禁止拼接用户输入,并采用最小权限沙箱。

优先改进清单
  1. 01限制可执行命令与参数,禁止拼接用户输入,并采用最小权限沙箱。
  2. 02修复 SKILL.md:description 未清楚说明何时使用该 Skill
方法、证据与局限展开
数据来源

GitHub Repository API

扫描范围

15 个文件 · 130,105 字符

评测引擎

v3.17.3 · AI 内容复核:已使用(deepseek-flash)

局限
  • 静态评测不会安装或执行项目代码
  • 安全扫描基于高信号文件与已知模式,不能替代人工审计
  • 流行度只反映采用程度,不代表安全或工程质量
  • 脚本覆盖仅针对被选 Skill 中可识别的直接引用;不递归分析依赖,不执行脚本,脚本未送入 AI 质量复核

30 天热度趋势

README

Kubai Icons

An agent skill that draws animated icons in one consistent style.
Plus 2,800+ open-source icons drawn with it, for React, Vue and the web.

Install the skill · Browse the icons · Use them in code · Docs

Sixteen icons opening one after another on hover: a folder opens, an envelope unseals, a calendar turns a page, a lock springs open, a gear turns

What's included

PartWhat you get
Agent skillThe rules, engine and self-check that draw every icon in one hand. Give Claude Code, Codex or another coding agent a product, and it draws the icons that product needs.
Icon library2,800+ icons: nearly 900 objects, plus badged and slashed "off" versions. For React, Vue, plain JavaScript, web components and static SVG. MIT licensed.
Websiteicons.kubai.design, in 16 languages. Search every icon by name, shape or meaning, recolor it, copy its code or a prompt for your agent, download it as SVG or PNG, and save a collection as a ZIP.

Install the skill

Copy this into your agent and send it:

Install the Kubai Icons skill for me:
clone https://github.com/kubai087/kubai-icons into your skills folder as kubai-icons
(~/.claude/skills in Claude Code, ~/.agents/skills in Codex;
if it's already there, pull the latest version instead),
make sure SKILL.md exists in that folder, and tell me when it's ready.

Restart your agent, and the skill is ready. An agent without skill support can read SKILL.md from the cloned folder and follow it.

[!TIP] The skill asks for careful geometry and several rounds of looking at its own screenshots, so use a capable model that can read images. It was developed and blind-tested with Claude Opus 5.5, which we recommend. Other models, such as GPT in Codex, can use the same skill. In Claude Code, run claude --model claude-opus-5-5.

Install it yourself

Clone the repository into your skills folder. In Codex, use ~/.agents/skills instead.

git clone https://github.com/kubai087/kubai-icons.git ~/.claude/skills/kubai-icons

Or download kubai-icons-v*.zip from the latest release and unzip it there:

unzip kubai-icons-v*.zip -d ~/.claude/skills/

The agent picks the skill up the next time it starts.

Publishing to a skill marketplace that asks for a version and display names in SKILL.md? Upload kubai-icons-v*-platform.zip from the same release. It carries those fields at the top of the frontmatter.

Ask for icons

Describe what you need in plain words. The skill triggers on requests about icons, so you don't need to name it.

  • "Read this repository and draw dynamic icons for its main features."
  • "Add a scissors icon and a map icon to this set."
  • "We need an icon for Export that matches the others."
  • "Give me static SVG files I can drop into Figma."

The agent then:

  1. Reads the rules and writes one line per feature: an everyday object and what it does on hover ("a folder opens", "a lock springs open").
  2. Draws each icon after the closest existing one, reusing the engine.
  3. Runs the self-check beside existing icons, compares sizes, outlines, layers and colors, and repeats until every item on the checklist passes.

To start a set for your own product, the skill copies the engine, gallery and self-check into your project and works there.

Six icons on hover: an alarm clock rings, a notebook opens, a scan line sweeps a QR code, a door opens to an exit arrow, a calculator key presses, a compass needle settles north

Drawn by a fresh Claude session that had nothing but SKILL.md and PROMPT.md. Each blind test closes the gaps it finds in the rules.

Use the icons

PackageFor
kubai-icons-reactReact 18+ and Next.js, server rendering included
kubai-icons-vueVue 3 and Nuxt
kubai-iconsAny page: a framework-free API and the <kubai-icon> web component
kubai-icons-staticStandalone SVG files for <img>, design tools, native apps and CDNs
npm i kubai-icons-react
import { Folder, CalendarCheck } from "kubai-icons-react";

// 24px, follows the text color
<Folder />

// Any CSS color, the soft look, a green badge
<CalendarCheck size={32} color="#22C55E" variant="soft" badgeColor="semantic" />

// Plays when the button is hovered
<button data-kubai-trigger>
  <Folder size={18} trigger="parent" /> Open
</button>

No build step? One script tag loads any icon on demand:

<script type="module" src="https://cdn.jsdelivr.net/npm/kubai-icons@0/dist/cdn/element.js"></script>
<kubai-icon name="folder-plus" size="32" color="#6366F1"></kubai-icon>
  • Moves like the object. A folder opens, an envelope unseals, a calendar turns to the next day. Hover, focus, a tap, a parent element or your own state can play it.
  • One accent, every color. Gradients, outlines, marks and shadows derive from one color through CSS, so icons follow currentColor and recolor without script.
  • Pay for what you use. One side-effect-free ES module per icon, pre-rendered markup, server rendering, and a tiny runtime that only runs while an icon moves.

Find an icon and copy its code on the website. Guides for every package are in the documentation.

How an icon is built

Every icon is a back piece, optional white content and a front piece, like a folder holding a sheet of paper. Outlines sit outside the fill, so shapes keep their full size. Every gradient, outline and shadow derives from one accent color, so a single value repaints the whole icon. Each part has exactly two keyframes, rest and hover.

Eight icons moving through seven palettes: one color per icon, five clear tones, and black

The complete rules are in PROMPT.md.

Reference

What the skill ships
PartWhat it does for the model
PROMPT.mdThe rules, each one a hard requirement: canvas and keylines, layers, corners and outlines, light, color, marks and motion.
src/engine.jsColor derivation, outside outlines, gradients, shadows, interpolation and palettes, already built. New icons reuse them instead of reinventing them.
src/icons.js66 worked examples. Each new icon starts from the closest one in structure.
scripts/check.mjsA headless self-check: rest, hover, every moment in between, 24px, 28px and every palette.

index.html opens a local gallery of these 66 examples. The full library is on the website.

Export static SVG

This exports the skill's own icons, whose names and palettes are in Chinese. For the library, download from the website or use kubai-icons-static.

node scripts/export.mjs --only 文件夹,日历 --palette 薄荷 --out icons/
OptionWhat it does
--palette彩色 (default), 蓝灰, 青瓷, 薄荷, 薰衣草, 杏色 or 黑色.
--accent #hexPaints every icon in one accent color.
--state hoverExports the end of the hover instead of the rest pose.
--size 96Width and height in pixels.
--pad 2.5Room around the canvas, in icon units, so the shadow isn't cut off.
--out dirWhere the files go; export/ by default.
Run the self-check

Needs Node.js 18 or later and Chrome. Everything runs headless.

node scripts/check.mjs --only 剪刀,地图 --with 文件夹,邮件,下载
OptionWhat it does
--onlyChecks only these icons. Without it, the whole set.
--withAdds existing icons beside them for comparison.
--accent #F59E0BPaints every icon in one accent color, to check marks on light accents.
--scale 3Renders every sheet at 3×, to look for seams.
--out dirWrites the screenshots somewhere other than check-out/.

CHROME overrides the browser path. The animations in this README come from node scripts/media.mjs, which also needs ffmpeg and img2webp.

Work on the library and website

Needs Node.js 20 or later; the contact sheets also need Chrome.

npm install
npm run build        # every package, from icons/ and badges/
npm run validate     # names, metadata and markup of every icon
npm test
node tools/check.mjs --only folder,mail --with download   # contact sheets in check-out/lib
npm run site:dev     # the website

Each icon is one module in icons/; docs/authoring.md explains the format. The website is a static Next.js export in site/.

Contributing

  • Improve the skill. Report a rule that left you guessing, run a blind test with a fresh session, or fix a script. Rule changes start from an issue.
  • Add an icon. Draw it with the skill or by hand as a module in icons/, check it with tools/check.mjs, and open a pull request. Merged icons are credited to you on the website.
  • Submit an icon without a pull request. The submission page checks your files and prepares an issue.
  • Request an icon. Open an icon request with the object and what it should do on hover.

See CONTRIBUTING.md and the code of conduct. Security issues go through SECURITY.md.

License

PartLicenseIn short
Icons (icons/, badges/) and the four packagesMITUse, change and redistribute them in any project, commercial or not.
The skillKubai Icons LicenseSource-available. See below.
Website (site/, tools/, tests/, docs/)All rights reservedYou may read the source and run it to prepare a contribution, but not copy or host it.

Under the Kubai Icons License:

  • Your icons are yours. Icons you make with the skill belong to you, for any use including commercial, with no credit required.
  • Ship the engine with them. You may copy the engine, the gallery, the example icons and the self-check into your own icon set's project, change them, and ship that project, as long as the copyright notice at the top of each file stays.
  • Use and share the skill freely. You may run it for any work, change it for your own use, and share exact, unmodified copies for free.
  • Don't republish it as something else. Don't distribute a modified or translated version of the rules (PROMPT.md, SKILL.md), sell the skill, remove its notices, or present it under another name or as your own work.

LICENSING.md lists which file falls under which license. The Kubai and Lumno names and logos are not licensed for reuse. The construction comes from the bookmark folder icon in Lumno.