I always wondered if one could feed history into some abstract parser (or nowadays, maybe a LLM) to extract the most frequent "idioms":
ls <dir> | grep <pat> | less
vs ls ~ | grep .bak | less
ls .config | grep *rc | less
you get the idea