Community编程与开发github.com

tentacle-pro/dramagic-skills

验证并打包 Dramagic 3.0 角色发布包,基于现有清单和美术资源,或转换旧版 2.0 清单(需提供作者、包名和版本)。用于生成可直接导入的 ZIP 归档、排查缺失引用并进行发布检查。除非用户明确要求,否则不生成美术资源。

dramagic-skills 是什么?

这是一个专门用于 Dramagic 角色发布(release)流程的 AI 代理技能(skill),支持验证和打包 Dramagic 3.0 角色包,或从旧版 2.0 清单转换。它通过读取同目录下的格式文档和 JSON Schema(位于 drama-character-pack/references/format.md)来执行严格校验,包括必填字段、语音目录匹配、资源文件存在性检查以及工具链集成(tools/package.mjs 和原生验证器)。该技能明确禁止自动生成美术资源、禁止重命名损坏文件或伪造缺失图片来强制通过验证,确保最终交付的 .dramagic-character-pack 归档(本质为 ZIP)结构正确、数据安全。支持在客户端仓库内使用 Cargo 运行原生验证器,或使用外部兼容验证器;若无验证器则标记为未验证。适合需要在 CI 或 CLI 环境中自动化执行 Dramagic 角色包发布检查的开发者使用。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tentacle-pro/dramagic-skills/tree/HEAD/skills/dramagic-character-release

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

角色发布

阅读同级目录 dramagic-character-pack/references/format.md 及其中的 JSON Schema。发布包仅包含 manifest.json 和它所引用的静态 WebP 文件。归档后缀为 .dramagic-character-pack 而非 .zip,尽管其容器格式为 ZIP。

发布检查

  1. 获取稳定的作者 ID、包 ID 和三位数字的发布版本号。请勿编造官方身份或复用他人的命名空间。相同名称但内容不同视为更新,而非新的可信来源。
  2. 对照 JSON Schema 验证所有必填字段;对照提供的语音目录检查 voice 字段。JSON Schema 本身无法检测重复键、解码 WebP、强制 UTF-8 字节预算或验证安全性。
  3. 确认每个角色存在全部六项必需的资源。允许使用 neutral 资源进行身份复用;不要因两个清单字段引用同一文件而重复存储其字节。请另外应用美术技能的检查清单。
  4. 从本工具包根目录运行 tools/package.mjs,传入源目录和新的输出路径。该脚本仅复制被引用的媒体文件,拒绝不安全路径/重复键/链接,并调用 ZIP 实现进行 store/deflate 输出。它不会执行包内文件或下载媒体。
  5. 对最终的归档文件运行权威的原生验证器。在客户端仓库中执行:cargo run --manifest-path src-tauri/Cargo.toml --example validate_character_pack -- PACKAGE。在仓库外使用时,请使用兼容的外部验证器;不要假装技能包中包含了预编译的二进制文件。如果无法获取验证器,请明确标记结果为“未验证”,且不得声称其已可导入。
  6. 交付包文件、验证结果以及单独的视觉检查报告。请将报告、提示语、源截图和工作流文件保留在归档之外。未经用户请求及权限/版权检查,不得上传或发布。

旧版输入

客户端导入器仅接受 3.0 格式的用户包。客户端仓库中的转换脚本 scripts/convert-character-pack-v2.ts 需要 SOURCE OUTPUT AUTHOR_ID PACK_ID VERSION 参数;它仅转换 manifest 数据,丢弃旧的 root/audio 字段。这不是一个完整的包转换器。请收集被引用的 WebP 文件,执行相同的打包/验证流程,并保留原始源目录。

如果验证器拒绝了一个发布包,请报告具体的失败原因,并修复生成方或引用。不得禁用验证、重命名损坏的文件扩展名或添加伪造的缺失图片来强制通过验证。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能