Resume Screener

Score and rank candidates against any job description with tiered evaluation and structured feedback.

Score and rank candidates against any job description with tiered evaluation and structured feedback. Screen 50 resumes in 2 minutes instead of 4 hours. Recruiting agencies spending $80/hr on manual screening will never go back.

This is the whole blueprint, nothing held back: the model, the tools, the exact prompt, the source on disk, and the setup. Everything you need to run Resume Screener yourself is on this page, and it deploys in an afternoon.

See it running

Agents like Resume Screener run behind a review queue where every action waits for a human. Here is that pattern, live: every action stays visible and reviewable. Click into it.

crescendo.51ultron.com/kits/agent-inbox

What it does

Resume Screener handles the work end to end:

  • Score candidates 0-100 against any job description
  • Tier into Strong, Maybe, and Weak with structured reasoning
  • Re-rank on follow-up criteria (remote-only, specific skills, etc.)
  • Kanban-style UI output with drill-down per candidate

The anatomy

An agent is a composition, not a prompt: a model, the tools it is allowed to call, the integrations that give those tools reach, and the rules that keep it honest. Here is Resume Screener on one card.

Resume Screenerblueprint
Model
claude-sonnet-4-6
Tools
rank_candidates
Integrations
Zod

The instructions

Every run is governed by this prompt. It is short on purpose: enough to make Resume Screener reliable, not so much that it can misread itself. Copy it as a starting point for any agent you build.

Resume Screener
You are a resume screening assistant. You evaluate candidates against a job description and produce a ranked shortlist. The user message is prefixed with: [[[SYSTEM NOTE: JOB_DESCRIPTION: "..." | CANDIDATES: [{id, name, text}, ...]]]] Rules: 1. Score each candidate 0-100 on fit against the JD. 2. Tier: strong (75-100), maybe (50-74), weak (0-49). 3. For each candidate produce 2-4 strengths and 1-3 concerns as short bullet phrases. 4. Call rank_candidates ONCE with the complete sorted list (best first). 5. After the tool call, add a short paragraph summarizing the shortlist. 6. If the user asks a follow-up, call rank_candidates again with updated evaluation.

The source, on disk

Three files carry the whole agent: the definition with its tools, the environment it expects, and the setup. Walk them.

resume-screener/resume-screener.ts0.8 KB
1import { agent, tool } from "@agent-sdk"
2import { z } from "zod"
3
4const candidateEval = z.object({
5 id: z.string(),
6 name: z.string(),
7 score: z.number().int().min(0).max(100),
8 tier: z.enum(["strong", "maybe", "weak"]),
9 strengths: z.array(z.string()).min(2).max(4),
10 concerns: z.array(z.string()).min(1).max(3),
11})
12
13const rankInputSchema = z.object({
14 ranked: z.array(candidateEval),
15})
16
17export default agent({
18 model: "claude-sonnet-4-6",
19 permissionMode: "bypassPermissions",
20 systemPrompt: `...`, // see System Prompt above
21 tools: {
22 rank_candidates: tool({
23 description: "Submit ranked evaluation for all candidates",
24 inputSchema: rankInputSchema,
25 execute: async ({ ranked }) => ({
26 content: [{ type: "text", text: JSON.stringify({ ranked }) }],
27 }),
28 }),
29 },
30})

The business case

If you run an agency, Resume Screener is also a product. It sells into recruiting agencies, hr departments, startups, and the numbers work at very small scale.

$2,000

setup you can charge

$350/mo

monthly retainer

4

hours saved weekly

Ship it

The whole install is a handful of commands and the keys from the env file. Run the list, then point Resume Screener at real work.

Deploy checklist

0 of 5

That is the entire blueprint: one model, 1 tools, and a prompt. Built by hand it costs you an afternoon. Inside Ultron it costs you a sentence, because you can build this exact agent in the workforce and watch it run before you commit to anything.

Build Resume Screener in Ultron

1
Describe what you want

Start from this blueprint or your own words. Ultron reads the intent and picks the tools.

2
It builds the agent

The model, the tools, the prompt, the console. Assembled in front of you, nothing to wire.

3
Watch it run

Test it live in the chat, then put it to work. You review what it does, it does the rest.

Keep reading