{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "ian-xiaohei-illustrations",
  "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": "网络端点",
      "summary": "Declared external network access: No networking code or endpoints within the skill directory; image generation calls are handled via the host's built-in image_gen tool (prompts and article content reach the image generation backend, provider determined by the host; this sk..."
    },
    {
      "file": "本地工作目录",
      "summary": "File read/write and artifact output: Copies final images into `assets/<article-slug>-illustrations/` named with 01-/02- prefixes; requires preserving original generated files without..."
    },
    {
      "file": "SKILL.md",
      "summary": "Declared invocation of host CLI interpreter or external execution environment"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查：① 文件清单核对（SKILL.md + references/{style-dna,xiaohei-ip,composition-patterns,prompt-template,qa-checklist}.md + agents/openai.yaml + assets/examples/*.png + 仓库级 examples/、NOTICE.md、LICENSE、assets/ian-wechat-qr.jpg）；② token 扫描：SKILL.md 与 references 内 https?:// 零命中、curl/wget/requests 零命中、API_KEY/token/secret 零命中——确认无自带外发代码，「出网」只发生在宿主 image_gen；③ 核对 image_gen 表述的唯一性（SKILL.md 仅此一处指定生成工具，无第二后端）；④ 核对数量约束（默认 4-8 张 / 短文 1-3 / 长文不超 9）与 shot list 字段是否一致；⑤ 核对 QA 清单「必过项/失败信号」与 style-dna「必须」项无冲突；⑥ 夸大检查：description 声称的「生成 Ian 风格的中文正文配图」由 IP 定义 + 提示词模板 + QA 清单三层兑现，无越界承诺（不承诺事实正确性、不承诺跨平台排版）。",
    "second_pass": [
      {
        "item": "skill 目录无脚本、无端点",
        "status": "ok",
        "detail": "目录内只有 6 个 markdown/yaml 与示例 PNG；URL/curl/requests 扫描零命中；出图完全依赖宿主 image_gen。"
      },
      {
        "item": "image_gen 点名（判橙依据）",
        "status": "ok",
        "detail": "原文「如果用户明确要求「生成 / 输出 / 做图 / 帮我生成」，不要停下来等确认；用内置 `image_gen` 每张单独生成。不要把多张图拼在一张里。」——工具被点名，执行后素材出网。"
      },
      {
        "item": "无凭证读取",
        "status": "ok",
        "detail": "API_KEY/token/secret/keychain 零命中；agent 清单里无 env/凭证字段。"
      },
      {
        "item": "写盘范围",
        "status": "ok",
        "detail": "只要求把最终图复制到 `assets/<article-slug>-illustrations/`（放在用户 workspace 内），并「保留原始生成文件，不要覆盖已有资产，除非用户明确要求替换」。"
      },
      {
        "item": "反复刻纪律",
        "status": "ok",
        "detail": "「不要复刻过往案例。案例只提供风格密度和小黑参与方式…除非用户明确要求复刻某张图。每次都要从当前文章重新发明一个奇怪但成立的隐喻。」逐字核对。"
      },
      {
        "item": "IP 强约束",
        "status": "ok",
        "detail": "「小黑必须参与画面的核心动作，不能只是站在旁边当装饰。」+ QA 必过项「小黑承担核心动作，不只是装饰。」两处一致。"
      },
      {
        "item": "示例图的定位",
        "status": "ok",
        "detail": "SKILL.md「assets/examples/：只作低频视觉校准，不进入默认生成路径。不要照抄这些案例的构图、物件或标注。」；NOTICE.md 说明示例图由 Ian 生成并署名。"
      },
      {
        "item": "数量与粒度限制",
        "status": "ok",
        "detail": "「默认 4-8 张。文章很短时 1-3 张；长文也不要轻易超过 9 张。够用就好，避免把正文做成画册。」+「每张图只讲一个核心结构」。"
      },
      {
        "item": "署名与许可",
        "status": "ok",
        "detail": "LICENSE 为 MIT（Copyright (c) 2026 Ian）；NOTICE.md 请求再分发/改编时保留名称或注明出处，并给 GitHub/网站/X 三个作者链接。"
      },
      {
        "item": "commit / 元数据",
        "status": "ok",
        "detail": "pin 目录 HEAD＝91b560849e8f883922cc2fa8a358a668caa94105（与任务表一致）；GitHub API：stars 11687、pushed_at 2026-06-03T11:35:43Z、spdx=MIT、description 标注为 Codex Skill。"
      },
      {
        "item": "路径核对（任务表 vs 实际）",
        "status": "ok",
        "detail": "任务表 skill 路径为 ian-xiaohei-illustrations；pin 目录 spy-repos/ian-xiaohei 下确实存在同名子目录，另有仓库级 README/LICENSE/NOTICE/examples —— skill 目录内外已分别说明。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "91b560849e8f883922cc2fa8a358a668caa94105",
    "sha256": "88e4f6c95f21cc30b77e1c16a3dec4c2e1180f5a23218d48b4791ddff9ba23d4",
    "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/ian-xiaohei-illustrations.tar.gz",
    "sha256": "88e4f6c95f21cc30b77e1c16a3dec4c2e1180f5a23218d48b4791ddff9ba23d4",
    "commit": "91b560849e8f883922cc2fa8a358a668caa94105"
  },
  "original": {
    "github": "https://github.com/helloianneo/ian-xiaohei-illustrations/tree/main/ian-xiaohei-illustrations",
    "path": "ian-xiaohei-illustrations",
    "commit": "91b560849e8f883922cc2fa8a358a668caa94105"
  }
}