It might be good to add the value of `@resource.should(:shell)` to the error message so that end users can see exactly what shell is missing.