Use the PHASE_POST_COMMIT
Perhaps it would be better to use
CRM_Core_Transaction::addCallback(CRM_Core_Transaction::PHASE_POST_COMMIT, '<class::method>', $callBackParams);
instead of running straight of the post hook to make sure the complete transaction has run before the civirules triggers.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information