diff --git a/core/dr-pipeline/presets/skies.drpl b/core/dr-pipeline/presets/skies.drpl
new file mode 100644
index 0000000..3661b95
--- /dev/null
+++ b/core/dr-pipeline/presets/skies.drpl
@@ -0,0 +1,52 @@
+drpl 1
+
+# Skies: a bluer, deeper sky without touching the rest of the picture.
+#
+# Written against this pipeline, not derived from anybody's preset. Each
+# works the colour mixer's azure and blue bands — the hues a clear sky
+# occupies, 210° and 240° — darkening them and adding chroma, which is what
+# a polarising filter does to a sky and why it reads as "more blue" rather
+# than "more saturated". A grey sky has no hue for the bands to find, so on
+# an overcast frame these do little, by construction: they cannot invent a
+# sky, and a preset that tinted grey clouds blue would be one nobody trusted.
+#
+# Highlights come down with the sky in the stronger ones, because a darker
+# blue beside a clipped white cloud looks like a mask edge.
+
+[preset Blue sky]
+colour_mixer.azure_lum = -20
+colour_mixer.azure_sat = 25
+colour_mixer.blue_lum = -15
+colour_mixer.blue_sat = 20
+highlights_shadows.highlights = -15
+
+[preset Deep blue sky]
+colour_mixer.azure_hue = 10
+colour_mixer.azure_lum = -30
+colour_mixer.azure_sat = 35
+colour_mixer.blue_lum = -25
+colour_mixer.blue_sat = 30
+colour_mixer.cyan_sat = 10
+highlights_shadows.highlights = -30
+
+[preset Polariser]
+colour_mixer.azure_hue = 10
+colour_mixer.azure_lum = -35
+colour_mixer.azure_sat = 40
+colour_mixer.blue_lum = -30
+colour_mixer.blue_sat = 35
+colour_mixer.cyan_lum = -10
+colour_mixer.cyan_sat = 15
+dehaze.amount = 20
+highlights_shadows.highlights = -35
+vibrance.vibrance = 10
+
+[preset Blue sky, golden land]
+colour_mixer.azure_lum = -20
+colour_mixer.azure_sat = 25
+colour_mixer.blue_lum = -15
+colour_mixer.blue_sat = 20
+colour_mixer.orange_sat = 12
+colour_mixer.yellow_hue = -10
+colour_mixer.yellow_sat = 15
+highlights_shadows.highlights = -20
diff --git a/core/dr-pipeline/src/bundled.rs b/core/dr-pipeline/src/bundled.rs
index cd78a85..538aa07 100644
--- a/core/dr-pipeline/src/bundled.rs
+++ b/core/dr-pipeline/src/bundled.rs
@@ -62,6 +62,7 @@ const SECTIONS: &[(&str, &str, &str)] = &[
"Essentials",
include_str!("../presets/essentials.drpl"),
),
+ ("skies", "Skies", include_str!("../presets/skies.drpl")),
(
"colour_film",
"Colour film",
diff --git a/docs/manual/README.md b/docs/manual/README.md
index ca2e01a..5d01028 100644
--- a/docs/manual/README.md
+++ b/docs/manual/README.md
@@ -278,7 +278,7 @@ apply elsewhere, and imports Lightroom presets — `Folder…` for a folder of
them, `.xmp file…` for one.
The sheet lists your own presets first, then the ones DarkRoom ships —
-Essentials, and colour, cinema and black-and-white film, one measured stock
+Essentials, Skies, and colour, cinema and black-and-white film, one measured stock
each. A shipped preset is a look: it changes what it names and leaves the
photograph's own corrections alone, as an imported Lightroom preset does.
Saving under a shipped preset's name makes your version the one that name
diff --git a/docs/manual/index.html b/docs/manual/index.html
index 31a6a2e..fbd47ff 100644
--- a/docs/manual/index.html
+++ b/docs/manual/index.html
@@ -334,7 +334,7 @@ keeps the current state under a name. Presets… saves the settings
apply elsewhere, and imports Lightroom presets — Folder… for a folder of
them, .xmp file… for one.
The sheet lists your own presets first, then the ones DarkRoom ships — -Essentials, and colour, cinema and black-and-white film, one measured stock +Essentials, Skies, and colour, cinema and black-and-white film, one measured stock each. A shipped preset is a look: it changes what it names and leaves the photograph's own corrections alone, as an imported Lightroom preset does. Saving under a shipped preset's name makes your version the one that name