GitHub Wiki & Projects Skill
Assists with GitHub Wiki editing and GitHub Project board management for the current repository.
Quick Commands
/github wiki list— Clone the wiki and list all pages/github wiki edit <page>— Edit a specific wiki page/github wiki create <page>— Create a new wiki page/github projects list— List GitHub Projects for this repo/github projects view <number>— View a specific project board
Authentication Reference
GitHub uses three different auth mechanisms depending on the operation. Getting these wrong produces confusing 403 errors.
| Operation | Auth method | Notes |
|---|---|---|
| Wiki read (clone) | SSH or HTTPS | Either works |
| Wiki push | SSH only | Fine-grained PATs get 403. Always use git@github.com: URL. |
| Issues, PRs, releases | gh CLI |
Uses the OAuth token from gh auth login |
| GitHub Projects (boards) | gh CLI + project scope |
Requires gh auth refresh -s read:project,project first |
Before Wiki operations
- Verify SSH:
ssh -T git@github.com - Get the repo's remote URL:
git remote get-url origin - Construct the wiki SSH URL by replacing
.gitwith.wiki.gitand ensuring it starts withgit@github.com: - Clone into your system's temp directory (e.g.,
/tmp/on Linux/macOS,%TEMP%on Windows)
Before GitHub Projects operations
The default gh OAuth token lacks project scopes. If gh project list fails with a scopes error, tell the user:
Your
ghtoken needs theprojectscope. Run:gh auth refresh -s read:project,project
Wiki Workflow
- Clone the wiki into a temp directory using the SSH URL:
git clone git@github.com:<owner>/<repo>.wiki.git <scratchpad-or-temp-dir>/<project>-wiki - Edit markdown files using Read/Write/Edit tools
- Validate — use Grep to check for broken links, TODO markers, stale content
- Commit and push from the wiki checkout:
git -C <wiki-dir> add . && git -C <wiki-dir> commit -m "docs: <description>" && git -C <wiki-dir> push origin master
Wiki repos have a single master branch and no PR workflow — commits push directly.
GitHub Projects Workflow
Detect the repo owner from gh repo view:
OWNER=$(gh repo view --json owner --jq '.owner.login')
# List projects
gh project list --owner "$OWNER"
# View a project
gh project view <number> --owner "$OWNER"
# Add an issue to a project
gh project item-add <project-number> --owner "$OWNER" --url <issue-url>
Common Pitfalls
- Wiki push 403: You used HTTPS or a fine-grained token. Switch to SSH.
- Project scope error: Run
gh auth refresh -s read:project,project. - Wiki branch confusion: Wiki repos use
master, notmain. - Stale wiki clone: Always
git pullbefore editing if the clone already exists.
Source: prairieaster-ai/claude-code-skills — distributed by TomeVault.