{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "canghe-image-gen",
  "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": "Local script or command execution: npx -y bun ${SKILL_DIR}/scripts/main.ts (the sole CLI entry point executed by the agent according to SKILL.md)"
    },
    {
      "file": "网络端点",
      "summary": "Declared external network access: POST https://api.openai.com/v1/images/generations (openai.ts)"
    },
    {
      "file": "本地工作目录",
      "summary": "File read/write and artifact output: Image files at user-specified --image path (auto-appends .png if missing; main.ts runs mkdir -p before writeFile)"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 bundle（不复用第一遍结论）逐条反查：① 入口真实性与唯一性——SKILL.md 调用示例与 scripts/main.ts 的 printUsage 对齐；② 逐 provider 核对端点与 key 变量（openai/google/dashscope/canghe 四文件各查 base URL、API key、参考图分支）；③ 反查漏网外发——除 providers 外全目录无 fetch/urllib/socket/child_process；④ 核对 TLS 处理，确认未降级；⑤ 声明 vs 实现对账，重点查「并行生成」有无代码支撑；⑥ 写盘点核对（mkdir/writeFile 唯一落点）；⑦ 逐条 quote 子串回源复核。",
    "second_pass": [
      {
        "item": "执行入口是否唯一且真实存在",
        "status": "ok",
        "detail": "SKILL.md 的调用示例与 main.ts 的 printUsage 一致（npx -y bun scripts/main.ts --prompt ... --image ...），main.ts 末尾 main().catch 会 process.exit(1)，证明它是 CLI；目录仅 8 个档（SKILL.md + preferences-schema.md + main.ts + 4 个 provider + types.ts），无其它可执行文件。"
      },
      {
        "item": "四家 provider 端点与凭证读取点",
        "status": "ok",
        "detail": "openai.ts→api.openai.com/v1 + OPENAI_API_KEY；google.ts→generativelanguage.googleapis.com + GOOGLE_API_KEY/GEMINI_API_KEY；dashscope.ts→dashscope.aliyuncs.com + DASHSCOPE_API_KEY；canghe.ts→api.canghe.ai/v1 + CANGHE_API_KEY。均可用对应 *_BASE_URL 覆盖。"
      },
      {
        "item": "是否漏掉网络外发",
        "status": "ok",
        "detail": "全目录除 providers/*.ts 的 fetch 外无网络能力：main.ts 只做 IO 与编排，types.ts / preferences-schema.md 无网络代码；未见 socket/child_process/exec/urllib。"
      },
      {
        "item": "TLS 是否被降级",
        "status": "ok",
        "detail": "四家后端都用 Node/Bun 原生 fetch（默认校验证书），未见 ssl.CERT_NONE / rejectUnauthorized=false / --no-verify，因此不触发红档。"
      },
      {
        "item": "「并行生成」宣称是否有代码支撑",
        "status": "discrepancy",
        "detail": "SKILL.md 的 Parallel Generation 段描述用宿主 Task 子代理 run_in_background=true 并发并给并发建议，但 scripts/main.ts 只有单次 --n 的串行生成，未实现任何并发；该能力完全依赖 agent 编排层，脚本不提供。"
      },
      {
        "item": "默认 provider 与质量口径",
        "status": "ok",
        "detail": "SKILL.md 写 default provider google、quality 2k；detectProvider 多 key 时返回 available[0]（google 排第一），main.ts 对空 quality 置 '2k'，与文档一致。"
      },
      {
        "item": "参考图 provider 限制",
        "status": "ok",
        "detail": "SKILL.md 称 --ref 受 Google 多模态 / OpenAI edits / Canghe 支持；google.ts 对 Imagen、openai.ts 对 dall-e、main.ts 对 dashscope+ref 均抛错，与文档相符。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "dd0bf355955b4c82b764740b4183c86a72ba0e0c",
    "sha256": "6d47e36b6c02f8916cfb5c6a3eade2fd64b3b9d1347fda756b75044d2188edb1",
    "reviewed_by": null,
    "reviewed_at": null
  },
  "assessed_at": "2026-10-25",
  "method_version": "2.0",
  "mirror": {
    "archive": "https://skillpub.pages.dev/r2/v/2026-10-10/canghe-image-gen.tar.gz",
    "sha256": "6d47e36b6c02f8916cfb5c6a3eade2fd64b3b9d1347fda756b75044d2188edb1",
    "commit": "dd0bf355955b4c82b764740b4183c86a72ba0e0c"
  },
  "original": {
    "github": "https://github.com/freestylefly/canghe-skills/tree/main/skills/canghe-image-gen",
    "path": "skills/canghe-image-gen",
    "commit": "dd0bf355955b4c82b764740b4183c86a72ba0e0c"
  }
}