Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

1 Commit

Repository files navigation

grepdev - GitHub Developer Screening Skill

An Agent Skill for evaluating GitHub developers as potential hires. Uses the gh CLI to analyze commits, PRs, contribution patterns, and README signals — with built-in AI spam detection to filter out padded profiles.

agent-skill

Quick Start

Install via npx skills (recommended)

npx skills add oss-codes/grepdev --skill candidate-finder

Or clone manually

git clone https://github.com/oss-codes/grepdev.git
cp -r grepdev/candidate-finder ~/.claude/skills/ # Claude Code
cp -r grepdev/candidate-finder ~/.config/opencode/skills/ # OpenCode

What It Does

  • Discovers candidates from repo contributors, topic searches, or commit history
  • Deep profile analysis — README, bio, contribution spread, pinned repos
  • Contact extraction — Email, LinkedIn, Twitter/X, blog, portfolio, Discord
  • Configurable spam detection — Filter AI spam, auto PRs, auto commits, git farming
  • Export to any format — Table (default), CSV, JSON, or custom templates
  • Scores 0-100 based on real signals: cross-org contributions, PR quality, community engagement

Usage

Once installed, invoke with your agent:

/candidate-finder find top contributors in cloudflare/agents

Or ask naturally:

Evaluate developer <username> for a systems role
Screen contributors in cloudflare/agents
Export candidates from cloudflare/agents as CSV with contact info

Standalone Script

No agent required — run the Python script directly:

pip install requests python-dotenv
# Evaluate top contributors from a repo
python candidate-finder/scripts/candidate_finder.py repo cloudflare/agents
# Evaluate specific users
python candidate-finder/scripts/candidate_finder.py users <username1><username2># Export as CSV with full contact info
python candidate-finder/scripts/candidate_finder.py repo cloudflare/agents --format csv --output candidates.csv
# Custom spam filters (e.g., disable auto-PR detection for DevOps roles)
python candidate-finder/scripts/candidate_finder.py users <username> --no-auto-prs --no-auto-commits
# Custom export template for recruiter outreach
python candidate-finder/scripts/candidate_finder.py users <username1><username2> --format custom \
--template "{name}|{email}|{linkedin}|{portfolio}|{github}" \
--output outreach.csv
# Include pinned repos for deeper contact extraction
python candidate-finder/scripts/candidate_finder.py users <username> --include-pinned --format json

Requires GitHub CLI authenticated (gh auth login).

File Structure

grepdev/
├── candidate-finder/
│ ├── SKILL.md # Agent instructions (gh CLI commands, scoring rubric, export formats)
│ ├── ai-spam-signals.md # Detection heuristics & regex patterns (configurable filters)
│ └── scripts/
│ └── candidate_finder.py # Standalone Python implementation (contact extraction, CSV/JSON/custom export)
├── deploy.sh # One-command GitHub deployment script
└── README.md # This file

Requirements

  • GitHub CLI (gh) authenticated
  • jq (for JSON parsing in CLI commands)
  • Python 3.8+ (for standalone script only)

How It Works

Scoring Rubric (0-100)

FactorWeightSignal
Commit history depth+25Years active, natural gaps
Cross-org contributions+20Contributed to repos they don't own
PR quality+20Non-trivial diffs, review cycles
LinkedIn presence+10Found in README/bio
Community signals+15Followers, issues closed, reviews given
Stars on own work+10Others found their work useful
AI spam flags−30Subtract 8pts per red flag

Configurable Spam Detection

All filters are configurable via CLI flags. Disable any filter that doesn't fit your use case.

FilterDetectsDisable Flag
AI SpamCopilot/AI-generated commits--no-ai-spam
Auto PRsDependabot, Renovate, Snyk--no-auto-prs
Auto CommitsCI auto-commits (Actions, pre-commit)--no-auto-commits
Git FarmingMass trivial commits to own repos--no-git-farming
Burst Uploads>20 commits in a single day--no-burst-uploads
Trivial PRsPRs with <5 lines changed--no-trivial-prs
HacktoberfestHacktoberfest repo padding--no-hacktoberfest

See candidate-finder/ai-spam-signals.md for full heuristics and when to disable each filter.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages