Do Nothing Script Generator


I learnt about do nothing scripting this week. Do-nothing scripting is a way to structure manual workflows into interactive scripts that guide the user step by step without automating the process immediately. By encapsulating each step in a function, this method ensures that no steps are skipped, reduces cognitive load, and provides a structured way to transition toward full automation over time.

You can convert your static documents to do nothing scripts. Instead of reading a document, you interacts with a script that prompts you for action, making it easier to maintain consistency and track progress. Then, eventually you can replace these functions with automation.

Below is an example of a do-nothing script for a manual application deployment:

import sys

def wait_for_enter():
    input("Press Enter to continue: ")

class PullLatestCodeStep(object):
    def run(self, context):
        print("Run:")
        print("   git pull origin main")
        print("Ensure the latest code is fetched successfully.")
        wait_for_enter()

class BuildApplicationStep(object):
    def run(self, context):
        print("Run:")
        print("   docker build -t myapp:latest .")
        print("Ensure the build completes without errors.")
        wait_for_enter()

class StopExistingContainersStep(object):
    def run(self, context):
        print("Run:")
        print("   docker-compose down")
        print("Ensure all running containers are stopped before deploying the new version.")
        wait_for_enter()

class StartNewContainersStep(object):
    def run(self, context):
        print("Run:")
        print("   docker-compose up -d")
        print("Verify that all services start correctly.")
        wait_for_enter()

class RunSmokeTestsStep(object):
    def run(self, context):
        print("Run:")
        print("   curl -f http://localhost:8000/health")
        print("Ensure the application is responding as expected.")
        wait_for_enter()

if __name__ == "__main__":
    context = {}
    procedure = [
        PullLatestCodeStep(),
        BuildApplicationStep(),
        StopExistingContainersStep(),
        StartNewContainersStep(),
        RunSmokeTestsStep(),
    ]
    for step in procedure:
        step.run(context)
    print("Deployment completed successfully!")

I use LLMs to generate small HTML/JS tools that I use in my day to day work. You can look at the list here https://tools.o14.ai/. I currently have 42 such tools.

Below is the Do Nothing Screen Generator I generated using Claude. To build this end to end with Claude it took close to an hour.

You can try the tool at https://tools.o14.ai/do-nothing.html. It also support share URL functionality. You can access the same sample at this URL.

Below are some of the details on my process to generate such tools.

  1. I use a dedicated Claude project for generating such tools.
  2. I use one conversation thread per tool. If the size of thread becomes long then I take the current code and start a new thread.
  3. Below are my project instructions. This ensure I do not have to repeat instructions for each tool.
  4. Only use HTML/JS to build tools
  5. Do not use React
  6. Use tailwind CSS for styling. Use following script tag <script src="https://cdn.tailwindcss.com"></script>
  7. Make sure tools are responsive
  8. ALWAYS care about usability and UX
  9. If data needs to be store then use local storage
  10. Use modern Javascript
  11. Always discuss the application first before making changes to make sure you have understood the requirement.
  12. During discussion return the SVG wireframe of the tool so that we can agree on its UX as well
  13. Add Google Analytics script to the web page. My id is G-XXXXXXXX.
  14. I always ask it to discuss changes first before generating code. I also ask it to show be SVG format of the wireframe first. This helps ensure we are aligned

Hope you find it useful.


Discover more from Shekhar Gulati

Subscribe to get the latest posts sent to your email.

Leave a comment