{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "ljg-push",
  "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: Tools/Push.sh (bash script; rsync sync, git clone/commit/push/pull --rebase/reset --hard)"
    },
    {
      "file": "网络端点",
      "summary": "Declared external network access: git push/clone/pull to hardcoded remote git@github.com:lijigang/ljg-skills.git (via user pre-configured credentials)"
    },
    {
      "file": "本地工作目录",
      "summary": "File read/write and artifact output: $HOME/code/ljg-skills (rsync syncs skill directories, git commit/push; deletes .org and generates .md on the md branch)"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查：① 目录清点——SKILL.md、Workflows/Push.md、Tools/{Push.sh,Push.test.ts,MdizeEmbeddedOrg.ts,MdizeEmbeddedOrg.test.ts}，核对 §1 清单；② 逐条确认「实现原理」九条原句落在 SKILL.md；③ 对 §3 风险扫描逐条回源：4 条 URL 是否真外发、52 条「凭证」是否真凭证读取、8 条外部程序是否真执行；④ 核对写盘面（rsync --delete、md 分支删 .org、sed -i 改版本号）与描述一致；⑤ 检查破坏性回退（reset --hard origin/md）与 README gate、--dry-run 在正文中的原文；⑥ 核对功能声明与实际相符：description「同步到 master 与 md 两个分支」与正文/脚本一致，未夸大。",
    "second_pass": [
      {
        "item": "URL 命中性质",
        "status": "ok",
        "detail": "4 条：2 条 SKILL.md/Workflows 的本地 curl http://localhost:31337/notify，2 条 MdizeEmbeddedOrg.test.ts 的 https://example.com 测试字面量；无对公网 API 的查询端点，网络面是 git 远端 + 本地通知。"
      },
      {
        "item": "「凭证」命中非凭证读取",
        "status": "ok",
        "detail": "52 条命中均为 $HOME/$SKILLS_REPO/$SKILLS_LOCAL 变量、路径与 README/日志文案；SKILL.md 明写「脚本前提是 git credentials 已配好…ljg-push 不处理认证」，credential_reads=[] 成立。"
      },
      {
        "item": "外部程序确为执行面",
        "status": "ok",
        "detail": "8 条：SKILL.md/Workflows 的 curl、Push.test.ts 的 Bun.spawnSync(bash) 测试驱动；Push.sh 另有 rsync/git/awk/sed 调用，scripts_executed 已列。"
      },
      {
        "item": "写盘面与破坏性动作有原文",
        "status": "ok",
        "detail": "检测/同步边界、sed 改 plugin.json/marketplace.json、md 分支删 .org、reset --hard origin/md 均在 SKILL.md 原文；file_writes 与 risks 表述有据。"
      },
      {
        "item": "README gate 与 dry-run 作为人工闸门",
        "status": "ok",
        "detail": "SKILL.md 的硬 gate 段落与 --skip-readme-check 说明、Example 2 的 --dry-run 行为（不执行 rsync/commit/push）为原文，判级理由引用成立。"
      },
      {
        "item": "功能声明未夸大",
        "status": "ok",
        "detail": "description「把本地 ~/.agents/skills/ljg-* 里改过的 skills 一键同步…覆盖 master 和 md 两个分支」与 SKILL.md 的两分支差异表、工作流一致；NOT FOR 亦与脚本硬编码范围相符。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "9e75497a950d2cc58ab9e6871f76405144687bd9",
    "sha256": "76457b2903899638ead05c434f699e77305a3400292ea14499d37492a9bce41d",
    "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/ljg-push.tar.gz",
    "sha256": "76457b2903899638ead05c434f699e77305a3400292ea14499d37492a9bce41d",
    "commit": "9e75497a950d2cc58ab9e6871f76405144687bd9"
  },
  "original": {
    "github": "https://github.com/lijigang/ljg-skills/tree/main/skills/ljg-push",
    "path": "skills/ljg-push",
    "commit": "9e75497a950d2cc58ab9e6871f76405144687bd9"
  }
}