{
  "ok": true,
  "schema": "lvl-recommendations-v1",
  "skill": {
    "id": "oracle-onchain-verify",
    "name": "On-Chain Verification Oracle",
    "category": "Oracle",
    "price_usd": 0.1,
    "related_skills": [
      "oracle-price-gas",
      "oracle-time-freshness",
      "oracle-proof-reputation"
    ],
    "requires": [],
    "complements": []
  },
  "recommendations": [
    {
      "skill_id": "oracle-time-freshness",
      "name": "Time & Freshness Oracle",
      "price_usd": 0.05,
      "category": "Oracle",
      "score": 17,
      "reasons": [
        "related_skills",
        "same_category",
        "tag_overlap"
      ],
      "challenge": "https://lvlltd.com/api/pay?skill=oracle-time-freshness",
      "outline": "https://lvlltd.com/skills/oracle-time-freshness/outline.json",
      "requires": false,
      "complements": true
    },
    {
      "skill_id": "oracle-proof-reputation",
      "name": "Proof Ledger / Reputation Oracle",
      "price_usd": 0.05,
      "category": "Oracle",
      "score": 16.6,
      "reasons": [
        "related_skills",
        "same_category",
        "tag_overlap"
      ],
      "challenge": "https://lvlltd.com/api/pay?skill=oracle-proof-reputation",
      "outline": "https://lvlltd.com/skills/oracle-proof-reputation/outline.json",
      "requires": false,
      "complements": true
    },
    {
      "skill_id": "oracle-price-gas",
      "name": "Price & Gas Oracle",
      "price_usd": 0.05,
      "category": "Oracle",
      "score": 16.3,
      "reasons": [
        "related_skills",
        "same_category",
        "tag_overlap"
      ],
      "challenge": "https://lvlltd.com/api/pay?skill=oracle-price-gas",
      "outline": "https://lvlltd.com/skills/oracle-price-gas/outline.json",
      "requires": false,
      "complements": true
    },
    {
      "skill_id": "oracle-critic",
      "name": "Verification / Critic Oracle",
      "price_usd": 0.15,
      "category": "Oracle",
      "score": 5.7,
      "reasons": [
        "same_category",
        "tag_overlap"
      ],
      "challenge": "https://lvlltd.com/api/pay?skill=oracle-critic",
      "outline": "https://lvlltd.com/skills/oracle-critic/outline.json",
      "requires": false,
      "complements": false
    },
    {
      "skill_id": "oracle-randomness",
      "name": "Randomness / Entropy Oracle",
      "price_usd": 0.05,
      "category": "Oracle",
      "score": 5.2,
      "reasons": [
        "same_category",
        "tag_overlap"
      ],
      "challenge": "https://lvlltd.com/api/pay?skill=oracle-randomness",
      "outline": "https://lvlltd.com/skills/oracle-randomness/outline.json",
      "requires": false,
      "complements": false
    },
    {
      "skill_id": "oracle-media-metadata",
      "name": "Music / Media Metadata Oracle",
      "price_usd": 0.1,
      "category": "Oracle",
      "score": 5.2,
      "reasons": [
        "same_category",
        "tag_overlap"
      ],
      "challenge": "https://lvlltd.com/api/pay?skill=oracle-media-metadata",
      "outline": "https://lvlltd.com/skills/oracle-media-metadata/outline.json",
      "requires": false,
      "complements": false
    },
    {
      "skill_id": "oracle-weather-sensor",
      "name": "Weather / Environmental / Sensor Oracle",
      "price_usd": 0.1,
      "category": "Oracle",
      "score": 5.2,
      "reasons": [
        "same_category",
        "tag_overlap"
      ],
      "challenge": "https://lvlltd.com/api/pay?skill=oracle-weather-sensor",
      "outline": "https://lvlltd.com/skills/oracle-weather-sensor/outline.json",
      "requires": false,
      "complements": false
    },
    {
      "skill_id": "oracle-multi-source-consensus",
      "name": "Multi-Source Consensus Oracle",
      "price_usd": 0.25,
      "category": "Oracle",
      "score": 5.2,
      "reasons": [
        "same_category",
        "tag_overlap"
      ],
      "challenge": "https://lvlltd.com/api/pay?skill=oracle-multi-source-consensus",
      "outline": "https://lvlltd.com/skills/oracle-multi-source-consensus/outline.json",
      "requires": false,
      "complements": false
    }
  ],
  "bundles_including": [],
  "sources": {
    "explicit_fields": "related_skills / requires / complements when present",
    "co_purchase": "same wallet confirmed unlocks (ledger)",
    "structural": "same_category + tag_overlap"
  },
  "note": "Hand-curated bundles remain under /api/shop → bundles; this graph scales beyond editorial lists."
}