Gh set active project
Skill yu-iskw/github-project-skills/skills/gh-set-active-project
Specialized Agent Skills to automate GitHub workflows using the GitHub CLI
npx -y skills add yu-iskw/github-project-skills --skill gh-set-active-projectAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Sets the active GitHub project and repository context by writing a repo-level config file at .github/project-config.json. Run once per repository to eliminate repeated context verification prompts and share the context with all team members via git. All subsequent agent sessions will auto-verify silently against this config.
SKILL.md
3.9 KB, as published. Nobody here has run it
Setting the Active GitHub Project
Purpose
This skill performs a one-time interactive setup that writes .github/project-config.json
to the current repository. Once the config exists, gh-verifying-context switches from a
mandatory human-confirmation gate to a silent auto-verify mode: it checks the live
environment against the config and only alerts the user when a mismatch is detected.
1. When to Use
- First time setting up a repository for use with these GitHub agent skills.
- When switching to a different GitHub Project (re-run to overwrite the config).
- After changing the repository's GitHub organization or ownership.
Once committed and pushed, the config is shared with all team members automatically — every developer who clones or pulls the repository gets the correct context without running this skill.
2. Workflow
Step 1 – Verify Authentication
Run the following to confirm the authenticated account and repository:
gh auth status && git remote -v
Parse and report:
Logged in as: GitHub usernameActive Repository:<owner>/<repo>from git remoteRemote URL: origin URL
Present these values to the user before proceeding. This is the only manual confirmation step required — it happens once during setup.
Step 2 – Identify the Repository Owner and Name
gh repo view --json owner,name --jq '{"owner": .owner.login, "repo": .name}'
Step 3 – List Available GitHub Projects
gh project list --owner <owner> --json number,title,id,url
Present the project list as a numbered table so the user can select the target project.
GATE: Ask the user: "Which project should be set as active for this repository?" DO NOT proceed until a project is selected.
Step 4 – Write the Config File
Create or overwrite .github/project-config.json with the confirmed values:
{
"owner": "<owner>",
"repo": "<repo>",
"project_number": <number>,
"project_id": "<PVT_...>",
"set_at": "<ISO-8601 timestamp>"
}
Ensure .github/ directory exists before writing:
mkdir -p .github
Step 5 – Commit and Share the Config
Ask the user: "Should I commit and push this config so all team members receive it automatically?"
If the user confirms, run:
git add .github/project-config.json
git commit -m "chore: set active GitHub project to <title> (#<number>)"
git push
NOTE: The config contains only public, non-sensitive values (owner, repo, project number). It is safe to commit to both public and private repositories.
If the repository uses branch protection rules, open a PR instead:
git checkout -b chore/set-active-project
git add .github/project-config.json
git commit -m "chore: set active GitHub project to <title> (#<number>)"
git push -u origin chore/set-active-project
gh pr create --title "chore: set active GitHub project" \
--body "Sets .github/project-config.json so all team members auto-verify silently."
Step 6 – Confirm Success
Report the outcome to the user:
Active project set successfully:
- Owner: <owner>
- Repository: <repo>
- Project: <title> (#<number>)
- Config written: .github/project-config.json
- Committed: yes / no (pushed to <branch>)
All team members will auto-verify silently after pulling this change.
No confirmation prompts unless a mismatch is detected.
3. Reference
See references/commands.md for the full command reference and config schema.