These scripts will tell you how many catch-up KP you can still earn per profession.
You also have to do your weekly profession quest in Dornogal before you can get the catch-up items for herbalism, mining, skinning, and enchanting (while the other professions rely on patron work orders).
Alchemy: 3057
/run local c=C_CurrencyInfo.GetCurrencyInfo(3057) print("You have earned",c.quantity,"repeatable knowledge for",(c.name:match("ly.(.*).Kn")),"so far, you can loot",c.maxQuantity-c.quantity,"more this week up to",c.maxQuantity)
Blacksmithing: 3058
/run local c=C_CurrencyInfo.GetCurrencyInfo(3058) print("You have earned",c.quantity,"repeatable knowledge for",(c.name:match("ly.(.*).Kn")),"so far, you can loot",c.maxQuantity-c.quantity,"more this week up to",c.maxQuantity)
Enchanting: 3059
/run local c=C_CurrencyInfo.GetCurrencyInfo(3059) print("You have earned",c.quantity,"repeatable knowledge for",(c.name:match("ly.(.*).Kn")),"so far, you can loot",c.maxQuantity-c.quantity,"more this week up to",c.maxQuantity)
Engineering: 3060
/run local c=C_CurrencyInfo.GetCurrencyInfo(3060) print("You have earned",c.quantity,"repeatable knowledge for",(c.name:match("ly.(.*).Kn")),"so far, you can loot",c.maxQuantity-c.quantity,"more this week up to",c.maxQuantity)
Herbalism: 3061
/run local c=C_CurrencyInfo.GetCurrencyInfo(3061) print("You have earned",c.quantity,"repeatable knowledge for",(c.name:match("ly.(.*).Kn")),"so far, you can loot",c.maxQuantity-c.quantity,"more this week up to",c.maxQuantity)
Inscription: 3062
/run local c=C_CurrencyInfo.GetCurrencyInfo(3062) print("You have earned",c.quantity,"repeatable knowledge for",(c.name:match("ly.(.*).Kn")),"so far, you can loot",c.maxQuantity-c.quantity,"more this week up to",c.maxQuantity)
Jewelcrafting: 3063
/run local c=C_CurrencyInfo.GetCurrencyInfo(3063) print("You have earned",c.quantity,"repeatable knowledge for",(c.name:match("ly.(.*).Kn")),"so far, you can loot",c.maxQuantity-c.quantity,"more this week up to",c.maxQuantity)
Leatherworking: 3064
/run local c=C_CurrencyInfo.GetCurrencyInfo(3064) print("You have earned",c.quantity,"repeatable knowledge for",(c.name:match("ly.(.*).Kn")),"so far, you can loot",c.maxQuantity-c.quantity,"more this week up to",c.maxQuantity)
Mining: 3065
/run local c=C_CurrencyInfo.GetCurrencyInfo(3065) print("You have earned",c.quantity,"repeatable knowledge for",(c.name:match("ly.(.*).Kn")),"so far, you can loot",c.maxQuantity-c.quantity,"more this week up to",c.maxQuantity)
Skinning: 3066
/run local c=C_CurrencyInfo.GetCurrencyInfo(3066) print("You have earned",c.quantity,"repeatable knowledge for",(c.name:match("ly.(.*).Kn")),"so far, you can loot",c.maxQuantity-c.quantity,"more this week up to",c.maxQuantity)
Tailoring: 3067
/run local c=C_CurrencyInfo.GetCurrencyInfo(3067) print("You have earned",c.quantity,"repeatable knowledge for",(c.name:match("ly.(.*).Kn")),"so far, you can loot",c.maxQuantity-c.quantity,"more this week up to",c.maxQuantity)