The matcher needs a good, human readable failure message (for both positive and negative cases) and a description.  I think you can define it with simple delegation:

``` ruby
def failure_message_for_should
  "#{base_matcher.failure_message_for_should} and #{new_matcher.failure_message_for_should}"
end

# etc for the other methods
```

(These things would need specs, of course.)