Best way to align / rotate an object to match another that is at a different angle

I find it tends to be easiest to draw parts in place, that way you don’t tend to run into these kind of problems.

But in answer to your question: If you make the skylight a component ,you can change it to a “glue to” component with several choices. I chose “any” to demonstrate a little more potential, but there is also an only “sloped” option. Click the component in the “in model” tab of the components browser window and you can place a fresh copy of the component to glue to any face.

I made a quick gif to explain a little better: