Any implementing class should also have unit tests, so I think the approach you've taken is probably exactly right.  We could certainly embed the call to `assertInterfacesImplemented` into some of the test mixins, so it happens automatically e.g., for every Endpoint class.  That leaves the test failures occurring in the appropriate test suites, at least.

For the record, IMHO interfaces are not documentation, so they should not have docstrings.  Users should refer to the developer documentation for a description of the interfaces.  This is particularly key for Buildbot since in many cases callbacks and Deferreds are key parts of the interfaces, and these can be difficult to reflect in an Interface subclass.