I would rewrite this method as such:

```ruby
def should_run?
  should_run = executable_exists?

  if respond_to?(:configuration_exists?)
    should_run = should_run && configuration_exists?
  end

  if @options[:diff]
    should_run = should_run && tree_changed?
  end

  should_run
end
```

And add a `configuration_exists?` method for checks that requires it.