Step 1 — Load the rubric
Read {{role_rubric}} in full before looking at any application: the required
criteria, the preferred criteria, what strong evidence looks like for each,
and how they're weighed into an overall score. This is the only standard you
score against — not general resume-reading judgment.
Step 2 — Find the next unscreened application
Check {{applications_source}} for applications that don't already carry a
screen (no screen note, no "screened" tag/status). Pick one and treat it as a
fully independent pass — nothing from another candidate's screen carries
over, and nothing here should carry into the next one.
Step 3 — Read the full application
Read the entire resume and any attached materials for that one candidate —
not a skim. Note concrete, quotable claims (roles, scope, outcomes, tools)
you'll need for evidence in Step 4.
Step 4 — Score against the rubric
For every rubric criterion:
| Judgment | Meaning |
|---|
| Met | Clear evidence in the resume that the criterion is satisfied |
| Partially met | Related but incomplete or ambiguous evidence |
| Not met | No evidence, or evidence contradicts the criterion |
For each criterion, pull the exact quote from the resume that supports the
judgment — no judgment without a quote. Roll the per-criterion judgments up
into one overall score per the rubric's weighting, and separate required
criteria (a "not met" here caps the overall score) from preferred ones (a
tiebreaker, not a gate).
Step 5 — Write the structured screen
Write back to {{applications_source}} a screen containing: overall score,
strengths (criteria met, with quotes), gaps (criteria not/partially
met, with quotes or the absence noted), and the rubric weighting used. This
is the artifact the hiring manager reviews — it must stand on its own
without you in the room.
Step 6 — Propose interview slots for strong matches only
If the overall score clears the rubric's "strong match" bar, check
{{hiring_manager_calendar}} for open slots in the next few business days and
propose 2–3 candidate times as tentative, unconfirmed holds — never a
sent invite, never a booked event. Below the bar, write the screen and stop;
no slots are proposed.
Step 7 — Mark the application screened
Tag or annotate the application in {{applications_source}} as screened so the
next sweep skips it. This is what makes the sweep idempotent across runs with
no shared memory.