skills/image-pixel-viewer-yashu/SKILL.md
在浏览器中启动图片像素查看器,实时显示鼠标所指像素的坐标和颜色。激活条件:用户消息须包含以下关键词之一:`显示图片像素查看器`、`显示图片像素信息`、`显示图片颜色信息`、`查看图片像素`、`关闭图片像素查看器`。
npx skillsauth add steelan9199/wechat-publisher image-pixel-viewer-yashuInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
在浏览器中显示用户指定图片,鼠标在图片上移动时实时显示鼠标所指像素的真实坐标(X, Y)、RGB 颜色值、HEX 颜色值和颜色色块预览。点击图片可复制当前坐标和颜色到剪贴板。支持随时切换图片,服务器常驻复用。
$SKILL_DIR 指代本 Skill 所在目录(包含 SKILL.md 的文件夹)。⚠️ $SKILL_DIR 仅为文档占位符,不是环境变量,执行命令时必须替换为实际绝对路径。$SKILL_DIR/scripts/$SKILL_DIR/web/index.htmlcmd1 && cmd2cmd1; if ($?) { cmd2 }(PowerShell 5 不支持 &&)&& 和 ; if ($?) { cmd2 } 均可,为最大兼容性推荐 ; if ($?) { cmd2 }&| 用户消息特征 | 执行动作 | |---|---| | 包含"显示"/"查看" + 图片路径/像素/颜色 | 进入【显示/切换图片】流程 | | 包含"关闭"/"停止" + 像素查看器 | 进入【关闭服务器】流程 |
| 步骤 | 执行动作 | 具体命令/操作 |
|---|---|---|
| 1 | 提取图片路径 | 从用户消息中提取图片的绝对路径(如 D:\photos\test.png)。若用户未提供路径,询问用户提供图片绝对路径后停止。 |
| 2 | 检测服务器状态 | 运行健康检查命令探测服务器是否已启动(见下方【服务器检测命令】)。返回 {"status":"ok"} 说明已在运行;返回"连接失败"说明未启动。 |
| 3 | 判断是否需要启动 | 若步骤 2 返回 {"status":"ok"},服务器已在运行,跳到步骤 5。若连接失败,继续步骤 4。 |
| 4 | 启动服务器 | 先读取 服务器脚本说明 了解服务器行为和接口。然后将 $SKILL_DIR 替换为实际绝对路径,运行 cd "$SKILL_DIR/scripts"; if ($?) { node server.js }。必须使用非阻塞方式执行(对应工具的 blocking: false),因为服务器是长驻进程,阻塞执行会卡住终端。 |
| 5 | 等待服务器就绪 | 运行 Start-Sleep -Seconds 2(Windows)或 sleep 2(Linux/macOS),等待服务器完成启动。此命令必须单独执行,禁止与后续命令拼接,否则静默等待期间终端无输出会导致后续命令的输出丢失。等待结束后再次运行步骤 2 的健康检查命令确认服务器已就绪。 |
| 6 | 打开浏览器 | 将图片路径进行 URL 编码后拼成访问地址 http://localhost:18098/?img=<URL编码后的路径>,运行浏览器打开命令(见下方【浏览器打开命令】)。 |
| 平台 | 命令 |
|---|---|
| Windows (PowerShell) | try { (Invoke-WebRequest -Uri "http://localhost:18098/health" -UseBasicParsing -TimeoutSec 2).Content } catch { "连接失败" } |
| Linux/macOS (bash) | curl -s --max-time 2 http://localhost:18098/health \|\| echo "连接失败" |
为什么需要检测服务器状态:服务器采用常驻复用策略,首次启动后保持运行。如果不检测直接启动,会导致端口冲突报错(
EADDRINUSE)。检测到已运行则直接复用,避免重复启动。
| 平台 | 命令 |
|---|---|
| Windows (PowerShell) | Start-Process "http://localhost:18098/?img=<URL编码后的路径>" |
| macOS | open "http://localhost:18098/?img=<URL编码后的路径>" |
| Linux | xdg-open "http://localhost:18098/?img=<URL编码后的路径>" |
图片路径 URL 编码:图片绝对路径中包含反斜杠(
\)、冒号(:)、中文等特殊字符,必须进行 URL 编码。例如D:\photos\test.png编码为D%3A%5Cphotos%5Ctest.png。PowerShell 中可运行[uri]::EscapeDataString("D:\photos\test.png")获取编码结果。
| 步骤 | 执行动作 | 具体命令 |
|---|---|---|
| 1 | 查找并终止占用 18098 端口的进程 | Windows: Get-NetTCPConnection -LocalPort 18098 -ErrorAction SilentlyContinue \| Select-Object -ExpandProperty OwningProcess \| ForEach-Object { Stop-Process -Id $_ -Force };Linux/macOS: lsof -ti:18098 \| xargs kill |
| 2 | 确认已关闭 | 再次运行【服务器检测命令】,确认返回"连接失败" |
| 错误场景 | 错误表现 | 处理方式 |
|---|---|---|
| 图片路径无效 | 浏览器中显示"图片不存在" | 检查路径是否正确,提示用户确认路径 |
| 端口被其他程序占用 | 服务器启动报 EADDRINUSE | 提示用户端口 18098 被占用,可手动关闭占用程序 |
| Node.js 未安装 | node 命令不存在 | 提示用户安装 Node.js(>= 18.20.8) |
| 图片格式不支持 | 浏览器中显示"不支持的文件类型" | 提示用户支持的格式:PNG、JPG、JPEG、GIF、BMP、SVG、WEBP |
| 脚本 | 功能 |
|---|---|
| $SKILL_DIR/scripts/server.js | 启动 HTTP 服务器(端口 18098),提供健康检查接口、图片读取接口和网页文件服务 |
content-media
自动启停视频课程录制所需的辅助程序。激活条件:用户消息须包含以下关键词之一:`我要录制视频课程`、`开始录制视频课程`、`准备录课`、`视频课程录完了`、`录课结束`、`停止录制`。
content-media
生成扁平的 SVG 图(架构图、中心辐射图、流程图、简易时序图、思维导图、组织架构图、2×2对比矩阵、时间线、循环图、鱼骨图),也支持把已有 SVG 文件转成 PNG 图片。激活条件(满足任一即可):生成类关键词 `画架构图`、`画中心辐射图`、`画流程图`、`画时序图`、`画思维导图`、`画脑图`、`画组织架构图`、`画树形图`、`画对比矩阵`、`画四象限`、`画时间线`、`画循环图`、`画鱼骨图`、`画因果分析图`;转换类关键词`SVG 转图片`、`把 SVG 转成图片`、`把 SVG 转成 PNG`。
testing
检查指定技能文档中的废话文字并输出诊断报告。激活条件:用户消息须包含以下关键词之一:`检查技能废话`、`这个技能文档有没有多余内容`、`清理技能文档废话`、`审查技能文档废话`、`清理技能文档历史说明`。
testing
评审一个技能是否「自包含」——即其知识、经验、规范是否全部内置在技能文件内(SKILL.md + references/),不依赖特定 AI 客户端专有的知识接口命令(如 read_me / modules: / show_widget / Visualizer)去外部拉取,也不硬编码某个 AI 软件的私有路径(如 .workbuddy)。同时检查工具依赖(node、浏览器、命令行)是否仅作为用户自备工具声明、未写死私有路径。当用户要求「评审这个技能是否自包含 / 独立」「检查技能知识是否内置」「审查技能的独立性 / 可移植性」「audit / review a skill for self-containment」时触发。产出评审报告:结论(自包含 / 不独立)+ 问题清单(文件:行号 + 引用的外部依赖 + 为何影响独立性)+ 整改建议。