WingIt wasn't able to figure out that my sniper was spec'd into engineering so I dug a bit through the code and I uncommented the log message in SpecHandler.calculateSpec(). The log shows that BW was returning zero for GetSkillPointsSpentInTree().
[21:47:26.082 N] [WingIt] Class: Agent
[21:47:26.117 N] [WingIt] (0,0,0)
[21:47:26.117 N] [WingIt] Advanced Class: Sniper (None)
[21:47:26.150 N] [WingIt] (0,0,0)
[21:47:26.213 N] [WingIt] Combat support for Agent [None] is not currently implemented.
I tried in on my Marauder and GetSkillPointsSpentInTree() returned valid data.
[21:50:08.642 N] [WingIt] Class: Warrior
[21:50:08.672 N] [WingIt] (2,0,0)
[21:50:08.673 N] [WingIt] Advanced Class: Marauder (Annihilation)
[21:50:08.705 N] [WingIt] (2,0,0)
[21:50:08.706 N] [WingIt] MarauderAnnihilationOutOfCombat is a match!
[21:47:26.082 N] [WingIt] Class: Agent
[21:47:26.117 N] [WingIt] (0,0,0)
[21:47:26.117 N] [WingIt] Advanced Class: Sniper (None)
[21:47:26.150 N] [WingIt] (0,0,0)
[21:47:26.213 N] [WingIt] Combat support for Agent [None] is not currently implemented.
I tried in on my Marauder and GetSkillPointsSpentInTree() returned valid data.
[21:50:08.642 N] [WingIt] Class: Warrior
[21:50:08.672 N] [WingIt] (2,0,0)
[21:50:08.673 N] [WingIt] Advanced Class: Marauder (Annihilation)
[21:50:08.705 N] [WingIt] (2,0,0)
[21:50:08.706 N] [WingIt] MarauderAnnihilationOutOfCombat is a match!