# skills **Repository Path**: webthree/skills ## Basic Information - **Project Name**: skills - **Description**: AI 技能集合 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-30 - **Last Updated**: 2026-11-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Skills 前端组件与素材工作流相关的 Skill 集合。每个 Skill 一个目录,内含 `SKILL.md`(触发条件、规范、模板)与 `scripts/`、`assets/` 等配套资源;`SKILL.md` 的 frontmatter(`name` + `description`)决定它何时被触发,正文写规范、模板与验证流程。 ## 目录结构 ``` skills/ ├── LICENSE # 本仓库自研 skill 的 MIT 授权(署名见文件) ├── README.md ├── html-component/ # qy- 组件本体封装规范 │ └── SKILL.md ├── doc-demo-page/ # qy- 组件「文档 + 演示」页规范 │ ├── SKILL.md │ ├── assets/doc-demo-template.html # 九节结构骨架模板(含左侧章节导航,替换占位符) │ └── scripts/verify-demo-page.cjs # 演示页静态校验(E1–E7 / W1–W4) ├── python-style/ # Python 编码硬约束(入口 / 命名 / 注释 / 标注) │ ├── SKILL.md │ ├── assets/script-template.py # 合规脚本骨架(可真实运行,已通过自身校验) │ └── scripts/check_python_style.py # AST 静态校验器(E01–E90 / W14–W41,退出码判定) ├── asset-sourcing/ # 外部素材的取源与本地化(在线地址只作获取途径) │ └── SKILL.md ├── localize-demo-assets/ # 存量演示页去外网引用,资源收进仓库级 assets/ │ └── SKILL.md ├── blender-glb-export/ # Blender 工程 → GLB,含程序化材质烘焙 │ ├── SKILL.md │ └── scripts/bake_to_glb.py # 烘焙 + 导出一体化脚本(缺 UV 自动展、Cycles 自动切换还原) ├── bronya2-workpanel-dev/ # Bronya2 项目总规范(风格 / 架构 / 双栈约定) │ └── SKILL.md ├── bronya2-schema-version-migration/ # SQLite schema 版本号迁移流程 │ └── SKILL.md ├── bronya2-web-dualstack-run-and-verify/ # Web 双栈启动与路由 / CSS 验证 │ └── SKILL.md ├── bronya2-hover-action-list-rows/ # 悬停浮现操作按钮的紧凑列表行 │ └── SKILL.md ├── ponytail/ # 第三方收录:懒资深工程师模式 │ ├── SKILL.md │ └── LICENSE # 上游 MIT 原文,署名归原作者 ├── simplify-codebase/ # 第三方收录:偶发复杂度审计与收敛 │ ├── SKILL.md │ └── LICENSE # 上游 MIT 原文,署名归原作者 ├── img2threejs/ # 第三方整包收录:参考图 → 程序化 Three.js 模型 │ ├── SKILL.md # 常驻路由:操作顺序 + 硬规则(上游逐字,未改写) │ ├── forge/ # 核心管线,234 个 .py,纯标准库、按 stage 分目录 │ ├── grimoire/ # 各门评分标准 / 逐门契约 / 脚本参考 │ ├── docs/ # 安装、插件、材质、集成、GLB 三条 prompt │ ├── scripts/ci/ # README 表格生成、docs 质量门 │ ├── integrations/glb_character_pipeline/ # 可选:GLB 角色管线(自带 pyproject / uv.lock) │ ├── bin/img2threejs.mjs # npm 安装器(把 skill 链进各 agent 宿主) │ └── LICENSE # 上游 Apache-2.0 全文,署名归原作者 └── teardown/ # 第三方整包收录:真实机器 → 可拆解的 3D 仿真页 ├── SKILL.md # 建造规则 / 视觉硬约束 / 逐帧复查(上游逐字,未改写) ├── sims/kit/ # 运行时、3D 舞台、HUD、shader 预热 ├── sims/*-shared, *-live, *-film/ # 3 台整机样例:机器本体 / 交互页 / 录制页 ├── sims/build.mjs, capture.mjs # 打包单文件离线 HTML / 逐帧渲染 60 fps mp4 ├── sfx/ # 程序化配乐(12 个 CC0 录音 + 合成 / 混音 / 响度) ├── docs/ # 上游 README 引用的 3 个演示动图 └── LICENSE # 上游 MIT 全文,双署名归原作者 ``` ## 项目内 Skills | 类别 | Skill | 一句话作用 | |---|---|---| | 组件 | [`html-component`](html-component/SKILL.md) | 生成 `qy-` 前缀的封装 JS 组件:默认 CSS/JS 文件分离(`qy-{name}.js` 走 AMD + `index.html`),也可单文件内联 IIFE。 | | 组件 | [`doc-demo-page`](doc-demo-page/SKILL.md) | 给 `qy-` 组件产出「文档 + 可运行演示」的 `index.html`:固定九节结构 + 长页左侧章节导航,配套静态校验脚本。 | | 素材 | [`asset-sourcing`](asset-sourcing/SKILL.md) | 新页面要用的库 / 图标 / 图片 / 视频 / 模型怎么取:在线地址只作获取途径,一律先下载到仓库级 `assets/` 再本地引用。 | | 素材 | [`localize-demo-assets`](localize-demo-assets/SKILL.md) | 存量演示页离线化:盘点仍在直连 CDN 的资源,收进同一套 `assets/` 并改写引用,做到运行时零外网。 | | 素材 | [`blender-glb-export`](blender-glb-export/SKILL.md) | `.blend` 导出 GLB:glTF 不认程序化节点材质,先用 `bake_to_glb.py` 烘成 BaseColor / Roughness / Normal 再导。 | | Python | [`python-style`](python-style/SKILL.md) | Python 脚本硬约束:`main()` 唯一入口、默认不引 argparse、命名可读 + Google 中文 docstring + 类型标注,附 AST 校验器。 | | bronya2 | [`bronya2-workpanel-dev`](bronya2-workpanel-dev/SKILL.md) | 该项目的总规范,动任何代码前先读:风格贴现有代码、双栈选型边界、渲染层禁止直连 Node API 一律走 `src/api/*`。 | | bronya2 | [`bronya2-schema-version-migration`](bronya2-schema-version-migration/SKILL.md) | 改 SQLite 表结构:只读体检版本号 → 幂等建表与判列迁移 → 注册进 `initDatabase()` → 只读验证,防静默失败。 | | bronya2 | [`bronya2-web-dualstack-run-and-verify`](bronya2-web-dualstack-run-and-verify/SKILL.md) | Web 联调:vite 与 Express 必须同起,先 `curl` 打 `/api` 再看 UI,截图不可用时改用 DOM 几何断言。 | | bronya2 | [`bronya2-hover-action-list-rows`](bronya2-hover-action-list-rows/SKILL.md) | 侧栏紧凑列表行:固定 `padding-right` 预留按钮位,按钮组绝对定位靠 opacity 显隐,hover 不抖动。 | 分工:`html-component` 管组件本体、`doc-demo-page` 管它的说明页;素材这条线是 `asset-sourcing`(从零取源)→ `localize-demo-assets`(存量改造)→ `blender-glb-export`(3D 导出);四个 bronya2 skill 里 `bronya2-workpanel-dev` 是总规范,其余三个各管一个横切场景并回指它。`blender-glb-export` 依赖已连接的 Blender MCP。 ## 第三方开源 Skills 两条收录路线,形态不同,别混着用: - **精简收录**(`ponytail`、`simplify-codebase`):上游是多文件技能包,本仓库只取主 `SKILL.md` 并精简改写(非逐字副本)。当方法论备忘够用;要完整能力请从上游安装。 - **整包收录**(`img2threejs`、`teardown`):上游整棵树**逐字落地**,脚本可直接跑,离线可用。`img2threejs` 仅排除了 `.github/`(上游的 workflow 会跟着本仓库 CI 跑起来);`teardown` 上游没有 `.github/`,故无任何排除项。 | Skill | 上游 | 一句话作用 | |---|---|---| | [`ponytail`](ponytail/SKILL.md) | [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail) | 常驻「懒资深工程师」模式:自上而下止损——需要存在吗(YAGNI)→ 仓库已有同类实现 → 标准库 → 平台原生 → 已装依赖 → 能否一行,最后才是最小实现;修 bug 要求打根因。 | | [`simplify-codebase`](simplify-codebase/SKILL.md) | [tt-a1i/simplify-codebase](https://github.com/tt-a1i/simplify-codebase) | 偶发复杂度审计:Survey 只读产证据,Change 需授权才动代码;目标是减少「概念与义务」的数量,减行数只是佐证。删对外接口或兼容路径视为产品决策。 | | [`img2threejs`](img2threejs/SKILL.md) | [img2threejs/img2threejs](https://github.com/img2threejs/img2threejs) | 参考图 → **纯代码**程序化的 Three.js 模型:intake 探图 → pre-spec 质量契约 → sculpt spec → 逐 pass 生成(blockout→structure→form→material→lighting→interaction→optimization)→ 渲染截图与参考图逐 pass 对比自纠。产物是 TypeScript 的 `THREE.Group` 工厂,带 pivots / sockets / colliders,可直接动画;显式声明近似与不可见面,不伪造置信度。 | | [`teardown`](teardown/SKILL.md) | [elvarofficial/teardown](https://github.com/elvarofficial/teardown) | 把真实机械做成**单文件离线 HTML** 的可拆解仿真页:中间跑机器、四周面板读驱动同一套模型的真实数值、按钮打开正在做功的部件、无人操作时自动巡览;同一条时间轴再逐帧录成 60 fps 视频并配同步程序化音乐。自带十字曲轴 V8 / Cessna 337 主起落架 / 20 腿 Strandbeest 三台整机可抄。 | **第三方技能属外部代码,启用前建议先审阅其 `SKILL.md`。** `img2threejs` 的运行入口(在 `img2threejs/` 目录下;Python 3.10+ 即可,核心零依赖,`npx` 安装器另需 Node ≥ 18): ```bash cd img2threejs python forge/state.py init --state .img2threejs/state.json --reference <参考图> --profile generic --spec object-sculpt-spec.json python forge/next.py --state .img2threejs/state.json # 每轮先问「下一步跑什么」,别凭记忆续 ``` 内建 profile 只有 `generic`(硬表面物件)与 `character`(角色);`cs2`、`animated-character`、`environment` 等域插件由上游 `img2` harness 单独安装,本仓库不带。已知问题:Windows 下 `forge/tests` 有 1 个用例(`test_cli_replay_matches_the_frozen_oracle`)因 CRLF 行尾比对失败——1416 个用例其余全过,属上游可移植性问题(oracle 未按二进制模式比对),非本仓库引入。 `teardown` 的运行入口(在 `teardown/` 目录下;需 Node ≥ 20,录视频另需 `ffmpeg` 与 Python 3,首次运行要装 Chromium): ```bash cd teardown npm install && npx playwright install chromium node sims/build.mjs v8-live # → teardown-out/dist/v8-live.html,单文件离线,约 800 KB node sims/build.mjs # 6 个构建目标全出 ``` 每台整机样例有 `-shared`(机器本体)、`-live`(可交互页)、`-film`(录制巡览)三套目录;`sims/capture.mjs` 逐帧出 60 fps mp4,`run_sfx.py` 按同一时间轴生成配乐。上游 `.gitignore` 只挡 `node_modules/`、`teardown-out/`、`__pycache__/`、`*.pyc`,本仓库收录的 73 个文件都能正常入库。 ## 许可与出处 本仓库的授权分三层,请勿混同: - **根目录 [`LICENSE`](LICENSE)**:MIT,署名 `Copyright (c) 2026-present SystemLight`。**仅覆盖本项目自研的 skill**(除 `ponytail/`、`simplify-codebase/`、`img2threejs/`、`teardown/` 四个第三方收录件之外的全部目录)。 - **`ponytail/` 与 `simplify-codebase/`**:第三方收录件,著作权与署名归**原作者**,按各自上游的 MIT 分发,许可全文已随目录保留在 `/LICENSE`。这两份上游 MIT 的署名与本仓库根 LICENSE 相互独立,再分发时需一并保留。 - **`img2threejs/`**:**Apache-2.0**,全文在 `img2threejs/LICENSE`,版权归上游作者。它比 MIT 多了几条硬义务:保留全部版权 / 专利 / 商标 / 归属声明(`README.md`、`assets/` 里的赞助商标志属归属声明),**改动过的文件须在其中标注已修改**,再分发须附许可全文;同时含明确的专利授权与商标不授权条款。 - **`teardown/`**:同为第三方收录件,MIT,但 `teardown/LICENSE` 是**双署名**(© 2026 elvarofficial + © 2026 whaleyxbt)——运行时、帧捕获、声音引擎与复查规则来自其上游 `whaleyxbt/claude-motion`(同为 MIT),许可全文已随目录保留。`sfx/samples/` 的 12 个录音是 CC0 1.0,取自 `Barty-Bart/motion-graphics`,逐条作者与来源见 `sfx/samples/SOURCES.md`;`docs/` 的 3 个动图是上游 README 的预览素材。整包逐字入库、文件内容一律未改,故无需添「已修改」标注。 | 目录 | 上游仓库 | License | 抓取时的 HEAD commit | 本地形态 | |---|---|---|---|---| | `ponytail/` | [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail) | MIT © 2026 DietrichGebert | `e3ba2aa6f1e6` (2026-09-14) | `SKILL.md` 为**压缩改写版**(上游是多文件 skill 包,此处压成单文件),非逐字副本 | | `simplify-codebase/` | [tt-a1i/simplify-codebase](https://github.com/tt-a1i/simplify-codebase) | MIT © 2026 simplify-codebase contributors | `5da55efcb52d` (2026-09-04) | 上游主 `SKILL.md` 为 96 行并带 `references/` 等附属文件,本地 81 行为**精简改写版** | | `img2threejs/` | [img2threejs/img2threejs](https://github.com/img2threejs/img2threejs) | Apache-2.0 © img2threejs contributors | `3e7099e1b7fe` (2026-10-27) | **整包逐字副本**(357 文件 / 5.6 MB),仅移除 `.github/`(上游 13 个 workflow 面向其自有仓库,会跟着本仓库 CI 跑起来);文件内容一律未改,故无需添「已修改」标注。唯一例外:`integrations/glb_character_pipeline/node/package-lock.json` 被上游自带 `.gitignore` 的 `package-lock.json` 规则挡住,入库需 `git add -f`(不影响使用,该管线走 `npm install` 而非 `npm ci`) | | `teardown/` | [elvarofficial/teardown](https://github.com/elvarofficial/teardown) | MIT © 2026 elvarofficial / whaleyxbt | `a91262ac1109` (2026-10-31) | **整包逐字副本**(73 文件 / 16 MB,其中 `docs/` 的 3 个演示 gif 占 14 MB);上游无 `.github/`,故无排除项;文件内容一律未改 | MIT 与 Apache-2.0 都是宽松协议:允许商用、修改与闭源再分发,不传染本仓库其余代码,也不要求你把自研 skill 开源;硬性义务就是上述「保留原作者许可全文与版权声明」(Apache-2.0 另加变更标注与专利/商标条款)。`teardown/sfx/samples/` 的 CC0 录音没有署名义务,但再分发时请连同 `SOURCES.md` 一起保留,别把来源弄丢。日后若从上游同步更新,请同步替换对应 `LICENSE` 并更新本表的 commit 号与本地形态描述。