用途:这是 PeonPing 的内部技能,仅由 peon create 无头调用,且调用时必须已提供 name、flavor、vibe、draft_root 四项参数。人工直接运行且缺参数时,本技能不做任何文件操作,只提示改用 peon create。
主要能力:在 draft_root 下创建草稿目录并起草一个全新 PeonPing 包,覆盖 7 个 CESP 类别(session.start、task.acknowledge、task.complete、task.error、input.required、resource.limit、user.spam),每类至少一个声音,并为每个声音写 label;保持整体审美一致。flavor 为 sfx 时写无词音效 prompt;为 voice 时写角色台词 text 与 voice_id,且整包复用同一 voice_id。生成 openpeon.json(含 cesp_version、name、display_name、version 从 "0.0.1"、description 及 x_openpeon_draft: true)与 prompts.json(供 remix 重掷读取),并为每个声音在 jobs/ 下写 job 文件后渲染。
用法:job 形如 {"type":"sfx"|"tts","prompt"|"text"+"voice_id","out":"<绝对 WAV 路径>"},然后运行 python3 <peon-ping>/scripts/pack-render.py --job <file>。设置环境变量 PEON_RENDER_MOCK=1 时须加 --mock,写出静音占位 WAV,便于无网络、无 API key、无 ffmpeg 测试。脚本目录按 $PEON_DIR/scripts,否则 ${CLAUDE_CONFIG_DIR:-$HOME/.claude}/hooks/peon-ping/scripts,否则调用所在仓库解析。
限制:绝不写到 draft_dir 之外;x_openpeon_draft 只能为 true;不安装、不复制进 packs 目录;不打印 ElevenLabs key;已有同名草稿即停止,不覆盖;任一声音渲染失败即停止并输出 stderr,保留部分草稿由人工处理;始终以提示运行 peon eval <name> 结束,不声称已完成或已安装。若环境未提供 voice_id,需选用可确认存在的 ElevenLabs 库存声音,不得编造。