fix: ensure enough data for skip and limit