Is it possible to create a Cortana skill that is limited to users on a particular company's network?
For example, I would be interested in building a Cortana skill for the Harman Kardon Invoke smart speaker, but this skill would not be published globally.
Are all skills always published globally or is there a way to control this?
Currently this isn't possible as a built in functionality for Cortana. There are some ways to deploy to only certain email addresses however. You can use the "deploy to group" functionality outlined here:
https://learn.microsoft.com/en-us/cortana/skills/publish-skill
Alternatively, you can publish the skill "to world" and force users to authenticate the first time they access the skill, thus limiting it to people with your approved credentials.