Running workflow job conditionally in circleci

I was wondering if there is a way i can run something like the below in circleci. I am aiming at not triggering my entire workflow if the changes done on the codebase are just from static files. Because is pointless running the entire workflow with the same codebase that hasn’t change and that is so because my workflow is huge and it takes a while to complete. So in a nutshell i want to run the workflow if the change is is not from the list of the files/folders i am providing to circleci config.

jobs:
  my_job:
    docker:
      - image: circleci/python:3.8
    working_directory: ~/repo
    steps:
      - checkout
      - run: echo "Hello, world!"
    when:
      changeset:
        includes:
          - '.'
        excludes:
          - '**/*.md'

We had this issue where I worked at too. I ended up making an orb to solve this for us. Check out the run-if-modified command.

We went one step further and had a huge set of workflows that ran only for each modification. i.e. server workflow for server code and client workflow for client code (using dynamic pipelines). For that you can check out the filter-and-continue command.