I have experienced this as well. Similarly:
- Learning controls in a new-to-me video game can be tough (e.g. Rocket League, Quake Live, games with lots of mechanics.) Playing daily can slowly improve the ability. However, taking a few days off can sometimes result in a dramatic improvement upon return.
- Entering a flow state of code is great for churning out a lot of lines of code quickly. However, sometimes I see that while I am objectively achieving my goal, the code feels messy and hard to follow. At this point, I aim to just get it working by the end of the day, then stop. In the morning, I usually have a much better sense of how to refactor the code.