{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "baoyu-slide-deck",
  "built": "2026-10-26",
  "control_level": 4,
  "control_level_label": "L4 高权限",
  "capabilities": [
    "execute_command",
    "network",
    "write_file"
  ],
  "required_controls": {
    "agent": [
      "sandbox_recommended",
      "graded_authorization"
    ],
    "admin": [
      "approval_process",
      "rollback_support",
      "full_audit"
    ]
  },
  "evidence": [
    {
      "file": "scripts/",
      "summary": "Execute local script or command: ${BUN_X} {baseDir}/scripts/merge-to-pptx.ts <slide-deck-dir> (bun or npx -y b"
    },
    {
      "file": "网络端点",
      "summary": "Declare external network access: The skill's own scripts make zero network calls (both merge scripts only import fs/path + pdf-lib / pptxgenjs)"
    },
    {
      "file": "本地工作目录",
      "summary": "File read/write and artifact output: slide-deck/{topic-slug}/source-*.{ext} and analysis.md"
    }
  ],
  "verification": {
    "method": "第一遍：本人通读 SKILL.md（386 行，含 Image Generation Tools／批量策略／确认策略／17 预设／工作流九步／改图纪律）与 references/codex-imagegen.md、base-prompt.md。第二遍：独立只读 scout 逐文件核对两个合并脚本的 import/写盘/网络面、核对后端解析阶梯与 SKILL.md 原文、核对 codex-imagegen 契约与 n=1 语义、核对 EXTEND.md 路径数量是否与 schema 文件一致；构建脚本对每条 evidence.quote 做空白归一化逐字断言。",
    "second_pass": [
      {
        "item": "两个合并脚本无网络、无 env、无 spawn",
        "status": "ok",
        "detail": "merge-to-pdf.ts 只 import fs/path + pdf-lib，merge-to-pptx.ts 只 import fs/path + pptxgenjs；全目录 grep process.env/fetch/http/child_process 零命中。"
      },
      {
        "item": "出图后端解析阶梯与 SKILL.md 一致",
        "status": "ok",
        "detail": "阶梯为 当前请求 > EXTEND.md preferred_image_backend > 运行时原生（imagegen/GenerateImage/image_generate）> 唯一非原生后端 > 问用户；codex-imagegen 分支的调用契约在 references/codex-imagegen.md。"
      },
      {
        "item": "不读 API key（认证走用户订阅）",
        "status": "ok",
        "detail": "codex-imagegen.md 明写 'no `OPENAI_API_KEY` is read or sent'；脚本零 env 读取，唯一的 env 覆盖是 $BAOYU_CODEX_IMAGEGEN_BIN（后端可执行文件路径）。"
      },
      {
        "item": "prompt 文件先行是硬要求",
        "status": "ok",
        "detail": "SKILL.md 标注 (hard)，且合并脚本把 base-prompt + 每页 prompt 写进 PPTX 备注，形成可复现双通道。"
      },
      {
        "item": "依赖与声明一致性",
        "status": "ok",
        "detail": "pdf-lib/pptxgenjs 由仓库根 package.json 提供（skill 内无 package.json）；根依赖 sharp 未被这两个脚本 import（属未使用依赖）。"
      },
      {
        "item": "EXTEND.md 路径文档不一致（轻微）",
        "status": "ok",
        "detail": "SKILL.md 列三条路径（含 XDG），references/config/preferences-schema.md 只列项目与家目录两条；另 slide-deck 的首次设置明确不阻塞（与 translate/xhs-images 相反），已在正文引用中如实标注。"
      },
      {
        "item": "base-prompt.md 的模型定向指令",
        "status": "ok",
        "detail": "文件结尾确有 'Please use nano banana pro to generate the slide image based on the content provided above.' 与 'DO NOT refuse to generate' 类措辞；因它把用户文本与模型指令混在同一通道，已写入 injection_surface 与 risks。"
      },
      {
        "item": "档位复核（批4 终裁）",
        "status": "ok",
        "detail": "按 Main『生成後端類先例＝orange』与点名后端＋素材出网的判法落 orange；自身脚本仅有本地 pdf/pptx 合并与写盘，不升红。"
      },
      {
        "item": "元数据与 pin",
        "status": "ok",
        "detail": "本地 HEAD = 1567581c26ec29f4216c6e6835415bf30343b0e3（2026-09-10 10:13:43 -0500）；GitHub API MIT / 25926 stars / pushed_at 2026-09-10T15:13:43Z；仓库根 LICENSE 为 MIT。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "1567581c26ec29f4216c6e6835415bf30343b0e3",
    "sha256": "9867805610b81b2670f0f2f4c22a4cd793b30d08ef8cf28f8b9bb87479828c1e",
    "reviewed_by": null,
    "reviewed_at": null
  },
  "assessed_at": "2026-10-25",
  "method_version": "2.0",
  "mirror": {
    "archive": "https://skillpub.pages.dev/r2/v/2026-09-15/baoyu-slide-deck.tar.gz",
    "sha256": "9867805610b81b2670f0f2f4c22a4cd793b30d08ef8cf28f8b9bb87479828c1e",
    "commit": "1567581c26ec29f4216c6e6835415bf30343b0e3"
  },
  "original": {
    "github": "https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-slide-deck",
    "path": "skills/baoyu-slide-deck",
    "commit": "1567581c26ec29f4216c6e6835415bf30343b0e3"
  }
}