Refactor dry-run and skipping