How it works
When you add a GitHub repository as a skill source or an MCP repository and then sync it, JoyStream:- Looks up your connected GitHub credential for the relevant workspace.
- Uses that credential to read the repository from GitHub.
- Imports the skills or servers it finds.
Public and private repositories
Public repositories work with no credential at all. Private repositories require a connected GitHub credential with therepo scope. The standard “Connect with GitHub” sign-in grants only public and basic access, so for private repositories you connect a GitHub personal access token with the repo scope.
What happens when a credential is missing
GitHub returns the same “not found” response for a private repository whether it doesn’t exist or you simply can’t see it. So when a sync can’t read a repository and you have no GitHub credential connected, JoyStream shows an actionable message instead of an opaque error:--json:
repo access to it — so you know to check the token’s scope or the repository path.
Supported sources
GitHub only. Adding a non-GitHub URL, such as a GitLab or Bitbucket link, is rejected with a clear error when you create the source. It won’t be silently accepted and then fail later. Skill sources and MCP repositories behave the same way.What this feature does not do
- It does not create a new GitHub login flow. You connect GitHub the same way you connect any other service, in Settings → Connections.
- It does not resync on a schedule. You trigger syncs yourself.
- It does not import from providers other than GitHub.
See also
- Connect GitHub for private repos — walkthrough.
- Add skill and MCP repositories