Skip to content

Claude Sonnet 5.5 (effort default (no --effort flag) · thinking off) on Looping fireworks show in one self-contained HTML file

AClaude Sonnet 5.5default · thinking off · Claude Code 2.1.299 (headless -p) · cloud · 2026-10-20 · by @bobsiopener

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

Compare with other models on this task →

Summary

Exact prompt

# Looping fireworks show in one self-contained HTML file Make a fireworks show that keeps going: rockets, bursts, sparkles, finales, your call. Style, colours and technique (CSS, SVG, canvas) are up to you. **Looks are not scored**; only the objective checks below are. Write one file, `fireworks.html`, in the working directory. ## Checks (all must pass; partial credit = fraction passed) 1. `file_exists_under_size_limit`: `fireworks.html` exists and is at most 100,000 bytes (100 KB). 2. `no_external_requests`: fully self-contained. No `http://`, `https://` or `//` URLs in `src`, `href`, `srcset`, `poster`, `action`, `data` or `url()`, no asset URLs anywhere, no `@import`, `fetch(`, `XMLHttpRequest`, `WebSocket`, `EventSource`, `sendBeacon`, JS `import`, `<script src>` or `<link href>` (inline everything; `data:` URIs are fine). When a browser is used, any non-file request the page attempts also fails this check. 3. `animation_present`: CSS `@keyframes` plus an `animation`/`animation-name` property, or `requestAnimationFrame(` / `setInterval(`. 4. `loops_forever`: an `infinite` CSS animation (`animation-iteration-count: infinite` or `infinite` in the `animation` shorthand), or rAF/`setInterval` with no `cancelAnimationFrame`/`clearInterval` anywhere; when a browser is used, the page must also still change between ~6 s and ~7 s after load. 5. `page_animates`: when a headless Chrome/Chromium is available, the page is opened once with the network blocked at 800x600, and screenshots at ~1.5 s and ~2.5 s after load must differ. Without a browser (or if it fails to start) this and the browser part of check 4 fall back to the static checks 3-4; the scorer reports `check_mode` (`headless-browser` or `static-fallback`). 6. `required_id_and_title`: an element with `id="fireworks"` and a `<title>` containing "Fireworks" (case-insensitive). No other files, no build step, no network. Run time limit for scoring: 120 s.

Create a looping fireworks show in a single offline HTML page using CSS, SVG or canvas. Passing requires a file under 100 KB with no external requests, an animation that loops forever and changes between screenshots taken in headless Chrome, and the stated element id and title. The scorer ignores aesthetics; a public poll compares the results. 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: 1. file_exists_under_size_limit 2. no_external_requests 3. animation_present 4. loops_forever 5. page_animates 6. required_id_and_title

Setup notes: Use Case Scout batch 11 case l04-fireworks-show (offline, open-ended creative brief). Prepared with batch11/prepare.sh; hidden checker kept outside the agent's work dir. Prompt = TASK.md verbatim. Scored with the case's scorer (`python score.py WORKDIR KEYDIR`, headless Chrome over a CDP pipe, network blocked). Tools: Read/Write/Edit/Glob/Grep/Bash, web disabled. Single run, no retries. Output rendered offline (google-chrome headless, network blocked): PNG 1280x800 at ~3 s after load; MP4 1280x720 H.264 ~6 s. Claude Code's own reported cost for claude-sonnet-5.5: $0.051105. Score: 6/6. 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.

Output

Metrics

Estimated cost
$0.05
Wall time
19s
Human step-ins
0
Turns
2
Model usage
ModelInput tokOutput tokCost
AClaude Sonnet 5.5anthropic/claude-sonnet-5.5effort default (no --effort flag) · thinking off38,7301,767$0.05

Reproduce this run

  1. Use the use case prompt on the use case page.
  2. Same setup: Claude Sonnet 5.5 (anthropic/claude-sonnet-5.5, effort default (no --effort flag) · thinking off) via Claude Code 2.1.299 (headless -p), cloud.
  3. It counts as a success only if it meets every success criterion: 1. file_exists_under_size_limit 2. no_external_requests 3. animation_present 4. loops_forever 5. page_animates 6. required_id_and_title
  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": 17571,
  "stop_reason": "end_turn",
  "session_id": "[REDACTED]",
  "total_cost_usd": 0.051104800000000006,
  "usage": {
   "input_tokens": 4,
   "cache_creation_input_tokens": 7578,
   "cache_read_input_tokens": 31148,
   "output_tokens": 1767,
   "output_tokens_details": {
    "thinking_tokens": 0
   },
   "server_tool_use": {
    "web_search_requests": 0,
    "web_fetch_requests": 0
   },
   "service_tier": "standard",
   "cache_creation": {
    "ephemeral_1h_input_tokens": 7578,
    "ephemeral_5m_input_tokens": 0
   },
   "inference_geo": "global",
   "iterations": [
    {
     "input_tokens": 2,
     "output_tokens": 346,
     "cache_read_input_tokens": 18609,
     "cache_creation_input_tokens": 1508,
     "cache_creation": {
      "ephemeral_5m_input_tokens": 0,
      "ephemeral_1h_input_tokens": 1508
     },
     "type": "message"
    }
   ],
   "speed": "standard",
   "fallback_credit": null
  },
  "modelUsage": {
   "claude-sonnet-5-5": {
    "inputTokens": 4,
    "outputTokens": 1767,
    "cacheReadInputTokens": 31148,
    "cacheCreationInputTokens": 7578,
    "webSearchRequests": 0,
    "costUSD": 0.051104800000000006,
    "contextWindow": 1000000,
    "maxOutputTokens": 128000,
    "thinkingTokens": 0,
    "canonicalModel": "claude-sonnet-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": 2,
  "subtype": "success",
  "api_error_status": null,
  "result": "I wrote `fireworks.html` in the working directory. I haven't opened it in a browser or run the scorer, so none of the checks are confirmed.\n\nIt's a canvas show (`id=\"fireworks\"`) driven by `requestAnimationFrame`. Rockets launch at random intervals and burst into particles. Some bursts are rings and some are sparkling. About one launch in ten is a five-rocket volley, which serves as the finale. A few CSS-animated twinkling stars sit behind it.\n\nI wrote it to meet the checks, going by their wording:\n- **Size and self-containment:** it's a single small file with no external URLs, imports or network calls.\n- **Looping:** the loop never stops, and there is no `cancelAnimationFrame` or `clearInterval` anywhere.\n- **Screenshot difference:** a rocket launches at load and a new one every 25\u201370 frames, so screenshots at 1.5 s and 2.5 s should differ.\n- **Title:** the title is \"Looping Fireworks Show\", which contains \"Fireworks\".",
  "ttft_ms": 11922,
  "type": "result",
  "duration_ms": 17937,
  "uuid": "[REDACTED]",
  "ttft_stream_ms": 4012,
  "time_to_request_ms": 338,
  "first_content_frame_ms": 4012,
  "queued_turn_count": 0,
  "result_index": 0
 }
]

Get new runs and ranking changes weekly