How to have a loot table with nbt/custom data

tried making a loot table with an item that has a lot of nbt, it doesnt work and i cant figure out why

    "type": "minecraft:chest",
    "pools": [
        {
            "bonus_rolls": 0,
            "entries": [
                {
          "type": "minecraft:item",
          "name": "minecraft:emerald",
          "weight": 100,
          "functions": [
            {
              "function": "minecraft:set_components",
              "components": {
                "minecraft:custom_data": {
                  "PublicBukkitValues": {
                    "executableitems:ei-id": "skill_book",
                    "score:usage": 0
                  }
                },
                "minecraft:custom_model_data": 1,
                "minecraft:custom_name": {
                  "extra": [
                    {
                      "bold": false,
                      "color": "gold",
                      "italic": false,
                      "obfuscated": false,
                      "strikethrough": false,
                      "text": "Skill Book",
                      "underlined": false
                    }
                  ],
                  "text": ""
                },
                "minecraft:max_stack_size": 1
              }
            }
          ]
        },
                {
                    "type": "minecraft:item",
                    "name": "minecraft:saddle",
                    "weight": 20
                },
                {
                    "type": "minecraft:item",
                    "name": "minecraft:saddle",
                    "weight": 20
                },
                other stuff if i put it all it would send as a file```
Continue to help post