pkl

Evaluate PKL configuration files and generate JSON, YAML, TOML, or plist output.

5|3|Updated Feb 21, 2026
One-click install
npx skills add https://github.com/mikkelkrogsholm/dev-skills --skill pkl
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pkl
Source: https://github.com/mikkelkrogsholm/dev-skills/tree/main/pkl
Command: npx skills add https://github.com/mikkelkrogsholm/dev-skills --skill pkl

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill addresses the limitations of static configuration formats like YAML and JSON by providing a type-safe, programmable language for managing complex configurations.

Core Features & Use Cases

  • Type Safety & Constraints: Define and validate configuration properties with strong typing and custom constraints.
  • Configuration Inheritance: Use amends to override specific values in base configurations, enabling layered configurations for different environments (dev, staging, prod) without duplication.
  • Multi-Format Output: Generate configuration output in various standard formats including JSON, YAML, XML, and plist from a single PKL source.
  • Use Case: Managing application settings across multiple deployment environments (development, staging, production) by defining a base configuration and then creating environment-specific amend files to override only the necessary parameters.

Quick Start

Use the pkl skill to evaluate the configuration file 'app.pkl' and output it as JSON.

Frequently Asked Questions about pkl

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is the best way to manage environment-specific configurations without duplicating YAML files?

Managing environment-specific configurations without duplicating YAML files is best achieved by using PKL's `amends` feature to override specific values in a base configuration, creating layered setups for development, staging, and production.

How does type-safe configuration validation work with PKL?

Type-safe configuration validation works by defining schemas in PKL that apply strong typing and custom constraints to your properties, ensuring configuration values meet specific type requirements before rendering to JSON or YAML.

Can I integrate PKL configuration evaluation into an existing build pipeline?

Yes, you can integrate PKL configuration evaluation into an existing build pipeline by evaluating PKL modules to generate output formats like JSON, YAML, XML, TOML, and plist directly during your build process.

Why should I use a programmable configuration language instead of static JSON or YAML files?

You should use a programmable configuration language instead of static JSON or YAML files to overcome their limitations, enabling type safety, configuration inheritance through `amends`, and multi-format output generation from a single source.