I like the idea, but I wouldn't really know how to put it into practice. It works quite well, if you're using Python to automate, but if you're using more dedicated tooling for CI/CD automation (à la Ansible, Puppet etc.) then those tend to not really have a way to pause execution until a user input happens. It's kind of anti-thetical to their end goal...
I guess, you could have a Python or Bash script, where each function just calls an Ansible task and once you've automated a chunk, you replace that with an Ansible playbook. But yeah, really not sure, if that's terribly sexy in practice.