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.verification object from a GitHub read-back. Do not tell the user a branch, comment, PR, or merge is complete if verification.verified is not true; retry when appropriate or say the change was not verified.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)
tools
Policy-gated command execution for package managers, project generators, build/test scripts, dev servers, and one-off CLIs. Disabled by default; add "exec" to skills.enabled to expose it. Prefer go-read/go-write for stable filesystem primitives.
data-ai
Plain HTTP fetch (GET/POST/etc.) for JSON or text endpoints, including localhost / LAN / Pasture's own dashboard. Use this instead of browse for non-rendered URLs.
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.
tools
Delegate a question or task to another configured agent and get its reply back. Use when the user wants you to coordinate a team of agents (e.g. a PM asking a specialist), or when another agent owns the knowledge/tools needed. Only works for agents in this agent's allow list.