{
  "skill": {
    "name": "requesting-code-review",
    "source": "skills/requesting-code-review",
    "scanned_at": "2026-08-28T03:35:19.868882+00:00"
  },
  "risk_assessment": {
    "score": 7,
    "severity": "LOW",
    "recommendation": "CAUTION",
    "max_issue_severity": "MEDIUM"
  },
  "components": [
    {
      "path": "SKILL.md",
      "type": "markdown",
      "lines": 95,
      "executable": false,
      "size_bytes": 2956,
      "source_url": null,
      "source_identity": null,
      "source_digest": null
    },
    {
      "path": "code-reviewer.md",
      "type": "markdown",
      "lines": 181,
      "executable": false,
      "size_bytes": 5669,
      "source_url": null,
      "source_identity": null,
      "source_digest": null
    }
  ],
  "structured_summaries": [],
  "issues": [
    {
      "id": "EA2",
      "finding_id": "finding-394bc47819854ded9c0806856b3d71d0",
      "category": "Excessive Agency",
      "pattern": "Autonomous Decision Making",
      "severity": "MEDIUM",
      "confidence": 0.75,
      "location": {
        "file": "code-reviewer.md",
        "start_line": 130,
        "end_line": null
      },
      "finding": "without checking",
      "explanation": "Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.",
      "remediation": "Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.",
      "code_snippet": "    - Give a clear verdict\n\n    **DON'T:**\n    - Say \"looks good\" without checking\n    - Mark nitpicks as Critical\n    - Give feedback on code you didn't actually read\n    - Be vague (\"improve error handling\")",
      "intent": null,
      "tags": [
        "Excessive Agency"
      ],
      "evidence": {},
      "match_fingerprint": "9341b6f34d6af9081a0d6673f4217b7307d273da9f43357efd9029e15c5da76c",
      "occurrences": [
        {
          "file": "code-reviewer.md",
          "start_line": 130,
          "end_line": null
        }
      ]
    }
  ],
  "suppressed_count": 0,
  "suppressed": [],
  "metadata": {
    "has_executable_scripts": false,
    "skillspector_version": "2.10.0",
    "llm_requested": false,
    "llm_available": false,
    "meta_analysis_applied": false,
    "inference_usage": [],
    "filtering_mode": "heuristic"
  },
  "execution_successful": true,
  "analysis_completeness": {
    "total_components": 2,
    "scanned_components": 2,
    "coverage_percent": 100.0,
    "is_complete": false,
    "status": "partial",
    "execution_successful": true,
    "fully_inspected_files": 2,
    "partially_inspected_files": 0,
    "entirely_uninspected_files": 0,
    "ledger_exceptions": [
      {
        "outcome": "partial",
        "phase": "reference_resolution",
        "reason_code": "reference_unresolved",
        "message": "A local path-like reference could not be resolved unambiguously.",
        "path": "SKILL.md",
        "start_line": 28,
        "end_line": 28,
        "fatal": false
      },
      {
        "outcome": "partial",
        "phase": "reference_resolution",
        "reason_code": "reference_unresolved",
        "message": "A local path-like reference could not be resolved unambiguously.",
        "path": "SKILL.md",
        "start_line": 60,
        "end_line": 60,
        "fatal": false
      },
      {
        "outcome": "partial",
        "phase": "reference_resolution",
        "reason_code": "reference_unresolved",
        "message": "A local path-like reference could not be resolved unambiguously.",
        "path": "SKILL.md",
        "start_line": 92,
        "end_line": 92,
        "fatal": false
      }
    ],
    "scope_exclusions": [],
    "analyzer_statuses": [
      {
        "analyzer_id": "artifact_integrity",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "behavioral_ast",
        "status": "not_applicable",
        "planned_work": 0,
        "completed": 0,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0,
        "reason_code": "no_applicable_files",
        "message": "No files matched this analyzer's applicability contract."
      },
      {
        "analyzer_id": "behavioral_taint_tracking",
        "status": "not_applicable",
        "planned_work": 0,
        "completed": 0,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0,
        "reason_code": "no_applicable_files",
        "message": "No files matched this analyzer's applicability contract."
      },
      {
        "analyzer_id": "mcp_least_privilege",
        "status": "not_applicable",
        "planned_work": 0,
        "completed": 0,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0,
        "reason_code": "no_applicable_files",
        "message": "No files matched this analyzer's applicability contract."
      },
      {
        "analyzer_id": "mcp_rug_pull",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "mcp_tool_poisoning",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "meta_analyzer",
        "status": "disabled",
        "planned_work": 0,
        "completed": 0,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0,
        "reason_code": "disabled_by_configuration",
        "message": "Analyzer was disabled by the requested configuration."
      },
      {
        "analyzer_id": "static_patterns_agent_snooping",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_anti_refusal",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_data_exfiltration",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_deserialization",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_excessive_agency",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_harmful_content",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_memory_poisoning",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_output_handling",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_privilege_escalation",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_prompt_injection",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_rogue_agent",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_ssrf",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_supply_chain",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_system_prompt_leakage",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_tool_misuse",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_yara",
        "status": "completed",
        "planned_work": 2,
        "completed": 2,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      }
    ],
    "references": [
      {
        "source_path": "SKILL.md",
        "line": 28,
        "column": 40,
        "evidence": "BASE_SHA=$(git rev-parse HEAD~1) # or origin/main",
        "target_path": null,
        "status": "missing",
        "disposition": "partial"
      },
      {
        "source_path": "SKILL.md",
        "line": 34,
        "column": 83,
        "evidence": "Dispatch a `general-purpose` subagent, filling the template at [code-reviewer.md](code-reviewer.md)",
        "target_path": "code-reviewer.md",
        "status": "resolved",
        "disposition": "analyzed"
      },
      {
        "source_path": "SKILL.md",
        "line": 60,
        "column": 37,
        "evidence": "PLAN_OR_REQUIREMENTS: Task 2 from docs/superpowers/plans/deployment-plan.md",
        "target_path": null,
        "status": "missing",
        "disposition": "partial"
      },
      {
        "source_path": "SKILL.md",
        "line": 92,
        "column": 8,
        "evidence": "- Show code/tests that prove it works",
        "target_path": null,
        "status": "missing",
        "disposition": "partial"
      },
      {
        "source_path": "SKILL.md",
        "line": 95,
        "column": 37,
        "evidence": "See template at: [code-reviewer.md](code-reviewer.md)",
        "target_path": "code-reviewer.md",
        "status": "resolved",
        "disposition": "analyzed"
      }
    ],
    "limitations": [],
    "findings_before_filtering": 1,
    "findings_after_filtering": 1
  }
}
