Token导航 LogoToken导航

Agent Skill · 开发

vanilla-js-ui-race-conditions-(vrm-vs-live2d)(vanilla js ui 竞争条件(vrm vs live2d))

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

vanilla-js-ui-race-conditions-(vrm-vs-live2d) 是开发类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为权限未标注;许可证信息还不明确,暂无第三方扫描结果,按安装量在开发类的 21,746 个 Skill 里排第 1,858。

总安装 23,011周安装 702GitHub Stars 995下载 4,393核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:vanilla-js-ui-race-conditions-(vrm-vs-live2d)(vanilla js ui 竞争条件(vrm vs live2d))
来源仓库:https://github.com/project-n-e-k-o/n.e.k.o
仓库路径:skills/vanilla-js-ui-race-conditions-(vrm-vs-live2d)
安装命令:
npx skills add https://github.com/project-n-e-k-o/n.e.k.o --skill 'Vanilla JS UI Race Conditions (VRM vs Live2D)'
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/project-n-e-k-o/n.e.k.o --skill 'Vanilla JS UI Race Conditions (VRM vs Live2D)'

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

vanilla-js-ui-race-conditions 用于辅助界面设计和交互体验优化。适合整理页面结构、生成 UI 方案或改进组件层级。使用时需结合现有品牌规范和设计系统,避免堆砌装饰元素。涉及真实页面改动时应通过截图或浏览器预览检查文本溢出和对齐。

适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/vanilla-js-ui-race-conditions-(vrm-vs-live2d)

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/project-n-e-k-o/n.e.k.o --skill 'Vanilla JS UI…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    权限没有明确标注,第一次使用时只给一个无关紧要的任务,观察它到底读了哪些文件和网络。

常见问题

6 条

vanilla-js-ui-race-conditions-(vrm-vs-live2d) 怎么安装?

在终端执行 npx skills add https://github.com/project-n-e-k-o/n.e.k.o --skill 'Vanilla JS UI Race Cond…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

vanilla-js-ui-race-conditions-(vrm-vs-live2d) 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

vanilla-js-ui-race-conditions-(vrm-vs-live2d) 需要什么权限?

权限级别没有明确标注。第一次使用时建议只给无关紧要的任务,观察它实际读写了哪些内容。

vanilla-js-ui-race-conditions-(vrm-vs-live2d) 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

vanilla-js-ui-race-conditions-(vrm-vs-live2d) 用的人多吗?

公开数据是累计安装 23,011 次,近一周安装 702 次,下载 4,393 次,GitHub 995 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

vanilla-js-ui-race-conditions-(vrm-vs-live2d) 安全吗?

没有查到第三方扫描结果,安全性无法从公开资料判断,安装前请自行审查源码、依赖和命令行为。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 没有第三方扫描结果,安全性只能靠自己读源码判断。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 要求有安全扫描结论才肯安装的团队。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
vanilla-js-ui-race-conditions-(vrm-vs-live2d)

vanilla js ui 竞争条件(vrm vs live2d) · 本页

23,011995权限未标注未明确未收录

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

应对原生 JS 中的 DOM 竞态与乐观更新陷阱

症状

  • 界面组件(如侧边栏、HUD)在页面初次加载时由于丢失状态而不显示,但手动交互后又能弹出。
  • 界面在开启和关闭之间发生闪烁,或者无法通过代码正确关闭。
  • 绑定在 DOM 元素上的事件监听器未能触发。

根本原因

原因 1: 不同模型/模块的 DOM 懒加载时机不一致

  • 问题: 在处理跨模型(如 Live2D 和 VRM)或模块化应用时,某些弹窗会在首次点击时才 createElement(懒加载)。
  • 为什么发生: 性能优化导致 DOM 并非一上来就在 HTML 里。如果使用固定的 setTimeout(..., 100) 去抓取 DOM 绑定事件,极大概率会面临扑空(DOM 还未生成)。
  • 解决方案: 使用自我终结的递归轮询替代死等。

原因 2: 乐观 UI (Optimistic UI) 与底层状态的竞态冲突

  • 问题: 用户点击开关后,前端乐观地将按钮置为开启并附带动画,同时向后端发起请求。但在后端返回真实 lag 之前,如果其他组件(如轮询的 App)根据空后端或者默认的错误 DOM 被触发检查,会产生互相覆盖的 BUG。
  • 为什么发生: 缺乏统一的单向数据流。
  • 解决方案: 在读取源头状态时,判断 UI 是否处于 disabled(加载中)。如果是,则优先信任 gent_ui_v2 缓存的 optimistic 状态或后端缓存 machineFlags,而不是盲目相信刚建立且尚未同步的 DOM 节点。

代码解决方案

1. 应对懒加载 DOM 的绑定轮询(安全可靠)

`javascript const bindEvents = () => {// 兼容多个 ID 解析 const getEl = (ids) => {for (let id of ids) {const el = document.getElementById(id); if (el) return el;} return null;};

const targetEl = getEl(['live2d-agent-keyboard', 'vrm-agent-keyboard']);

// 如果没找到,自己建立一个 500ms 后的新宏任务来重试,然后 return 本次任务。
if (!targetEl) {
    setTimeout(bindEvents, 500);
    return;
}

// 找到了,顺次执行并结束,不会留下任何定时器垃圾
targetEl.addEventListener('change', myLogic);
myLogic(); // 手动触发第一次检查

};

setTimeout(bindEvents, 100); // 发动第一下 `

2. 多源状态判定降级(防止覆盖)

`javascript const checkState = () => {const isUiInteractive = domCheckbox &&!domCheckbox.disabled; let isFeatureOn = false;

if (!isUiInteractive) {
    // UI 在转圈加载,信任乐观状态或后端缓存
    isFeatureOn = optimisticState !== undefined ? optimisticState : backendFlags;
} else {
    // UI 处于可用交互态,百分百信任当前 DOM
    isFeatureOn = optimisticState !== undefined ? optimisticState : domCheckbox.checked;
}

} `

关键经验

  • 永远不要用硬编码的 setTimeout 时长来假定某个资源或 DOM 一定会加载完毕。
  • 如果没有 React 这种 Virtual DOM 框架,手动处理跨组件通讯时要随时当心当前脚本运行时的真实 DOM 快照情况。

平台分布

Codex

35.32%
按下载量换算1,552

Claude

32.7%
按下载量换算1,437

Cursor

17.79%
按下载量换算782

Gemini CLI

10.01%
按下载量换算440

安全审计

暂无安全审计结果可展示。

权限和风险

权限未标注

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills