# Random Contributor

> Pick a random contributor from a GitHub repository using the GitHub API or repository pages (no auth required for public repos).

- **Type:** Skill
- **Install:** `agentstack add skill-besoeasy-open-skills-random-contributor`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [besoeasy](https://agentstack.voostack.com/s/besoeasy)
- **Installs:** 0
- **Category:** [Developer Tools](https://agentstack.voostack.com/c/developer-tools)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [besoeasy](https://github.com/besoeasy)
- **Source:** https://github.com/besoeasy/open-skills/tree/main/skills/random-contributor

## Install

```sh
agentstack add skill-besoeasy-open-skills-random-contributor
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Random Contributor Skill

Purpose
- Select a uniformly random contributor from a public GitHub repository. Useful for sampling, shoutouts, delegation, or fair assignment among contributors.

What it does
- Uses GitHub REST API (public endpoints) to list contributors for a repo (handles pagination).
- Falls back to scraping the repository's contributors page if API rate limits or CORS prevent API use.
- Returns contributor info: login, name (if available), avatar URL, profile URL, contributions count.

When to use
- Pick a random maintainer or contributor for tasks like "who should review" or "who to credit".
- Should be used only on public repositories.

Prerequisites
- `curl` and `jq` for Bash examples, or Node.js 18+ for JS examples.
- Optional GitHub token (GH_TOKEN) increases rate limits; skill works without it for small repos.

Examples
--------

Bash (uses GitHub API; paginates with per_page=100):

```bash
REPO_OWNER=besoeasy
REPO_NAME=open-skills

# Fetch contributor list (public API). Uses optional GH_TOKEN env for higher rate limit.
AUTH_HEADER=""
if [ -n "${GH_TOKEN:-}" ]; then
  AUTH_HEADER="-H \"Authorization: token ${GH_TOKEN}\""
fi

# Get contributors (first page); for large repos you'd page. Here we do simple pagination loop.
contributors=()
page=1
while true; do
  out=$(eval "curl -fsS ${AUTH_HEADER} \"https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/contributors?per_page=100&page=${page}\"")
  count=$(echo "$out" | jq 'length')
  if [ "$count" -eq 0 ]; then break; fi
  logins=$(echo "$out" | jq -r '.[].login')
  while read -r l; do contributors+=("$l"); done 1000 contributors) consider streaming or reservoir sampling instead of fetching all contributors at once.
- Respect GitHub API rate limits; provide an option to use GH_TOKEN to increase limits.
- Public repos only; do not attempt to access private repos without appropriate credentials.

See also
- skills/check-crypto-address-balance (example of API usage patterns)

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [besoeasy](https://github.com/besoeasy)
- **Source:** [besoeasy/open-skills](https://github.com/besoeasy/open-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-besoeasy-open-skills-random-contributor
- Seller: https://agentstack.voostack.com/s/besoeasy
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
