{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "repo-intake-and-plan",
  "built": "2026-10-26",
  "control_level": 4,
  "control_level_label": "L4 高权限",
  "capabilities": [
    "execute_command"
  ],
  "required_controls": {
    "agent": [
      "sandbox_recommended",
      "graded_authorization"
    ],
    "admin": [
      "approval_process",
      "rollback_support",
      "full_audit"
    ]
  },
  "evidence": [
    {
      "file": "scripts/",
      "summary": "Execute local script or command: python3 scripts/scan_repo.py --repo <path> --json (provided with this skill; read-only directory enumeration)"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查：① 文件清单核对：目录仅 SKILL.md + references/repo-scan-rules.md + scripts/scan_repo.py + scripts/extract_commands.py + agents/openai.yaml；② 全目录 token 扫描（https?://、urllib、requests、socket、subprocess、os.environ、open( 写作模式）零命中，逐行确认两个脚本的 import 全为标准库；③ 逐行读 extract_commands.py 的关键函数（looks_like_command / classify / command_kind / referenced_python_script / training_structure_evidence / apply_entrypoint_structure）确认分类优先级与注释所述一致；④ 反查『脚本是否真的被使用』：orchestrate_repro.py 中 run_json(scan_script, [...]) 与 run_json(extract_script, [...]) 的真实调用点、_bundled/MANIFEST.json 的打包条目（含 sha256）、ai-research-explore/scripts/orchestrate_explore.py 对 scan_repo.py 的复用、references/skill-registry.json 的 required_files；⑤ 自查夸大：SKILL.md 未声明任何脚本用法/输出格式细节，因此不存在『文档承诺超过代码』的落差，但也因此需要此处的调用点证据来坐实其能力；⑥ 元数据核对：本地 HEAD = bd91195ad73199b95e24532b581ff12c07dcce09 与任务书 pin 同源，MIT，GitHub stargazers=487、pushed_at=2026-09-13T13:16:25Z。",
    "second_pass": [
      {
        "item": "skill 路径（任务书标『待定位』）",
        "status": "ok",
        "detail": "实际相对路径 skills/repo-intake-and-plan；SKILL.md 位于该目录根。"
      },
      {
        "item": "『helper 脚本』确实存在且被调用（非文档装饰）",
        "status": "ok",
        "detail": "orchestrate_repro.py:1162-1167 设定 scan_script/extract_script 并在 1173-1178 以 run_json(...) 执行；_bundled/MANIFEST.json 记录两文件打包目标与 sha256；references/skill-registry.json 的 required_files 列出两者。"
      },
      {
        "item": "SKILL.md 未给出脚本调用示例",
        "status": "discrepancy",
        "detail": "SKILL.md 仅在 Notes 写 'Use `references/repo-scan-rules.md` and helper scripts under `scripts/`.'，没有给命令行/参数示例；实际 CLI 契约（--repo/--json、--readme/--json）只能从脚本 argparse 与编排器调用点得到。对模型自助调用不够友好，属可改进项；不影响机制结论，已在 capabilities/how_it_works 中改用编排器调用点为证据。"
      },
      {
        "item": "无网络/无凭证/无写入",
        "status": "ok",
        "detail": "两脚本 import 仅 argparse/json/re/pathlib/datetime/typing（scan_repo 另有 timezone）；全目录 URL/urllib/requests/socket/subprocess/os.environ 扫描零命中；无写文件调用（仅 print 到 stdout）。"
      },
      {
        "item": "路径越界防护",
        "status": "ok",
        "detail": "referenced_python_script() 先 (root / path).resolve() 再 candidate.relative_to(root)，越界抛 ValueError 返回 None；并有 is_file() 与 524_288 字节上限。"
      },
      {
        "item": "分类优先级与注释一致",
        "status": "ok",
        "detail": "classify() 实际顺序为 setup/asset 前缀 → 章节语义 → SCRIPT_CATEGORY_HINTS → 关键词，与文件内注释 'Unambiguous setup/asset syntax outranks generic headings' 一致；command_kind() 独立返回 setup/asset/run/smoke（--help/-h → smoke）。"
      },
      {
        "item": "README 定位与姊妹 helper 分工",
        "status": "ok",
        "detail": "README.md:160 'Two helpers support orchestration: `repo-intake-and-plan` and `paper-context-resolver`.'；tests/trigger_cases.json 中 'expected_top': 'repo-intake-and-plan' 的用例存在（repo_scan_only_en：'Do not run anything yet.'），与 SKILL.md 的『不执行实质命令』一致。"
      },
      {
        "item": "元数据",
        "status": "ok",
        "detail": "本地 git HEAD bd91195ad73199b95e24532b581ff12c07dcce09（= 任务书 pin）；LICENSE MIT / Copyright (c) 2026 Chengkun Rao；gh api → stars 487、last_push 2026-09-13T13:16:25Z。"
      },
      {
        "item": "功能声明 vs 实际代码（夸大检查）",
        "status": "ok",
        "detail": "description 声明 'scan a repository, read the README and common project files, extract documented commands, classify inference, evaluation, and training candidates, and return the smallest trustworthy reproduction plan' —— 前三项由脚本确定性实现；『return the smallest trustworthy reproduction plan』与『notable ambiguity or risk list』属模型层的综合步骤，SKILL.md 的 Output expectations 明示，未越界承诺自动化程度。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "bd91195ad73199b95e24532b581ff12c07dcce09",
    "sha256": "1953a875072a9f35b9972b821e3afdfa5d15498a5b107ae5da6d2773d03bd7ba",
    "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/repo-intake-and-plan.tar.gz",
    "sha256": "1953a875072a9f35b9972b821e3afdfa5d15498a5b107ae5da6d2773d03bd7ba",
    "commit": "bd91195ad73199b95e24532b581ff12c07dcce09"
  },
  "original": {
    "github": "https://github.com/lllllllama/rigorpilot-skills/tree/main/skills/repo-intake-and-plan",
    "path": "skills/repo-intake-and-plan",
    "commit": "bd91195ad73199b95e24532b581ff12c07dcce09"
  }
}