   (dwim-shell-command--on-marked-files
    "DWIM shell command" (read-shell-command "DWIM shell command: ")))
 
-(cl-defun dwim-shell-command-execute-script (buffer-name script &key files check-extensions check-utils post-process-template on-completion)
+(cl-defun dwim-shell-command-execute-script (buffer-name script &key files extensions utils post-process-template on-completion)
   "Execute SCRIPT, with BUFFER-NAME."
   (cl-assert buffer-name nil "Script must have a buffer name")
   (cl-assert (not (string-empty-p script)) nil "Script must not be empty")
-  (when (stringp check-extensions)
-    (setq check-extensions (list check-extensions)))
-  (when (stringp check-utils)
-    (setq check-utils (list check-utils)))
+  (when (stringp extensions)
+    (setq extensions (list extensions)))
+  (when (stringp utils)
+    (setq utils (list utils)))
   (let* ((proc-buffer (generate-new-buffer buffer-name))
          (template script)
          (script "")

    (dwim-shell-command--on-marked-files
     "Speed up gif"
     (format "gifsicle -U <<f>> <<frames>> -O2 -o <<fne>>_x%s.<<e>>" factor)
     :check-extensions "gif"
     :check-utils '("gifsicle" "identify")
     :post-process-template (lambda (script file)
       (string-replace "<<frames>>" (dwim-shell-command--gifsicle-frames-every factor file) script)))))


    (seq-do (lambda (util)
              (cl-assert (executable-find util) nil
                         (format "%s not installed" util)))
            utils)
    (with-current-buffer proc-buffer
      (require 'shell)
      (shell-mode))
