Use when a role is open and you must write the job post, screen inbound candidates, structure the interview loop, or score them to a defensible Hire / On-Hold / No-Hire — including whether an AI résumé filter is legal. NOT after the offer is accepted — onboarding, payroll, performance (that is `people-ops`), NOT offer terms (that is `contracts`).
npx skills add https://github.com/ericrisco/rsc-harness --skill hiring
You run the selection funnel up to the hire decision: write the post, screen
the pile, structure the loop, and score candidates so the call is evidence-based
and defensible. The product of this skill is a job post, a set of screen
decisions, an interview structure, and a scorecard that says Hire / On-Hold /
No-Hire with the reason written down.
Hard boundary: the moment the offer is accepted, you are done. Onboarding,
payroll, equipment, performance reviews, PTO — that is ../people-ops/SKILL.md.
Do not draft offer-letter terms here either; that is ../contracts/SKILL.md.
Every engagement walks this line, in order. Do not skip to scoring before the
rubric exists.
define role → write post → screen pile → structured loop → independent scores → calibrated debrief → decision
One rule per stage, with the why:
named. Write the 3–6 competencies before the post, because they drive the
post, the questions, and the scorecard.
outward, not a wish list.
the comparison is meaningless.
structured interviews are the single highest-validity selection method
(~.51 predictive validity vs ~.38 unstructured; the 2022 Sackett et al.
re-analysis ranks them above cognitive-ability tests). Unstructured = lottery.
group talks. Debrief is calibration, not a re-vote.
The job post is the top of the funnel and it leaks candidates if you write it
wrong. Apply the company voice from ../brand-voice/SKILL.md if one exists — but
do not author the voice guide here, just apply it.
Split must-haves from nice-to-haves, and keep must-haves short. Women tend to
apply only when they meet ~100% of listed requirements vs ~60% for men, so every
extra "requirement" silently filters out qualified candidates. Cap must-haves at
~6. Everything that is genuinely learnable on the job goes under nice-to-have.
Ban gender-coded language. Removing gender-coded terms yields roughly 29%
more applications. Masculine-coded words skew the applicant pool male. Strip and
replace:
driven, strong, crush it.*
Full do/don't word list and a fill-in post skeleton: references/templates.md.
State pay. Pay transparency is law in a growing number of jurisdictions and a
range widens the pool. Put a band in the post.
Bad → Good, same role:
BAD
We need a rockstar engineer — a fearless, aggressive self-starter who can crush
ambiguous problems. Requirements: 8+ years, CS degree from a top school, expert
in 11 named technologies, startup experience, must thrive under pressure.
GOOD
Senior Backend Engineer · €70–90k · Barcelona / remote-EU
You'll own our payments service end to end and partner with product on the
roadmap.
Must-haves (≤6): 5+ yrs building production backend services; fluent in one of
Go/Python/Java; designed and run a service in production; comfortable with SQL.
Nice-to-haves: payments domain, Kafka, prior on-call.
How to apply: send a short note + anything you've shipped.
Score every applicant against the same job-related rubric you derived from
the competencies (template: references/templates.md). No bespoke criteria per
candidate.
photo — none of it is in the rubric, so it does not enter the decision.
sample, a portfolio teardown) predict performance better than résumé history;
>73% of companies now report a skills-based approach. When a must-have is
unclear, resolve it with a small work-sample, not a guess.
150+ US cities require deferring criminal-history questions until after a
conditional offer, plus an individualized assessment. Do not put a
criminal-history box on the application form. (Candidate-data retention and
consent: ../gdpr-privacy/SKILL.md.)
For each candidate, the call:
| Signal | Decision |
|---|---|
| Meets the must-haves on job-related evidence | Advance to loop |
| Strong on most, one must-have unclear | Send a short work-sample / structured task to resolve it |
| Misses a hard must-have (verified skill, legal eligibility) | Reject, with the job-related reason logged |
| Borderline, more reqs open soon | Parking lot — note why, revisit, do not silently ghost |
| Non-job factor (school name, age, gap, "vibe", name) | Ignore it — it is not in the rubric |
Turn the 3–6 competencies into a loop where each interviewer owns distinct
ground.
people will all ask "tell me about a hard project", you have a duplicate-
coverage bug — split the competencies so each stage probes something the
others do not.
each competency, asked in the same order for every candidate. Sample inline;
full bank in references/templates.md.
means on the scale *before* anyone interviews, so scores are comparable.
Sample structured question (problem-solving, behavioral/STAR):
"Walk me through the hardest technical tradeoff you owned in the last year."
Follow-ups (STAR): What was the situation? What were YOUR options and the one
you picked? What did you actually do? What was the measured result, and what
would you change?
This is where gut-feel hiring dies. A structured scorecard with behavioral
anchors lifts interview validity from ~.20 to ~.51 (most rigorous scoring ~.57)
and a 2022 SHRM-cited figure puts bias reduction above 50% versus unstructured
scoring. Shape it exactly:
loads the interviewer.
high points so a "4" means the same thing to everyone.
session (recency) and submit before the group talks, so no one anchors on the
loudest voice in the room.
Skeleton:
Candidate: ___ Role: ___ Interviewer: ___ Stage: ___
Competency: Problem-solving
Score (1–5): __
Anchors — 1: gave a vague answer, no real tradeoff
3: described a decision but thin on alternatives/result
5: clear tradeoff, owned the call, measured the outcome
Evidence (required, quote/example): "____________________"
[ repeat for each of the 3–6 competencies ]
Overall recommendation: [ ] Hire [ ] On-Hold [ ] No-Hire
Rationale (one paragraph, tied to the evidence above): ______
Bad → Good entry:
BAD: Problem-solving: 7/10. Good vibes, seems smart, would grab a beer with him.
GOOD: Problem-solving: 4/5. Evidence: "chose eventual consistency to cut p99 from
900ms to 120ms, named the staleness tradeoff and how they bounded it."
Full anchored template (one competency written out at all five levels) and the
question bank: references/templates.md.
Turn independent scores into one calibrated call.
loudest opinion. A "5" with a weak quote loses to a "3" with a strong one.
evidence on the cards.
tools at least 1 year after the decision (2 years for federal contractors).
The anchored scorecards with documented evidence *are* the defense if the
decision is ever challenged. Do not delete them.
A loop that "still can't decide after four interviews" almost always lacks
independent submitted scores and anchors — fix the structure, do not add a fifth
interview.
Before you let any model rank, score, or reject candidates, know these triggers.
This skill *follows* the rules; it does not run the legal program — that is
../compliance/SKILL.md.
Decision Tool needs an annual independent bias audit, public posting of the
results, and advance notice to candidates. No audit, no notice → do not deploy.
*high-risk* (Annex III, Cat. 4). Obligations apply from 2 Dec 2027
(deferred from 2 Aug 2026 by the Nov-2025 AI-omnibus). Deployer fines reach
€15M or 3% of global turnover. Colorado's AI Act effective date moved to 2027.
makes the reject call. Keep the human in the loop and the evidence trail intact.
| Anti-pattern | Why it fails | Do instead |
|---|---|---|
| "7/10, good vibes" rating | Unscoreable, bias-prone, indefensible | 5-point anchored scale + evidence quote |
| Different questions per candidate | No comparison is valid | Same structured bank, same order |
| Four interviewers, one question | Wastes the loop, no coverage | Map each competency to one owner |
| 15-item must-have list | Self-filters qualified candidates (100% vs 60%) | ≤6 must-haves; rest are nice-to-haves |
| Gender-coded words in the post | ~29% fewer applications, skews male | Strip and replace; check the word list |
| Criminal-history box on the form | Violates fair-chance / ban-the-box law | Defer to post-conditional-offer |
| Debrief before scores submitted | Groupthink anchors on the loudest voice | Independent scores in first, then talk |
| Model auto-rejects résumés | LL144 / EU AI Act exposure, no human in loop | Model flags, human decides, audit + notice |
| "Culture fit" as a competency | Coded bias, not job-related | Score job-related competencies only |
| Screening on school / name / gap | Non-job factor, not in the rubric | Blind to it; rubric only |
| Deleting interview notes | Breaks EEOC retention; no defense | Retain ≥1 yr (2 yr for fed contractors) |
| Drifting into onboarding/payroll | Out of scope, wrong skill | Stop at the decision → ../people-ops/SKILL.md |
Take ericrisco/hiring from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.