Skip to content

oss-codes/grepdev

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)

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

Configurable Spam Detection

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

Filter Detects Disable Flag
AI Spam Copilot/AI-generated commits --no-ai-spam
Auto PRs Dependabot, Renovate, Snyk --no-auto-prs
Auto Commits CI auto-commits (Actions, pre-commit) --no-auto-commits
Git Farming Mass trivial commits to own repos --no-git-farming
Burst Uploads >20 commits in a single day --no-burst-uploads
Trivial PRs PRs with <5 lines changed --no-trivial-prs
Hacktoberfest Hacktoberfest 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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages