This is great advice!
across() is super powerful, and I could've done the same thing in a way that allows for sort of "dynamic" column names, since you might want multiple functions run across several columns (I'll use summarize() here, since it makes more sense). Note, I'm replacing the hard-coded max prefix in the .names argument with {.fn}. {.fn} gets its names from the named list of functions I'll run over the columns we've selected.
data %>%
group_by(group) %>%
summarize(across(c(value, weight, height), list(max = max, min = min), .names = "{.fn}_{.col}"))
There are also lots of ways to select which columns you're running the functions on, since it uses tidyselect syntax.
The colwise dplyr vignette is also really helpful: