So if you look at the parameters for CharacterUseSkill (located in story_header.div), you'll see:
Code
CharacterUseSkill((CHARACTERGUID)_Character, (STRING)_SkillID, (GUIDSTRING)_Target, (INTEGER)_ForceResetCooldown, (INTEGER)_IgnoreHasSkill, (INTEGER)_IgnoreChecks)


Parameter 1 is of the type CHARACTERGUID. The variable you're passing in is a GUIDSTRING. While CHARACTERGUID is a GUIDSTRING, a GUIDSTRING may not be a CHARACTERGUID (since it could be an item), so you need to cast it beforehand:

Code
IF
ObjectFlagSet("QuestUpdate_BurningPast_IsWerewolf", (CHARACTERGUID)_Speaker, _Instance)
THEN
CharacterUseSkill(_Speaker, "Shout_PolymorphIntoWerewolf", _Speaker, 1, 1, 1);


Notice here we're having the speaker cast the shout on itself - shouts typically are centered on the caster, so they don't have a traditional target they're cast on.

If you want the speaker to cast a non-shout type of skill on the player (when the flag target is different from the player), you'll need to add an extra query to actually fetch the player like this:

Code
IF
ObjectFlagSet("QuestUpdate_BurningPast_IsWerewolf", (CHARACTERGUID)_Speaker, _Instance)
AND
DialogGetInvolvedPlayer(_Instance, 1, _Player)
THEN
CharacterUseSkill(_Speaker, "Target_PolymorphIntoWerewolf", _Player, 1, 1, 1);