What problem does it solve? Writing correct .NET code against the BallisticCalculator library requires knowing its exact API surface — constructor signatures, argument order differences between CalculateZeroParameters and Calculate, drag table handling, and named exception types — which is easy to get wrong from memory or by scanning the package. ## Core Features & Use Cases - Trajectory computation guidance: Covers the full workflow from describing Ammunition, Rifle, Atmosphere, and Wind through zeroing with CalculateZeroParameters to reading TrajectoryPoint output (drop, windage, energy, Mach, time of flight). - Custom drag curves: Recipes for custom DragTable subclasses, radar .drg files via DrgDragTable, and multi-BC synthesis with DrgDragTableFactory. - Serialization and reticles: BXml and System.Text.Json persistence for library objects, plus building and rendering scope reticles to SVG. - Use Case: A developer building a ballistics app asks how to compute a 1,000-yard trajectory table with spin drift and a measured drag curve; the Skill supplies the exact constructor calls, the required zero-correction step, and the GC drag table wiring. ## Quick Start Use the ballistic-calculator skill to write C# code that computes a trajectory for a 168 gr .308 load zeroed at 100 yards out to 1,000 yards.