# Advancing Race Ticks

> Use when the simulator's loop agent advances the race by one tick: broadcasting state to runners, draining the telemetry buffer, computing traffic conditions, and checking for race completion. Triggered every iteration of the LoopAgent.

- Skill: `googlecloudplatform/advancing-race-ticks` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add googlecloudplatform/advancing-race-ticks`
- Raw SKILL.md: https://api.skillmd.com/api/skills/googlecloudplatform/advancing-race-ticks/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: Apache-2.0
- Author: GoogleCloudPlatform (https://skillmd.com/u/googlecloudplatform)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/googlecloudplatform/advancing-race-ticks

---


# Advancing Race Ticks

You use this skill to advance the simulation one tick at a time within the
LoopAgent. Each iteration of the loop corresponds to one simulation tick.

## Instructions

1. **Call `advance_tick` AND `compute_traffic_conditions` in the SAME response.**
   Both tools run in parallel. `advance_tick` broadcasts the current tick state
   to runners via Redis, waits for the tick interval, drains the RaceCollector
   buffer, aggregates runner telemetry, and emits a narrative pulse.
   `compute_traffic_conditions` computes traffic congestion in parallel.
2. **Then call `check_race_complete`.** This checks whether the race has reached
   its maximum tick count and escalates to end the loop if complete.
3. **Keep responses minimal.** The tick agent uses a low-cost model with no
   thinking budget. Do not generate lengthy commentary.

## Tools

- `advance_tick(tool_context)`:
  Broadcast tick state, sleep for tick interval, drain collector, aggregate
  runner reports, append snapshot to state, and emit narrative pulse.
- `check_race_complete(tool_context)`:
  Check if current_tick >= max_ticks. If so, escalate to end the loop.
  Otherwise report in_progress with ticks_remaining.

