It's even easier (assuming you use the improvement station to improve an item, not sure if it would be possible without or just opening the crafting station but NOT selecting the improvement tab) to check if the imporvement tab is shown.
Use the event_craft_complete to register your callback function and then check if the improvement's inventory control is not hidden:
Lua Code:
if not ZO_SmithingTopLevelImprovementPanelInventory:IsHidden() then
--Improvement
end