Usually I create a Project in the UI, upload some files I think might be relevant, and just start asking things like refactoring, how can it improve the code, how to test (or which edge cases might be missing in the test files).
Once we get going, I start asking how can we change the code to do what I need to do, etc.
After the history gets too long and Claude starts bugging me about limits, I ask it to summarize the context of the whole conversation, and add that to the Project and start a new chat.