Lately, I have been reinstalling Arch from scratch on several machines. When doing so, it is very handy to replicate your packages and that is actually very easy to do with Arch Linux.
The following command creates a list with your packages, that you can curate and store under private versioning control.
And this will create a list with the packages that were installed external to the pacman database, either manually installed or from the AUR.
Also, I store my dot files and some of my etc files in a private git repo.
This will remove all packages that are not in list. It can be handy to clean up the list and update your system to it.
This will remove packages that were installed as dependencies and are no longer needed.
Well, I know there's hundreds of ways to do this kind of task but here's my two cents!