{"adoption": {"forks": 1377, "observed_at": "2026-08-28T04:09:53.200908+00:00", "stars": 7007}, "canonical_url": "https://ross.abutalabs.com/products/hiring-agent", "card": {"archived": false, "artifact_type": "cli-tool", "description": "AI agent to evaluate and score resumes.", "domain": ["artificial-intelligence", "large-language-models", "hr", "developer-tools"], "enriched": true, "function": ["agent-framework", "llm-inference", "nlp", "ocr", "pdf", "parser", "cli"], "health_score": 77, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["interviewstreet/hiring-agent"], "name": "interviewstreet/hiring-agent", "platform": ["python", "cli", "cross-platform", "self-hosted"], "pushed_at": "2026-07-27T12:59:43+00:00", "repo": "interviewstreet/hiring-agent", "stars": 7007, "tags": ["resume-scoring", "resume-parsing", "hiring", "recruiting", "ollama", "github-enrichment", "explainable-ai", "candidate-ranking", "ai-agents", "natural-language-processing"], "topics": [], "urls": [], "use_cases": ["score and rank resumes automatically", "parse resumes from pdfs into structured data", "screen high volumes of intern applications", "evaluate candidates with local llm models", "enrich resume evaluation with github activity signals", "get explainable candidate scoring"], "what_it_is": "An open-source AI agent pipeline from HackerRank that extracts structured data from resume PDFs, enriches it with GitHub signals, and produces explainable resume scores using locally-run LLMs via Ollama. It is a CLI tool for ranking large volumes of applications, not a full applicant tracking system.", "when_to_avoid": ["you need a full applicant tracking system with pipelines and interview scheduling", "you want zero score variance - LLM scoring is inherently non-deterministic", "you need production-grade hiring decisions without human review", "you require a polished product for customers rather than a demo-grade pipeline"], "when_to_choose": ["you receive thousands of resumes and need to prioritize which to read first", "you want a self-hosted, privacy-friendly resume screener with no cloud API keys", "you need explainable, category-level scoring rather than a black box", "you want to enrich resume data with public GitHub signals"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/hiring-agent", "repo": "interviewstreet/hiring-agent", "role": "main", "score": 60}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:53.200908+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:40:44.553743+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23e234d66bdee57ffcb4fb8cc4c7b0508ba05a12e6232588f4af806a5c61d09e", "fetched_at": "2026-08-28T04:09:53.200908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/interviewstreet/hiring-agent"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:53.200908+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:40:44.553743+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23e234d66bdee57ffcb4fb8cc4c7b0508ba05a12e6232588f4af806a5c61d09e", "fetched_at": "2026-08-28T04:09:53.200908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/interviewstreet/hiring-agent"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:40:44.553743+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23e234d66bdee57ffcb4fb8cc4c7b0508ba05a12e6232588f4af806a5c61d09e", "fetched_at": "2026-08-28T04:09:53.200908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/interviewstreet/hiring-agent"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:53.200908+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:53.200908+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:53.200908+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:40:44.553743+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23e234d66bdee57ffcb4fb8cc4c7b0508ba05a12e6232588f4af806a5c61d09e", "fetched_at": "2026-08-28T04:09:53.200908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/interviewstreet/hiring-agent"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:53.200908+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:53.200908+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:40:44.553743+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23e234d66bdee57ffcb4fb8cc4c7b0508ba05a12e6232588f4af806a5c61d09e", "fetched_at": "2026-08-28T04:09:53.200908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/interviewstreet/hiring-agent"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:53.200908+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:53.200908+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:53.200908+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:40:44.553743+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23e234d66bdee57ffcb4fb8cc4c7b0508ba05a12e6232588f4af806a5c61d09e", "fetched_at": "2026-08-28T04:09:53.200908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/interviewstreet/hiring-agent"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:53.200908+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:53.200908+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:40:44.553743+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23e234d66bdee57ffcb4fb8cc4c7b0508ba05a12e6232588f4af806a5c61d09e", "fetched_at": "2026-08-28T04:09:53.200908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/interviewstreet/hiring-agent"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:40:44.553743+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23e234d66bdee57ffcb4fb8cc4c7b0508ba05a12e6232588f4af806a5c61d09e", "fetched_at": "2026-08-28T04:09:53.200908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/interviewstreet/hiring-agent"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:40:44.553743+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23e234d66bdee57ffcb4fb8cc4c7b0508ba05a12e6232588f4af806a5c61d09e", "fetched_at": "2026-08-28T04:09:53.200908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/interviewstreet/hiring-agent"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:40:44.553743+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23e234d66bdee57ffcb4fb8cc4c7b0508ba05a12e6232588f4af806a5c61d09e", "fetched_at": "2026-08-28T04:09:53.200908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/interviewstreet/hiring-agent"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 94, "longevity": 28, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 401, "days_push": 37, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 60, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}