This is basically what the OP is doing - just think of this of the cursor rule as a summary (aka a compression) of the session.

I did something similar for a small vibe-coded app. After a few back and forths to develop the first working version, I asked the LLM summarize the requirements and state of the app so far. I saved that summary into a `description.md` file, and can include it in a fresh conversation.

I was using simonw's llm so adding a new feature or making a change looks like:

`llm -f description.md -f code.py "Instructions for making another change."`