diff --git a/seihou-okf-extension.cabal b/seihou-okf-extension.cabal
--- a/seihou-okf-extension.cabal
+++ b/seihou-okf-extension.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name: seihou-okf-extension
-version: 0.14.0.0
+version: 0.15.0.0
 synopsis: OKF documentation extension for Seihou registries
 description:
   External Seihou extension executable for generating OKF documentation bundles
@@ -60,7 +60,7 @@
     lens >=5.2 && <6,
     okf-core ^>=0.10.0.0,
     optparse-applicative >=0.18 && <1,
-    seihou-core ^>=0.14.0.0,
+    seihou-core ^>=0.15.0.0,
     temporary >=1.3 && <2,
     text >=2.0 && <3,
 
@@ -118,7 +118,7 @@
     hspec >=2.11 && <3,
     lens >=5.2 && <6,
     okf-core ^>=0.10.0.0,
-    seihou-core ^>=0.14.0.0,
+    seihou-core ^>=0.15.0.0,
     seihou-okf-extension-internal,
     tasty >=1.4 && <2,
     tasty-hspec >=1.2 && <2,
diff --git a/src/Seihou/OKF/Docs/Render.hs b/src/Seihou/OKF/Docs/Render.hs
--- a/src/Seihou/OKF/Docs/Render.hs
+++ b/src/Seihou/OKF/Docs/Render.hs
@@ -637,8 +637,8 @@
       "Then runs:\n\n" <> T.unlines (renderCommand <$> removalCommands)
 
 renderRemovalStep :: RemovalStep -> T.Text
-renderRemovalStep RemovalStep {action, dest, src} =
-  "- " <> renderRemovalAction action <> " `" <> dest <> "`" <> foldMap (\path -> " using `" <> T.pack path <> "`") src
+renderRemovalStep RemovalStep {action, dest, src, condition} =
+  "- " <> renderRemovalAction action <> " `" <> dest <> "`" <> foldMap (\path -> " using `" <> T.pack path <> "`") src <> renderCondition condition
 
 renderRemovalAction :: RemovalAction -> T.Text
 renderRemovalAction RemoveFileAction = "delete"
diff --git a/test/Seihou/OKF/Docs/RenderSpec.hs b/test/Seihou/OKF/Docs/RenderSpec.hs
--- a/test/Seihou/OKF/Docs/RenderSpec.hs
+++ b/test/Seihou/OKF/Docs/RenderSpec.hs
@@ -131,6 +131,7 @@
     it "renders the removal procedure" $ do
       body <- requireBody "modules/rich" testOptions richModel
       body `shouldSatisfy` T.isInfixOf "## Removal"
+      body `shouldSatisfy` T.isInfixOf "delete `flake.nix` — when `IsSet license`"
       body `shouldSatisfy` T.isInfixOf "- delete `flake.nix`"
       body `shouldSatisfy` T.isInfixOf "- strip this module's section from `.gitignore`"
       body `shouldSatisfy` T.isInfixOf "Then runs:"
@@ -589,8 +590,8 @@
         Just
           Removal
             { steps =
-                [ RemovalStep {action = RemoveFileAction, dest = "flake.nix", src = Nothing},
-                  RemovalStep {action = RemoveSectionAction, dest = ".gitignore", src = Nothing}
+                [ RemovalStep {action = RemoveFileAction, dest = "flake.nix", src = Nothing, condition = Just (ExprIsSet "license")},
+                  RemovalStep {action = RemoveSectionAction, dest = ".gitignore", src = Nothing, condition = Nothing}
                 ],
               commands =
                 [Command {run = "rm -rf dist-newstyle", workDir = Nothing, condition = Nothing, lifecycle = ApplicationCommand}]
