What problem does it solve? Building CP/M programs with z88dk involves confusing choices between classic and newlib C libraries, CPU variants (8080/8085/Z180), and over 100 machine subtypes, and mixing the two library cores causes broken binaries. ## Core Features & Use Cases - Classic vs Newlib Selection: Distinguishes the two CP/M library worlds, their CRTs, headers, and disk I/O stacks, and enforces the rule of one open owner per binary. - Subtype and CPU Guidance: Explains that subtypes are mostly packaging options (.com output via -Cz+cpmdisk), while some subtypes force specific CPU or clib settings. - Use Case: You need to compile a hello-world program for an 8085-based CP/M machine; the Skill directs you to zcc +cpm -clib=8085 -vn hi.c -o hi -create-app and warns that 8085 CP/M has no newlib product. ## Quick Start Ask the assistant to compile a C file for the z88dk +cpm target and specify whether you want the classic or newlib library.