Fix caching with foreign rules calling _skip