{
  "skill_name": "deploy",
  "skill_path": "/Users/brianlevine/claude-projects/skill-scanner-test/skills/microsoft-azure-skills/.github/plugins/azure-skills/skills/azure-app-onboard/deploy",
  "is_safe": true,
  "max_severity": "LOW",
  "findings_count": 2,
  "findings": [
    {
      "id": "TRIGGER_SHORT_61904263",
      "rule_id": "TRIGGER_DESCRIPTION_TOO_SHORT",
      "category": "social_engineering",
      "severity": "LOW",
      "title": "Skill description is too short",
      "description": "Description has only 3 words. Short descriptions may not provide enough context for the agent to determine when this skill should be used.",
      "file_path": "SKILL.md",
      "line_number": null,
      "snippet": null,
      "remediation": "Expand the description to at least 10-20 words explaining the skill's purpose, capabilities, and appropriate use cases.",
      "analyzer": "trigger",
      "metadata": {
        "aitech": null,
        "aitech_name": null,
        "aisubtech": null,
        "aisubtech_name": null,
        "aitech_mappings": [],
        "aisubtech_mappings": [],
        "framework_mappings": [],
        "taxonomy_status": "not_applicable",
        "taxonomy_source": "rule"
      }
    },
    {
      "id": "SKILL_LOAD_FALLBACK_USED",
      "rule_id": "SKILL_LOAD_FALLBACK_USED",
      "category": "policy_violation",
      "severity": "INFO",
      "title": "Strict manifest load failed; inert fallback scan used",
      "description": "SkillLoadError rejected malformed or missing manifest metadata. The bounded package body was still scanned as inert content; manifest capabilities were not trusted.",
      "file_path": "SKILL.md",
      "line_number": null,
      "snippet": null,
      "remediation": "Repair the YAML frontmatter and provide the required manifest fields.",
      "analyzer": "skill_loader",
      "metadata": {
        "fallback_used": true,
        "fallback_mode": "bounded_inert_raw_body",
        "strict_error_type": "SkillLoadError",
        "strict_error_code": "MISSING_REQUIRED_MANIFEST_FIELD",
        "manifest_complete": false,
        "capability_facts_trusted": false,
        "projection_complete": false,
        "projection_error_code": "MANIFEST_METADATA_INCOMPLETE",
        "aitech": null,
        "aitech_name": null,
        "aisubtech": null,
        "aisubtech_name": null,
        "aitech_mappings": [],
        "aisubtech_mappings": [],
        "framework_mappings": [],
        "taxonomy_status": "not_applicable",
        "taxonomy_source": "rule"
      }
    }
  ],
  "scan_duration_seconds": 0.08748483657836914,
  "duration_ms": 87,
  "analyzers_used": [
    "static_analyzer",
    "bytecode",
    "pipeline",
    "correlation",
    "behavioral_analyzer",
    "trigger_analyzer"
  ],
  "timestamp": "2026-10-22T04:35:59.880498+00:00",
  "scan_metadata": {
    "policy_name": "default",
    "policy_version": "1.0",
    "policy_preset_base": "balanced",
    "policy_fingerprint_sha256": "3f48e661bfbc54597f97bbf3dcf2c1cbae2f596ddc79c0b44784efea326b3d1d",
    "cel": {
      "mode": "shadow",
      "runtime": "cel-go",
      "runtime_version": "v0.32.0;helper=2.3.1",
      "fact_schema": "v1",
      "expression_set_hash": "f26459b8f4a46a974d7ab0aaae34127b5b6a40d693e266e12fca03a69a6d26aa",
      "evaluated": 0,
      "retained": 2,
      "would_suppress": 0,
      "suppressed": 0,
      "fallbacks": 0,
      "projection_incomplete": 0,
      "elapsed_ms": 0.0,
      "projection_ms": 0.0,
      "evaluation_ms": 0.0,
      "errors": [],
      "per_rule": {},
      "suppressed_candidates": []
    },
    "rule_contract": {
      "status": "passed",
      "schema_version": 2,
      "checked": 2,
      "invalid_findings": 0,
      "errors": []
    },
    "loader": {
      "fallback_used": true,
      "fallback_mode": "bounded_inert_raw_body",
      "strict_error_type": "SkillLoadError",
      "strict_error_code": "MISSING_REQUIRED_MANIFEST_FIELD",
      "manifest_complete": false,
      "capability_facts_trusted": false,
      "projection_complete": false,
      "projection_error_code": "MANIFEST_METADATA_INCOMPLETE"
    },
    "taxonomy": {
      "source": "builtin",
      "version": "2.0.0",
      "name": "Cisco AI Security and Safety Taxonomy",
      "revision": "655a343ac943a51b6f61f86e47156e7752c15dc6",
      "snapshot_sha256": "413e8ce9081e6d91b78aaa0d0b1c06cdc15d0406ad319e23e9f9f4f80735c441",
      "findings": {
        "mapped": 0,
        "not_applicable": 2,
        "unmapped": 0
      }
    }
  },
  "analyzers_failed": [
    {
      "analyzer": "skill_loader",
      "error": "SkillLoadError:MISSING_REQUIRED_MANIFEST_FIELD"
    }
  ],
  "scanner_version": "2.3.1",
  "source": "microsoft",
  "repo_url": "https://github.com/microsoft/azure-skills"
}