This looks fine but it seems focused on writing a new module/project.  Most python work going into edk2 is part of existing code. 
I would like to see additional documentation about how this applies to edk2 basetools.

* A flake8 config file could be added to basetools python. 
* Documentation of developer workflows with edk2 basetools
* A plan for how to get edk2 basetools to meet these requirements
* A plan for automated patch verification of meeting these rules.

I have a rule of thumb for code guidelines.  I don't make any rules unless I can enforce them without un-manageable burden.  

I also would rather see this type of documentation in the basetools python folder.  There is no reason a developer should have to go looking for this somewhere else within the tianocore site.  

Finally, I would suggest we leverage an auto-formatter and provide the config file for that.  This reduces significant burden on the developer and keeps all contributes aligned.  

Thanks
Sean