It looks like you can commit code to the game by pointing it at a GitHub repository or other methods[1]. I couldn't find documentation on the GitHub integration but here's some people talking about it[2].
public_repo - Grants read/write access to code, commit statuses, collaborators, and deployment statuses for public repositories and organizations. Also required for starring public repositories.
repo - Grants read/write access to code, commit statuses, collaborators, and deployment statuses for public and private repositories and organizations.
Also, I don't think they need write access at all to your repositories, so I think the default no scope would be sufficient
(no scope) - Grants read-only access to public information (includes public user profile info, public repository info, and gists)
Well, by granular I meant on a per-repository basis, ie. so you could grant an application access to only one repo (If anyone from GitHub is reading this...)
As RadioactiveMan said, they have a somewhat undocumented feature where they will sync your screep code with a GitHub repository. The only way to do that with GitHub scopes is to allow full read/write access to your all of your repositories including organizational repos.
[1] http://support.screeps.com/hc/en-us/articles/203022512-Commi...
[2] http://support.screeps.com/hc/communities/public/questions/2...