bama
BAMA: 모든 Mac 앱을 만들 수 있습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A curated, tagged design-resource catalogue plus an agent skill suite that works like a senior designer - web, mobile and desktop apps, motion, icons, brand and graphic design. 设计资源目录 + 让 agent 像资深设计师一样工作的 skill 套件。
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A designer for coding agents (Claude Code, Codex…): three skills that take any design intent from brief to handoff, review a design or a build with a fresh eye, and build an existing design in your stack; plus a hand-curated, bilingual catalogue of 800+ design resources, an evidence layer of primary-source digests, and an eval harness. Skills are written in English; this README and the research syntheses are in Chinese.README 전문 보기 ↗A designer for coding agents (Claude Code, Codex…): three skills that take any design intent from brief to handoff, review a design or a build with a fresh eye, and build an existing design in your stack; plus a hand-curated, bilingual catalogue of 800+ design resources, an evidence layer of primary-source digests, and an eval harness. Skills are written in English; this README and the research syntheses are in Chinese.
在线页面:https://caocong1.github.io/design-skill-lab/ (首页 · 资源目录 · 套件导览 · 十六种方向的实验页)
这个仓库做四件事:
design-studio、critique-design、implement-design。docs/data/catalog.json 为准)。逐条写明适合查什么、怎么直达、授权、档位、agent 能不能直接读到,中英双语,每条都有缩略图或排字卡。Claude Code 插件(推荐):
/plugin marketplace add caocong1/design-skill-lab
/plugin install design-skill-lab@design-skill-lab
Codex 或手动安装:把 skills/ 下的三个目录整套链进去。
git clone https://github.com/caocong1/design-skill-lab
cd design-skill-lab
mkdir -p ~/.claude/skills # Codex:~/.codex/skills
for d in skills/*/; do ln -sfn "$PWD/${d%/}" ~/.claude/skills/"$(basename "$d")"; done
python3 ~/.claude/skills/design-studio/scripts/feedback_status.py # 自检:反馈采集开着吗,为什么
最好整套装:critique-design 和 implement-design 会读 design-studio 的参考文件和脚本。单独装时,它们的 SKILL.md 也能独立使用。用符号链接安装还有一个好处:git pull 就是升级,反馈也能写回本仓库(见下文"使用反馈")。拷贝安装得到的是副本,升级要重装,反馈采集默认是关着的;宿主自带的安装器也可能是拷贝(2026-09 观察到 Codex 的 skill-installer 是整目录拷贝)。副本也能开采集:把环境变量 DESIGN_SKILL_LAB_INBOX 设成一个已存在的文件夹,条目就写到那里。任何安装方式装完都可以跑上面那条自检。
Windows 上的 Codex(2026-09-29 在 Windows 11、Python 3.14、Node 24 上验证):让 Codex 用它自带的 skill-installer 安装,agent 实际执行的是下面第一条;得到的是副本。
python "$env:USERPROFILE\.codex\skills\.system\skill-installer\scripts\install-skill-from-github.py" --repo caocong1/design-skill-lab --path skills/design-studio skills/critique-design skills/implement-design
python "$env:USERPROFILE\.codex\skills\design-studio\scripts\feedback_status.py" # 自检
Destination already exists 并中止,不会覆盖。先把旧的三个目录改名或删除再装;--ref 可以指定分支或标签。DESIGN_SKILL_LAB_INBOX 设成一个已存在的文件夹。capture.mjs 会打印一条 npx 命令。在 PowerShell 里给它字面路径:npx 的包装脚本会重新解析命令行,命令里的 $script: 变量它取不到。从 0.7.x 升级:原来的 10 个子 skill 已经并入 design-studio,iterate-design-lab 移到了 .claude/skills/。清理失效链接的命令和旧名字的去向见 CHANGELOG.md 0.8.0 的"弃用与迁移"。
装好以后直接说需求,不用点名 skill:
根据这份需求给设备运维后台出一套完整设计,先给三个方向让我选。
这是我们的官网 https://example.com ,找几个参考,告诉我首屏和导航可以怎么改。
我们的巡检 App 整体 UI 优化一下,现有页面在 src/pages/ 下。
给我们的 Flutter 巡检 App 设计设备列表页,手机和平板各一版,最后打一个交接包。
走查 src/views/dashboard 的界面,输出带证据和优先级的评审报告。
照 .design/handoff/tickets/ 的交接包,用 Vue 3 + Element Plus 把工单页实现出来,截图对照验收。
| skill | 版本 | 什么时候用 |
|---|---|---|
design-studio | 0.15.0(suite 版本) | 一切设计意图:完整设计;单个页面、组件、流程、动效、图标、Logo、海报;多套方案;找灵感;整体重设计;设计系统;交接包 |
critique-design | 0.3.5 | 评审、走查、打分、无障碍检查、按交接截图验收实现;也是 design-studio 在新上下文里调用的独立评审 |
implement-design | 0.3.4 | 已经有设计稿、交接包或样稿,要在具体技术栈里实现,并用截图证明还原度 |
模式(契约,名字不变):full、piece、options(可以叠加在任何模式上)、inspire、critique、redesign、handoff、implement。"整体 UI 优化""改版"按 redesign 处理,从产品的功能重新出发,而不是打磨细节。
投入档位按范围选,agent 会说明选了哪一档:
| 档位 | 范围 | 做什么 |
|---|---|---|
quick | 一个组件、图标、小改动、单张图 | 读 → 画 → 渲染 → 底线检查 → 交付 |
standard | 一个页面、流程、品牌物料、找灵感、交接 | quick 之外,看参考、定一小片系统(token)、独立评审、拔高一轮 |
deep | 完整设计、重设计、多个界面或多个目标平台 | 完整的 12 步循环,发散和评审用隔离的子 agent |
循环(deep 走全程):看宿主 → 真相文件(PRODUCT.md、brief、每个界面一份契约)→ 采集参考、出联系表 → 发散(找出品类的惯性 → 参照 → 带种子的随机抽取 → 每个方向一个隔离的子 agent → 方案板)→ 收敛(用户选)→ 系统(DESIGN.md + token)→ 按契约画 → 渲染与底线检查 → 在新上下文里独立评审 → 拔高 → 交付或交接 → 复盘。验证有上限:一轮批量截图、一批修复、至多一轮确认,剩下的如实交代。完整契约在 skills/design-studio/SKILL.md(200 行以内)。
迭代用语:bolder、quieter、distill、harden、clarify、typeset、recompose、colorize、streamline、delight。一个词对应一种改法,其余不动。比如"标题区 typeset 一下"。
维护本仓库用的 iterate-design-lab(0.3.0)在 .claude/skills/,只在本仓库里可用,不随插件安装。
skills/design-studio/references/platforms/(iOS 26–27 Liquid Glass、Android 16 / Material 3 Expressive、HarmonyOS 5/6、小程序、桌面、Web、嵌入宿主),样机套件在 skills/design-studio/assets/mockup-kit/。color_tools.py 算;截图和联系表用 capture.mjs;渲染后的页面用 lint.mjs 做确定性底线检查(见下文"脚本")。宿主项目里默认写到 .design/:
.design/
PRODUCT.md brief.md function-map.md decisions.md
surfaces/<surface>.md 每个界面一份契约(0.8.0 新增)
inspiration/<topic>/ 笔记、截图、联系表
directions/<round>/ 方案板 index.html 与方向卡
system/ DESIGN.md、tokens、preview.html
screens/ motion/ icons/ brand/ graphics/
handoff/<feature>/ 规格、handoff.json、截图、素材、验收报告
critique/<date>-<target>/ 评审报告与精选证据截图,入库(0.8.0 新增)
shots/ 批量截图,不入库
PRODUCT.md 也是 0.8.0 新增的。宿主项目自己有约定(例如 design/、docs/design/、.stitch/ 目录,或 AGENTS.md、CLAUDE.md 里的说明)时照宿主的来;宿主已有 DESIGN.md、token 文件或主题化组件库时原地更新,不另起一套。每个文件都有模板,在 skills/design-studio/templates/:抄结构,不抄里面的值。
文件
| 文件 | 谁写 | 内容 |
|---|---|---|
catalog/resources.jsonl | 人工策展(唯一手改的数据) | 一行一条资源,schema v2 |
catalog/taxonomy.json | 人工 | 15 个域、83 个小节、kind 枚举,都有中英标题与说明 |
catalog/shot-overrides.json | 人工 | 个别站点的截图修正:换地址、隐藏元素、等待、强制用 og 图或排字卡 |
catalog/observed.jsonl | scripts/check-links.py,只追加 | 机器观测:id、checked_at、http、final_url、agent_access(static / js / blocked / unknown)、title、note;同一 id 以最新一条为准 |
docs/assets/thumbs/manifest.json | scripts/shoot-catalog.mjs | 每条的缩略图来源(screenshot / github / og / placeholder)、尺寸、字节、抓取时间、最终地址、HTTP 状态、像素质检(qa.verdict、灰度标准差、边缘密度、主色占比)和尝试记录 |
一行的字段:id、name(可选 name_zh)、url、domain、section、also(第二归属,域:小节)、kind、tags(最多 6 个)、best_for / how_to_use(为什么来、怎么直达:筛选维度、深链写法、API)、zh(中文一句话,必填;可选 zh_how)、access(free / freemium / paid)、login、license、tier(S 同类首选,每个域不超过 15%,而且 agent 要能读到或有 entry_points / api / A 可靠 / B 小众或有明显短板)、status(active / slow / archived / sunset)、lang、region、entry_points、api、caveats、origin、added。
生成物(勿手改,scripts/build-catalog.py 把以上文件合在一起生成):agent 运行时读的 skills/design-studio/references/catalog/(catalog.jsonl 投影、各域视图);站点数据 docs/data/(catalog.json、catalog.js、thumbs.js、给实验页的 lab-catalog.js、给 agent 读的纯文本 llms.txt);首页和目录页里 <!-- gen:* --> 之间的静态区块。
2026-09-27 的状态:S 档 92 条、A 档 587 条、B 档 133 条;agent 可达性(维护者网络下 curl 实测)static 628 条、js 121 条、blocked 60 条、unknown 3 条;缩略图 807 张通过质检(756 张截图、38 张 GitHub 社交卡、13 张 og:image),另外 5 条用排字卡。
怎么查:在线页面的资源目录(搜索支持中文、分面计数、键盘操作、URL 可分享);agent 用 python3 skills/design-studio/scripts/catalog.py find 配色 --domain color,或用 route "<问题>" 找该看哪个域。
怎么加:在本仓库里对 agent 说"用 iterate-design-lab 把这几个站点加进目录:……"。它会查重、实际访问、写中英条目、验链、截图、重建,最后跑闸门。
research/sources/:一份一手来源一个摘要。头部写 url、抓取日期、方法、复核期限;正文是转述,不做镜像。2026-09-27 共 40 份:16 份从旧摘要迁入并重读,24 份新增(Apple Liquid Glass、Material 3 Expressive、HarmonyOS、Fluent 2、WCAG 2.2 与各地无障碍法规、Web Baseline、DTCG 2025.10、DESIGN.md、MCP Apps / Apps SDK / A2UI、AI 标识法规、同类 skill、OOUX、变更厌恶、jlreq、CJK 字体授权)。新增的每份都由独立 agent 对照原文核对过。research/topics/:9 篇中文主题综合。每篇写当前结论、论证、未决问题、对 skill 的约束和变更记录。research/field/:现场证据,包括本站自用记录、匿名化的宿主复盘和评测汇总(evals-2026-09-27.md、evals-2026-09-28.md)。research/INDEX.md:由 scripts/build-research-index.py 生成,列出每份来源被哪些 skill 文件引用。复核期限一过,闸门就会失败。digest / practice / measured)、来源 id 和复核期限(易腐 +90 天,耐久 +365 天)。说明见 research/README.md。
evals/triggers.jsonl 共 100 条中英请求,其中 45 条是近似但不该触发的请求或负例。一个模型只看三份 skill 描述,为每条请求选一个 skill 或选"都不用"。facts.mjs 把帧底边上的一行深底浅字读成了白底,报出一条假的对比度失败(记在套件样本头上)。已修复并加了回归测试,两轮 54 份产物全部重测,只有这一条事实有变;受影响的那一组用正确的事实重评,旧评审存档但不计。见报告第 5 节和 research/field/evals-2026-09-28.md。evals/runs/ 和站点的套件页,汇总写进 research/field/,输了也照样公布。方法见 ,评审规则见 。套件在本地项目里使用时,如果 agent 能解析到本仓库的 feedback/inbox/(符号链接安装时可以),就会静默记下被纠正、指引出错、流程别扭、能力缺口和偏好,宿主项目只按形态描述,不写名字。scripts/collect-feedback.py 把它们聚合成 feedback/report.md;iterate-design-lab 的 evolve 模式分级消化。scripts/evolve.sh 可以挂 launchd 每周跑,但无人值守时只在 evolve/<日期> 分支上写提案和措辞修正,等主人合并。拷贝安装和插件安装解析不到 inbox,采集默认是关着的。三条路:设 DESIGN_SKILL_LAB_INBOX 指向一个已存在的文件夹(本仓库的 feedback/inbox/,或任意文件夹,之后 --import);直接问 agent"反馈采集开着吗",它跑 feedback_status.py 回答;或让它把复盘写成未提交的草稿,再用 scripts/collect-feedback.py --import 收进来。约定见 feedback/README.md。
skills/ 随插件发布的三个 skill
design-studio/ SKILL.md · references/(process、disciplines、platforms、fundamentals、catalog〔生成〕)
· templates/ · scripts/ · assets/mockup-kit/
critique-design/ SKILL.md · references/(rubric、heuristics)· templates/(评审报告、评审子 agent 简报)
implement-design/ SKILL.md · references/stacks.md
.claude/skills/ 仓库内的维护 skill iterate-design-lab
.claude-plugin/ 插件与市场清单(仓库根即插件根)
catalog/ 资源目录:事实来源、分类、机器观测、截图修正
research/ 证据层:sources/、topics/、field/、log.md、backlog.md、INDEX.md(生成)
evals/ 评测:briefs/、triggers.jsonl、评审协议、渲染与测量工具、runs/(各轮结果)
docs/ GitHub Pages:首页、catalog/、skills/、lab/(十六种方向)、data/(生成)、assets/
scripts/ 仓库工具(见下)
feedback/ 使用反馈:inbox/、report.md(生成)、proposals.md、log.md、archive/
raw/repos/ 上游仓库的浅克隆(git 忽略;怎么重新克隆见 research/README.md)
.github/workflows/ CI:闸门 + 站点冒烟测试
package.json 固定版本的 Playwright 与 axe-core,只给仓库工具用
skill 脚本:在 skills/design-studio/scripts/ 下,随 skill 发布,给宿主项目里的 agent 用。每个都支持 --help。
| 脚本 | 做什么 |
|---|---|
capture.mjs + lib/capture-core.mjs | Playwright 截图:地址 × 视口 × 明暗 × 状态;语言与时区(--locale、--timezone);复用登录态、校验构建标记、移除同意弹窗;遇到反爬页、空白页、报错页时以非零码退出;--sheet 出联系表;报告里有批次标识和每张图的摘要,--freeze 冻结交给评审的那一批;路由表里每条路由可以有自己的视口,一次运行拍完一份样稿的各个帧;整页截图超过 Chrome 能画的高度时判失败 |
shot.sh | 零依赖兜底(Chrome 命令行),检测项比 capture.mjs 少 |
lint.mjs | 渲染后页面的确定性底线检查。不过就以退出码 1 结束的:文字对比度(计算加实测)、横向溢出、无名控件;只报警告的:点击区域、transition: all、减少动效、中文排版、token 漂移等 |
color_tools.py | WCAG / APCA 对比度、OKLCH 色阶、色觉模拟 cvd、matrix --from tokens.css |
catalog.py | 查资源目录:find / show / route / recipes / domains(标准库) |
seed.py | 发散时的种子抽取:由 brief、轮次和用户种子决定哪些参照上方案板、谁领头;行尾 pinned 的用户参照单独占位、退出随机池,避免重复 |
feedback_status.py | 自检:这份安装的反馈采集是开是关、条目写到哪、为什么(标准库,macOS / Linux / Windows) |
text_to_path.py | 把字标按字体文件转成 SVG 路径(需要 venv 里的 fontTools) |
仓库工具:在 scripts/ 下。
| 脚本 | 做什么 |
|---|---|
check-lab-invariants.sh → gates.py | 完成的定义,G1–G9 九道闸门:资源目录与生成物 · 缩略图清单 · 来源头部与 INDEX · skill frontmatter、行数预算、reference frontmatter、链接与路径 · 反馈条目 · 触发测试集 · 版本一致 · docs/ 不手写目录数字、链接可达 · 不跟踪杂散文件 |
build-catalog.py(+ site_pages.py) | 校验目录并重建全部生成物;--check 只校验 |
check-links.py | 用 curl 验链,结果追加到 catalog/observed.jsonl;识别挑战页、停放域名、软 404;按主机串行 |
shoot-catalog.mjs | 缩略图:GitHub 仓库用社交卡,其余截图,截图失败或质检不过时退到 og:image,再退到排字卡;每次运行都复检已有文件 |
smoke-site.mjs | 站点冒烟测试:控制台无报错、axe 无严重问题、390 和 320 宽无横向溢出、图片与链接可达、搜索黄金用例、首页体积预算、旧链接跳转、生成区块与数据一致 |
build-research-index.py | 校验来源头部并生成 research/INDEX.md |
collect-feedback.py · evolve.sh | 聚合反馈 · 无人值守的反馈消化(只出提案分支) |
test-feedback-status.py | skill 脚本 feedback_status.py 的自测:链接、拷贝、插件、环境变量四种安装各该怎么回答;CI 在 Linux 和 Windows 上跑 |
test-seed.py | seed.py 的自测:六方向去重、确定性、pinned 参考退出随机池且与 rolled 合并后不重复;CI 在 Linux 和 Windows 上跑 |
依赖分三层,各管各的:skill 脚本只要 Python 标准库和一个 Chromium 系浏览器;capture.mjs 和 lint.mjs 需要 Playwright,项目里装了就用,没装时给出固定版本的 npx 命令,从不拉取未固定的版本。仓库工具里的 Python 全部只用标准库,截图和冒烟测试用 package.json 里固定版本的 Playwright。evolve.sh 需要本机装好 claude CLI。
evals/runs/ 和套件页为准,包括输的部分。evidence: practice)。完成的定义:scripts/check-lab-invariants.sh 退出码为 0(标准库、不联网、几秒内跑完)。CI 在每次 push 和 PR 上跑闸门和站点冒烟测试。
scripts/check-lab-invariants.sh # G1–G9;也可以只跑几道:scripts/check-lab-invariants.sh G4 G7
scripts/build-catalog.py # 改了 catalog/ 之后重建全部生成物(--check 只校验)
scripts/check-links.py --ids a,b # 验链并追加观测(不带 --ids 为全量;--dry-run 不写)
npm ci && npm run shoot -- --ids a,b # 缩略图(--sheet review.png 出联系表供人工复核)
npm run smoke # 站点冒烟测试
python3 scripts/build-research-index.py # 加了或复核了来源之后重建 research/INDEX.md
scripts/collect-feedback.py # 聚合反馈(--check / --archive / --import)
scripts/evolve.sh --dry-run # 看无人值守的反馈消化会做什么
按改动类型:
catalog/resources.jsonl(必须有 zh)→ check-links.py --ids → npm run shoot -- --ids → build-catalog.py → 闸门。docs/ 里的目录数字只能由 build-catalog.py 写进 <!-- gen:* --> 区块;跑 npm run smoke;GitHub Pages 从 main:/docs 发布,Pages 构建显示 built 才算上线。research/sources/<id>.md 的 fetched / review_by,同步引用它的 reference,重建 INDEX,在 research/log.md 记一笔。skills/design-studio/SKILL.md、本 README、CHANGELOG.md 顶部条目和 .claude-plugin/ 两个清单里保持一致(闸门 G7)。skill 版本记录在各 SKILL.md frontmatter 的 metadata.version(design-studio 的版本就是 suite 版本,suite 当前 0.15.0),遵循语义化版本,作用于契约(模式、交付物、产出目录结构、reference 路径);0.x 期间契约仍在定型。每次迭代都记在 CHANGELOG.md;逐来源的抓取日期与复核期限见 research/INDEX.md。
原创内容(skill、脚本、目录条目、研究综合、评测、页面)以 MIT 许可发布;许可范围和第三方材料的说明见 NOTICE。目录里出现的站点名称和商标归各自所有者;research/sources/ 是第三方作品的转述式学习摘要,原文版权归原作者,其中 research/sources/shape-of-ai.md 按其来源的 CC BY-NC-SA 许可提供。
evals/README.mdevals/judging.md