{
  "skill": {
    "name": "verification-before-completion",
    "source": "skills/verification-before-completion",
    "scanned_at": "2026-08-28T03:35:33.466901+00:00"
  },
  "risk_assessment": {
    "score": 7,
    "severity": "LOW",
    "recommendation": "CAUTION",
    "max_issue_severity": "MEDIUM"
  },
  "components": [
    {
      "path": "SKILL.md",
      "type": "markdown",
      "lines": 120,
      "executable": false,
      "size_bytes": 3646,
      "source_url": null,
      "source_identity": null,
      "source_digest": null
    }
  ],
  "structured_summaries": [],
  "issues": [
    {
      "id": "EA2",
      "finding_id": "finding-af7e62a7b77d4edfbceba6d1902bd3e8",
      "category": "Excessive Agency",
      "pattern": "Autonomous Decision Making",
      "severity": "MEDIUM",
      "confidence": 0.75,
      "location": {
        "file": "SKILL.md",
        "start_line": 54,
        "end_line": null
      },
      "finding": "without verification",
      "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": "\n- Using \"should\", \"probably\", \"seems to\"\n- Expressing satisfaction before verification (\"Great!\", \"Perfect!\", \"Done!\", etc.)\n- About to commit/push/PR without verification\n- Trusting agent success reports\n- Relying on partial verification\n- Thinking \"just this once\"",
      "intent": null,
      "tags": [
        "Excessive Agency"
      ],
      "evidence": {},
      "match_fingerprint": "fe5d1711651a4715ab1d9b8451c549b9733b35dcee753a00cc95b0754ef2c699",
      "occurrences": [
        {
          "file": "SKILL.md",
          "start_line": 54,
          "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": 1,
    "scanned_components": 1,
    "coverage_percent": 100.0,
    "is_complete": false,
    "status": "partial",
    "execution_successful": true,
    "fully_inspected_files": 1,
    "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": 54,
        "end_line": 54,
        "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": 78,
        "end_line": 78,
        "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": 109,
        "end_line": 109,
        "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": 120,
        "end_line": 120,
        "fatal": false
      }
    ],
    "scope_exclusions": [],
    "analyzer_statuses": [
      {
        "analyzer_id": "artifact_integrity",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "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": 1,
        "completed": 1,
        "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": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_anti_refusal",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_data_exfiltration",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_deserialization",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_excessive_agency",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_harmful_content",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_memory_poisoning",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_output_handling",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_privilege_escalation",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_prompt_injection",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_rogue_agent",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_ssrf",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_supply_chain",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_system_prompt_leakage",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_patterns_tool_misuse",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      },
      {
        "analyzer_id": "static_yara",
        "status": "completed",
        "planned_work": 1,
        "completed": 1,
        "partial": 0,
        "skipped": 0,
        "failed": 0,
        "unaccounted": 0
      }
    ],
    "references": [
      {
        "source_path": "SKILL.md",
        "line": 54,
        "column": 12,
        "evidence": "- About to commit/push/PR without verification",
        "target_path": null,
        "status": "missing",
        "disposition": "partial"
      },
      {
        "source_path": "SKILL.md",
        "line": 78,
        "column": 28,
        "evidence": "✅ [Run test command] [See: 34/34 pass] \"All tests pass\"",
        "target_path": null,
        "status": "missing",
        "disposition": "partial"
      },
      {
        "source_path": "SKILL.md",
        "line": 109,
        "column": 20,
        "evidence": "- ANY variation of success/completion claims",
        "target_path": null,
        "status": "missing",
        "disposition": "partial"
      },
      {
        "source_path": "SKILL.md",
        "line": 120,
        "column": 32,
        "evidence": "- ANY communication suggesting completion/correctness",
        "target_path": null,
        "status": "missing",
        "disposition": "partial"
      }
    ],
    "limitations": [],
    "findings_before_filtering": 1,
    "findings_after_filtering": 1
  }
}
