The repetition here can be reduced by collecting some similar examples such as (` resource.guard_interpreter :default` ) in a describe block. 

Not the final code but to give an idea: 
```ruby
      let(:guard_interpreter) {
        :default
      }

      let(:not_if) { nil }
      let(:only_if) { nil }

      let(:resource_with_guard_interpreter) {
        resource.guard_interpreter(guard_interpreter)
        resource.not_if(not_if)
        resource.only_if(only_if)
      }

      shared_examples_for "correctly interpreted resource" do
        [:not_if, :only_if].each do |guard|
          describe "with a failing block for #{guard}" do
            let(guard) { "exit /b 2" }
            
            it "should skip the resource" do
              resource.should_skip?(:run).should be_false
            end
          end
        end
      end

      describe "with :default resource interpreter" do
        let(:guard_interpreter) { :default }
        
        it_behaves_like_a "correctly interpreted resource"
      end
```