I prune my dotfiles roughly once a year, and most of the clever aliases I once added get deleted without ceremony. The ones that survive are dull, and that is precisely the point. They save typing on things I do forty times a day, not once a month.
The two I'd genuinely miss are git lg and git st:
[alias]
st = status -sb
lg = log --oneline --graph --decorate -20
last = show --stat HEAD
unstage = reset HEAD --
st gives me the short status with the branch line, which is all I ever actually want. lg caps at twenty commits because I have never once needed the full history to scroll past my screen and out the other side. unstage exists purely because I can never remember reset HEAD under pressure, and naming it after what I want to do is cheaper than remembering what git calls it.
That last point is the whole trick really. A good alias isn't clever, it just renames a thing you already do to the word you reach for. If you find yourself looking one up, it has failed. Delete it and learn the underlying command, or rename it to whatever you actually said out loud.