Poml is a prompt management framework and templating engine designed for authoring, versioning, and rendering structured prompts for large language models. It uses a semantic markup language to organize prompts into reusable templates, combining them with dynamic context and data to generate formatted inputs.
The system distinguishes itself by decoupling core prompt logic from final presentation through a stylesheet-based approach. It provides a dedicated JSON schema output generator to enforce strict, machine-parsable model responses and a configuration interface for managing function tool schemas and the exchange of requests and responses between prompts and models.
The project covers a broad surface of prompt engineering capabilities, including modular composition, conditional rendering, and data iteration. It includes tools for data acquisition from external documents and webpages, as well as observability features for logging execution and capturing prompt snapshots. Developer tooling is provided via an SDK and IDE integrations that support real-time syntax validation and live render previews.