Назад към всички

repo-analyzer

// GitHub repository trust scoring and due diligence. Use when asked to analyze, audit, score, or evaluate any GitHub repo — especially for crypto/DeFi project DD, checking if a repo is legit, evaluating code quality, verifying team credibility, or comparing multiple repos. Also handles X/Twitter URLs

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namerepo-analyzer
descriptionGitHub repository trust scoring and due diligence. Use when asked to analyze, audit, score, or evaluate any GitHub repo — especially for crypto/DeFi project DD, checking if a repo is legit, evaluating code quality, verifying team credibility, or comparing multiple repos. Also handles X/Twitter URLs containing GitHub links — auto-extracts and analyzes repos from tweets. Triggers on "analyze this repo", "is this legit", "check this GitHub", "trust score", "audit this project", "repo quality", "batch scan repos", "analyze this tweet". ALSO auto-triggers when the user pastes an X/Twitter URL that contains a GitHub link — no explicit "analyze" command needed. When triggered by a tweet, ALWAYS include the tweet text/context above the analysis. Do NOT use for general GitHub browsing, reading READMEs, or cloning repos without analysis.
allowed-toolsBash(node:*) WebFetch
compatibilityRequires Node.js 18+. Uses GitHub API (gh CLI or unauthenticated). Zero external dependencies. Works on Linux/macOS. Handles rate limits with automatic retry and backoff (waits for reset if ≤60s, retries 5xx once).
metadata[object Object]

Repo Analyzer

Zero-dependency GitHub trust scorer. Runs 29 analysis modules across 12 scoring categories.

Usage

# Single repo
node scripts/analyze.js <owner/repo or github-url> [flags]

# From a tweet (auto-extracts GitHub links)
node scripts/analyze.js <x.com-or-twitter.com-url> [flags]

# Batch mode
node scripts/analyze.js --file <repos.txt> [--json]

Flags

  • --json — JSON output (for pipelines)
  • --oneline — compact one-line score
  • --badge — shields.io markdown badge
  • --verbose — show progress
  • --token <pat> — GitHub PAT (or set GITHUB_TOKEN env)
  • --file <path> — batch mode, one repo per line (# comments ok)

Environment

CRITICAL: Always run with GITHUB_TOKEN loaded. Without it, scores are severely degraded (missing stars, forks, commits). Before running: source ~/.bashrc (token is in ~/.bashrc as GITHUB_TOKEN). Or pass explicitly: GITHUB_TOKEN="$(grep GITHUB_TOKEN ~/.bashrc | cut -d'"' -f2)" node scripts/analyze.js ...

Scoring (14 categories, 168pts normalized to 100)

CategoryMaxWhat it checks
Commit Health20Human vs bot, GPG sigs, code dumps, fake timestamps
Contributors15Bus factor, contributor diversity
Code Quality25Tests, CI, license, docs, lock files
AI Authenticity15AI slop detection in code/README
Social10Stars, forks, star/fork ratio, botted stars
Activity10Recent pushes, releases
Crypto Safety5Token mints, rug patterns, wallet addresses
Dependency Audit10Known malicious packages, typosquatting, install hooks, lock files
Fork Quality8Fork divergence, suspicious changes, gutted vs meaningful forks
README Quality10Install guide, examples, structure, API docs
Maintainability10File sizes, nesting, code/doc ratio
Project Health10Abandoned detection, velocity, issue response, PR review
Originality5Copy-paste, template detection, backer verification
Agent Safety15Install hooks, prompt injection, secrets, CI audit, permissions

Grade Scale

  • A (85+): LEGIT
  • B (70-84): SOLID
  • C (55-69): MIXED
  • D (40-54): SKETCHY
  • F (<40): AVOID

Key Features

  • Enhanced dependency audit: Detects known malicious packages (event-stream, ua-parser-js, etc.), typosquatting attacks, install hooks, and estimates transitive dependency bloat
  • Fork comparison: Analyzes fork divergence, detects cosmetic vs meaningful changes, flags suspicious modifications (removed CI, added wallets), identifies gutted forks
  • Agent safety: Detects prompt injection, credential harvesting, install script hooks, obfuscated code
  • Secrets detection: Finds hardcoded API keys, tokens, private keys via regex + entropy
  • Network mapping: Categorizes all outbound domains (API, CDN, unknown)
  • CI/CD audit: Checks GitHub Actions for pull_request_target, unpinned actions, secret leaks
  • Permissions manifest: Summarizes what the code needs to run (like an app permissions list)
  • Author reputation: Org memberships, suspicious repos, account age
  • Backer verification: Cross-references investor claims vs committer org membership
  • Complexity hotspots: Flags large files with deep nesting and high conditional density

Batch File Format

# One repo per line, # for comments
Uniswap/v3-core
https://github.com/aave/aave-v3-core
OpenZeppelin/openzeppelin-contracts

Output

Default: rich terminal report with bar charts, sections, verdict. --json: Full structured data for programmatic use. --oneline: RepoName: 85/100 [A] — 2 flags

When Reporting to User

Keep it concise. Lead with score/grade and notable findings. Skip sections with nothing interesting. Example:

"Uniswap/v3-core scored 75/B — 96% GPG-signed, 11 authors, MIT license. Flagged: abandoned (466 days no push), 2,597 transitive deps (bloated), secrets in CI run commands. Agent safety: CAUTION."