Skip to content

Claude Haiku 5.5 (effort default (no --effort flag) · thinking on) on Rewrite a professional profile from a resume for recruiter search without inventing experience

AClaude Haiku 5.5default · thinking on · Claude Code 2.1.299 (headless -p) · cloud · 2026-10-21 · by @bobsiopener

Trust 80%Fully autonomoussuccess · first try
Estimated cost
$0.0071
Wall time
30s
Human step-ins
0
Outcome
Pass

Compare with other models on this task →

Summary

Exact prompt

# Rewrite a professional profile from a resume, for recruiter search, without inventing anything Inputs: `resume.md` (the person's resume) and `target.json` (the role they want next, the keywords recruiters search for, and accepted spellings). Today is 2026-10-21. Write `out/profile.json` for a professional networking profile: `{"headline": "...", "about": "...", "experience": [{"company": "...", "title": "...", "start": "YYYY-MM", "end": "YYYY-MM" or "present", "bullets": ["...", ...]}, ...], "skills": [...], "certifications": [...], "years_experience": <int>}` - List every role in the resume's Experience section as its own entry, newest first, with company and title exactly as written and at least one bullet each. Dates are `YYYY-MM`. A year-only date means January of that year as a start and December as an end. Use `end: "present"` for a current role. Projects and education are not roles. - A search keyword is supported only if it, or one of its accepted spellings in `target.json`, appears as a whole word (case-insensitive) in the resume's Skills section or in an Experience bullet. "Currently learning" doesn't count. - `skills` lists exactly the search keywords the resume supports, spelled as in `target.json`. - `certifications` lists only certifications still valid on 2026-10-21, with names exactly as written. "Valid until YYYY-MM" means valid through the end of that month. - `headline` starts with the current job title exactly as the resume gives it, is at most 220 characters, and names at least three supported keywords. The target role isn't the person's title yet. - `years_experience` = whole years of work covered by the Experience roles as of 2026-10: count each calendar month covered by at least one role (start and end months included, overlapping roles counted once), divide by 12 and round down. - Don't claim anything the resume doesn't support: no unsupported search keyword anywhere in the profile, and no number in the headline, about or bullets that isn't in the resume (besides `years_experience`). Rewording is fine. ## How this run works - Work on your own: nobody will answer questions in this task, and writing to `ask/` counts against the run. - Write only under `out/`. Create `out/` if it is missing. Inputs are synthetic; don't fetch anything from the network. - Scoring is partial credit: each listed check is pass/fail, and the score is the share passed. Numbers are compared to within 0.005 unless the task says otherwise.

Turn a synthetic resume and a list of recruiter search keywords into a structured professional profile. Roles, dates, current certifications and years of experience must match the resume exactly, and only keywords the resume actually supports may be claimed. Accepted alternative spellings, a keyword hidden inside a longer word, 'currently learning' items, an expired certificate, a promotion and an overlapping contract separate a faithful rewrite from a keyword-stuffed one. Original benchmark task written for usecaserank.com (not based on a specific public post). Headless, offline run on a reproducible fixture. Each run's notes say how its cost was measured (estimates are marked).

Success criteria: experience skills certifications headline truthful

Setup notes: Batch 21 case w02-profile-rewrite-for-recruiter-search (offline, synthetic inputs, seed 40126826). Autonomous case: no stand-in user and no step-ins expected; any file the solver wrote to ask/ is counted as a measured intervention (0) and blocks a pass. Prompt = TASK.md verbatim. Hidden key kept outside the solver's work dir. Scored with the case's scorer (python3 score.py WORKDIR KEYDIR, absolute paths); pass = every check true and no ask/ files. Tools: Read/Write/Edit/Glob/Grep/Bash, web disabled. Single run, no retries. 1-min load average at scoring 0.20 (8 cores). Time-zone results depend on the system time-zone database: tzdata 2026c-0+deb13u1 (Python zoneinfo). Claude Code's own reported cost for claude-haiku-5.5: $0.007116. Score: 5/5. Cost is an ESTIMATE: measured tokens x pricing.json list price (Claude Pro subscription, nothing billed); input_tokens include cache reads and writes. Single run.

Estimated cost List-price estimate; not actually billed.

Metrics

Estimated cost
$0.0071
Wall time
30s
Human step-ins
0
Turns
6
Model usage
ModelInput tokOutput tokCost
AClaude Haiku 5.5anthropic/claude-haiku-5.5effort default (no --effort flag) · thinking on140,7235,864$0.0071

