What problem does it solve? Testing an AI agent normally requires API keys, a database, and live model calls, making tests slow, costly, and non-deterministic. This Skill shows how to run a full agent turn — model call, tool execution, governance, and cost accounting — entirely offline using the testing doubles shipped with @adonis-agora/agent. ## Core Features & Use Cases - Scripted fake model turns: FakeModelProvider accepts a pure script function of (args, turnIndex) so you can script tool-call round-trips deterministically without closure counters. - In-memory SPI doubles: InMemoryAgentStore, InMemoryTokenStreamSink, InMemoryQuotaStore, InMemoryGovernanceQueries, and more implement the same SPIs as production adapters, so tests exercise real loop code paths. - Typed stream assertions: Subscribe to runs and assert on discriminated StreamFrames ({ t: 'text' } / { t: 'component' }) instead of raw SSE bytes. - Use Case: Write a test that scripts a first-turn tool call to getWeather, auto-approves the HITL gate via awaitApproval, runs the loop through AgentDepsFactory + InlineAgentRunner, and asserts the final streamed text — all with no API key. ## Quick Start Write a test that runs runAgentLoop with FakeModelProvider and the in-memory store and sink, scripting a tool-call turn and asserting the streamed text output.