Hiring

SkillDev tools

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`).

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Hiring skill

What this skill tells your AI

The instructions your AI receives, as published by ericrisco/rsc-harness in skills/hiring/SKILL.md and read by ahel’s review.

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.

The funnel (the spine)

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:

  • Define the role first. You cannot screen against criteria you have not named. Write the 3–6 competencies before the post, because they drive the post, the questions, and the scorecard.
  • Write the post from the competencies. A post is the competencies turned outward, not a wish list.
  • Screen against one rubric. Same criteria, same order, every candidate, or the comparison is meaningless.
  • Run a structured loop. Same questions, same rubric, every candidate — 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.
  • Score independently, then calibrate. Each interviewer submits before the group talks. Debrief is calibration, not a re-vote.

Write the job post

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:

  • Drop: rockstar, ninja, dominant, aggressive, fearless, ambitious, competitive, driven, strong, crush it.
  • Prefer: collaborate, support, partner, build, responsible, dependable, share.

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.

Screen the pile

Score every applicant against the same job-related rubric you derived from the competencies (template: references/templates.md). No bespoke criteria per candidate.

  • Blind to non-job factors. School prestige, name, age, employment gaps, photo — none of it is in the rubric, so it does not enter the decision.
  • Work samples beat résumés. Skills-based signals (a structured task, a code 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.

  • Defer criminal history. Fair-chance / "ban-the-box" laws in 37+ states and 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:

SignalDecision
Meets the must-haves on job-related evidenceAdvance to loop
Strong on most, one must-have unclearSend 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 soonParking 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

Structure the interview loop

Turn the 3–6 competencies into a loop where each interviewer owns distinct ground.

  1. Map competencies to stages. Each competency gets a clear owner. If four 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.
  2. Build a structured question bank. Behavioral / STAR + work-sample, tied to each competency, asked in the same order for every candidate. Sample inline; full bank in references/templates.md.
  3. Calibrate before kickoff. Run a 15-minute session on what a "5" vs a "3" 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?

The scorecard

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:

  • 3–6 competencies. Fewer misses dimensions; more than 6 dilutes focus and loads the interviewer.
  • 5-point anchored scale. Write the anchor text for at least the low / mid / high points so a "4" means the same thing to everyone.
  • A required evidence field. Forces a quote or concrete example, not a vibe.
  • One overall: Hire / On-Hold / No-Hire.
  • Score independently, submit before the debrief. Fill it right after the 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.

Debrief & decision

Turn independent scores into one calibrated call.

  1. Collect all submitted scorecards — confirm they came in before the debrief.
  2. Surface disagreements: where scores diverge, go to the evidence, not the loudest opinion. A "5" with a weak quote loses to a "3" with a strong one.
  3. Reach Hire / On-Hold / No-Hire and write the rationale, tied to the evidence on the cards.
  4. Retain the records. EEOC requires keeping interview notes and scoring 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.

AI & legal guardrails

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.

  • NYC Local Law 144 (enforced since 2023-07-05): any Automated Employment 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.
  • EU AI Act: recruitment / CV-screening / candidate-ranking AI is classed 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.
  • Never auto-reject without human review. A model can sort or flag; a person makes the reject call. Keep the human in the loop and the evidence trail intact.

Anti-patterns

Anti-patternWhy it failsDo instead
"7/10, good vibes" ratingUnscoreable, bias-prone, indefensible5-point anchored scale + evidence quote
Different questions per candidateNo comparison is validSame structured bank, same order
Four interviewers, one questionWastes the loop, no coverageMap each competency to one owner
15-item must-have listSelf-filters qualified candidates (100% vs 60%)≤6 must-haves; rest are nice-to-haves
Gender-coded words in the post~29% fewer applications, skews maleStrip and replace; check the word list
Criminal-history box on the formViolates fair-chance / ban-the-box lawDefer to post-conditional-offer
Debrief before scores submittedGroupthink anchors on the loudest voiceIndependent scores in first, then talk
Model auto-rejects résumésLL144 / EU AI Act exposure, no human in loopModel flags, human decides, audit + notice
"Culture fit" as a competencyCoded bias, not job-relatedScore job-related competencies only
Screening on school / name / gapNon-job factor, not in the rubricBlind to it; rubric only
Deleting interview notesBreaks EEOC retention; no defenseRetain ≥1 yr (2 yr for fed contractors)
Drifting into onboarding/payrollOut of scope, wrong skillStop at the decision → ../people-ops/SKILL.md

Signals

GitHub stars
82
Forks
3
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
hiring
Source
github.com/ericrisco/rsc-harness