What problem does it solve? Writing a new LLM/agent adapter for the karenina evaluation framework requires implementing many interdependent port protocol files correctly, and subtle mistakes (wrong message field names, missing timeout handling, broken usage extraction) silently corrupt evaluation results. ## Core Features & Use Cases - Guided file-by-file generation: Implements the adapter in dependency order, from __init__.py and availability.py through agent.py, llm.py, parser.py, and registration.py. - Convention enforcement: Applies karenina coding standards (lazy imports, PEP 604 unions, Google-style docstrings, duck-typed protocols) and registry integration via manual, built-in, or entry-point plugin paths. - Pitfall prevention: Encodes ten documented bugs found across existing adapters, including JSON serialization of structured output, turn-limit wiring, no-tools fallbacks, partial timeout recovery, and MCP session management with AsyncExitStack. - Use Case: After designing an adapter spec for a new LLM SDK, use this Skill to generate the complete adapter package with correct streaming, usage aggregation, and error mapping, ready for Phase 4 testing. ## Quick Start Implement the karenina adapter for my SDK following the design spec from the adapter-design phase.