It is not a straight forward question to answer because I think a lot depends on personal strengths and weaknesses and how these relate to your rank. Putting this point to one side though, the below are possibly my personal highlights of the books I have tried to read (150+):
Beginner - DDK
Second Book of Go - Richard Bozulich
Tesuji - James Davies
Opening Theory Made Easy - O. Hideo
Go for Beginners - K. Iwamoto
Lessons in the Fundamentals of Go - T.Kageyama
Intermediate - SDK
Reducing Territorial Frameworks - Shuko Fujisawa
Utilising Outward Influence - Jin Jiang
Great Joseki Debates - Honda Kunihisa
Breakthrough to Shodan - N. Miyamoto
Mastering the Basics series
Advanced - Dan
Relentless - Go Game Guru (I very much recommend this)
Katos’ Attack & Kill - M. Kato
Invincible - John Power
Whole Board Thinking in Joseki V1 & V2 - Yi-Lun Yang (probably SDK level but you need a good joseki knowledge first)
On the general debate of how to improve here are some other tips that have helped me at various stages:
- Play games as much as possible (the first thing my go teacher told me was i need to be playing daily)
- Always review your games afterwards. Everyone should be able to see where they and where their opponents gained the points. The why then follows. If you can then go software/a go teacher/people at your go club will also help with this.
- Do daily life and death problems (between 10 and 20). This helps with your reading ability.
- Don’t bother analysing professional games in detail until you are a sufficient standard because most of it is above your head (just do it for fun). Focus on getting the basics right first.
- If you can afford it then the thing that has helped me the most is Guo Juan’s internet go school.