Reproduce this run

  1. Use the use case prompt on the use case page.
  2. Same setup: Claude Haiku 5.5 (anthropic/claude-haiku-5.5, effort default (no --effort flag) · thinking on) via Claude Code 2.1.299 (headless -p), cloud.
  3. It counts as a success only if it meets every success criterion: experience skills certifications headline truthful
  4. Log model, tokens, wall time, human step-ins and the evidence log, then submit it as a reproduction. A different model? Submit a head-to-head rerun.

How runs are scored: Methodology.

Was this useful?

⇄ Rerun on another model

Automated checks

Trust 80% comes from these checks (how Trust % works).

Evidence log
[
 {
  "duration_api_ms": 28505,
  "stop_reason": "end_turn",
  "session_id": "[REDACTED]",
  "total_cost_usd": 0.00711583,
  "usage": {
   "input_tokens": 12,
   "cache_creation_input_tokens": 14608,
   "cache_read_input_tokens": 126103,
   "output_tokens": 5864,
   "output_tokens_details": {
    "thinking_tokens": 3644
   },
   "server_tool_use": {
    "web_search_requests": 0,
    "web_fetch_requests": 0
   },
   "service_tier": "standard",
   "cache_creation": {
    "ephemeral_1h_input_tokens": 14608,
    "ephemeral_5m_input_tokens": 0
   },
   "inference_geo": "global",
   "iterations": [
    {
     "input_tokens": 2,
     "output_tokens": 535,
     "cache_read_input_tokens": 26573,
     "cache_creation_input_tokens": 574,
     "cache_creation": {
      "ephemeral_5m_input_tokens": 0,
      "ephemeral_1h_input_tokens": 574
     },
     "type": "message"
    }
   ],
   "speed": "standard",
   "fallback_credit": null
  },
  "modelUsage": {
   "claude-haiku-5-5": {
    "inputTokens": 12,
    "outputTokens": 5864,
    "cacheReadInputTokens": 126103,
    "cacheCreationInputTokens": 14608,
    "webSearchRequests": 0,
    "costUSD": 0.00711583,
    "contextWindow": 1000000,
    "maxOutputTokens": 128000,
    "thinkingTokens": 3644,
    "canonicalModel": "claude-haiku-5-5",
    "provider": "firstParty",
    "costBasis": "list"
   }
  },
  "permission_denials": [],
  "terminal_reason": "completed",
  "fast_mode_state": "off",
  "fast_mode_disabled_reason": "sdk_opt_in_required",
  "subagent_stats": {
   "spawned": 0,
   "requested": {
    "background": 0,
    "foreground": 0,
    "unset": 0
   },
   "started_in_background": 0,
   "max_depth": 0,
   "spawned_by_subagents": 0,
   "completed": 0,
   "failed": 0,
   "killed": {
    "parent": 0,
    "user": 0,
    "system": 0
   },
   "refused": {
    "depth_limit": 0,
    "concurrency_limit": 0,
    "budget": 0
   },
   "by_type": {}
  },
  "safety_stops": 0,
  "is_error": false,
  "num_turns": 6,
  "subtype": "success",
  "api_error_status": null,
  "result": "I wrote `out/profile.json`; it parses as valid JSON and I checked its fields against the resume.\n\n- **Experience:** four roles, newest first, with company and title as written. The freelance role's company is \"Self-employed (contract)\". Year-only dates use January (Lumen Energy starts 2017-01). The current role ends as \"present\".\n- **Skills:** Kubernetes, Spark, Scala, Kafka, Terraform, Postgres. Postgres is supported only through the \"PostgreSQL\" alias in a bullet. Excluded: SQL (appears only under \"Currently learning\"), Java (only \"JavaScript\" is present), Go and Airflow (not in the resume).\n- **Certifications:** Agile Delivery Foundation and Secure Coding Fundamentals. Accessibility Specialist Level 1 is excluded because it expired in 2024-11. I used the certification names without the \"valid until\" parentheticals.\n- **Headline:** starts with \"Analytics Engineer\", is 73 characters, and names three supported keywords. It doesn't mention the target role, since that isn't the person's title.\n- **years_experience: 9.** The roles cover 118 contiguous months from 2017-01 through 2026-10. The overlapping freelance role is counted once. 118 / 12 = 9.83, rounded down to 9.\n- **About and bullets:** reworded from the summary and original bullets, with no numbers beyond those in the resume. Only supported keywords appear.\n\nChoices I made: the headline and about omit the target role and the Leeds location. The Secure Coding Fundamentals entry is listed without its validity note.",
  "ttft_ms": 1587,
  "type": "result",
  "duration_ms": 28957,
  "uuid": "[REDACTED]",
  "ttft_stream_ms": 1408,
  "time_to_request_ms": 282,
  "first_content_frame_ms": 1409,
  "queued_turn_count": 0,
  "result_index": 0
 }
]

Get new runs and ranking changes weekly