When it comes to needing a token, apart from the Tracker which The Aaron already mentioned, a token is only needed for a macro when you want to use @{selected|...} or @{target|...}. A good way to ensure that you have a token selected is to make the macro a token action. A token is not needed for a macro if you are directly referencing a character through the use of its character_id or character_name (for example @{Bob|skill_insight_total} does not require a token because the character, Bob, is being referenced directly). In addition to macros, you can create character abilities. These abilities are created directly in the character sheet for the token. Using these abilities, you can continue to use the same functionality that you would for a global macro (including specifying the ability as a token action), but you do not need to specify the character name in the abilities. You could just use @{dexterity_mod} in the case of the picture above, or @{skill_insight_total} in the case of The Aaron's post above. The downside to this approach is if you have character's on different sheets that you want to be able to use the same ability. Unfortunately you would have to recreate the ability for each character sheet that would use the ability, or consider using the global macro approach and using a selected token.