skills/github/SKILL.md
GitHub integration. Read repos, list/read issues and PRs, create branches, post comments, create PRs. Requires GitHub token in ~/.pasture/secrets.json or GITHUB_TOKEN env var.
npx skillsauth add bishwashere/cowcode GitHubInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Interact with GitHub via the REST API. Read repositories, issues, PRs, and files. Create branches, post comments, open PRs, merge PRs.
Create a GitHub Personal Access Token at https://github.com/settings/tokens
public_repo (public) or repo (private)reporepo, issues, pull_requestsadmin:org, delete_repo, or workflow unless you explicitly need themSave the token in ~/.pasture/secrets.json (gitignored, never committed):
{ "github": { "token": "ghp_your_token_here" } }
Or set GITHUB_TOKEN in ~/.pasture/.env.
(Optional) Set a default repo in config.json so you don't repeat it each time:
"skills": { "github": { "defaultRepo": "owner/repo" } }
list_reposList repositories for the authenticated user or a specified org/user.
@me and do not guess owner from the user's real name (e.g. do not pass bishwasmishra unless that is their GitHub login).all, owner, member (default: all for full repo counts)count is the totalReturns { authenticated_as, owner, count, repos }. Use count directly when the user asks how many repos they have.
Single-account setup: if only one GitHub token is configured, that account IS the answer — never ask the user for their GitHub username.
read_repoGet details about a repository (description, stars, default branch, topics, open issue count).
owner/repolist_issuesList issues or pull requests in a repository.
owner/repoopen, closed, all (default: open)issues, prs, all (default: issues)read_issueRead the full body and comment thread of a single issue or PR.
owner/repolist_prsList pull requests in a repository.
owner/repoopen, closed, all (default: open)read_fileRead a file from a repository (returns decoded text content). Avoid reading large binary files.
owner/repoREADME.md)create_branch ⚠️ requires confirmCreate a new branch from an existing one.
owner/repofeat/my-feature)true to proceedpost_comment ⚠️ requires confirmPost a comment on an issue or pull request.
owner/repotrue to proceedcreate_pr ⚠️ requires confirmOpen a pull request.
owner/repofeat/my-feature)true to proceedmerge_pr ⚠️ requires confirm (irreversible)Merge an open pull request.
owner/repomerge, squash, rebase (default: merge)true to proceed (always show user PR title and target branch first)search_codeSearch code across GitHub.
pastureprotocol language:js repo:owner/repo)| User says | Action |
|---|---|
| "How many repos do I have?" / "total repos" | list_repos — omit owner, type all — reply with count |
| "List my GitHub repos" | list_repos — omit owner |
| "List open issues in myorg/myrepo" | list_issues |
| "Show me PR #42" | read_issue number: 42 |
| "What PRs are open?" | list_prs |
| "Read the README from main branch" | read_file path: README.md |
| "Create branch feat/webhook from main" | create_branch (ask confirm) |
| "Open a PR from feat/webhook to main titled 'Add webhooks'" | create_pr (ask confirm) |
| "Post a comment on issue #5 saying 'Fixed in #8'" | post_comment (ask confirm) |
| "Merge PR #10 with squash" | merge_pr method: squash (ask confirm, show PR details first) |
| "Search for 'executeGithub' in my repo" | search_code |
MEMORY.md unless the user explicitly asks.confirm: true.merge_pr, always display the PR title and target branch to the user before confirming.github_list_repos
description: List repositories for the authenticated GitHub token account (omit owner) or for a specific user/org. Returns count and repos. For "my repos" or repo totals, omit owner — do not ask for username.
parameters:
owner: string (optional)
type: string (optional)
per_page: number (optional)
paginate: boolean (optional)
github_read_repo
description: Get details about a GitHub repository.
parameters:
repo: string
github_list_issues
description: List issues or pull requests in a GitHub repository.
parameters:
repo: string
state: string (optional)
type: string (optional)
labels: string (optional)
per_page: number (optional)
github_read_issue
description: Read a single issue or PR including all comments.
parameters:
repo: string
number: number
github_list_prs
description: List pull requests in a GitHub repository.
parameters:
repo: string
state: string (optional)
per_page: number (optional)
github_read_file
description: Read a file from a GitHub repository (decoded text content).
parameters:
repo: string
path: string
ref: string (optional)
github_create_branch
description: Create a new branch in a GitHub repository. Requires confirm=true.
parameters:
repo: string
branch: string
from: string (optional)
confirm: boolean
github_post_comment
description: Post a comment on a GitHub issue or pull request. Requires confirm=true.
parameters:
repo: string
number: number
body: string
confirm: boolean
github_create_pr
description: Create a pull request on GitHub. Requires confirm=true.
parameters:
repo: string
title: string
head: string
base: string (optional)
body: string (optional)
draft: boolean (optional)
confirm: boolean
github_merge_pr
description: Merge an open GitHub pull request. Irreversible - always show PR details to user first. Requires confirm=true.
parameters:
repo: string
number: number
method: string (optional)
message: string (optional)
confirm: boolean
github_search_code
description: Search code on GitHub.
parameters:
query: string
per_page: number (optional)
testing
Bridge conversation to dashboard Projects and Missions — list configured projects, register new ones with setup details, health-check, propose tasks, create missions after user approval, log progress, and update task status. Use when the user wants to work on, track, or manage a project.
testing
Scan linked teammates and score who best fits a user request. Returns ranked agents with relevance scores, reasoning, and a recommendation (delegate, handle-in-main, adapt, or create-new). Call when the topic does not clearly match your active skills or before deciding whether to delegate.
tools
Gmail integration. List, read, search, send, reply, archive, trash, mark-read emails. Natural language commands like "clear my inbox" or "summarize unread". Requires gog CLI authenticated with Gmail.
tools
Google Calendar integration. List events, create events, check availability, delete events. Natural language commands like "book 30 min with John next Tuesday" or "what's on my calendar this week". Requires gog CLI authenticated with Google Calendar.