Getting good at communication (not just eloquence or debate, but being effective at engagement and transferring information) is studying yourself in relation to other people at a deep level.

People say being a good listener is the key to communication, but to be more precise, it's understanding the context that you're communicating in deeply that allows you to be an effective communicator.

For me, it's been helpful to build internal frameworks to understand what value sensitivities and blind spots I have and apply context switches real time during conversation.

As a simple example, you may be sensitive to the logical accuracy and truth of things, and you may not care much about causing conflict. This is fine, but there exists other people that are sensitive to conflict and tend to ignore logical accuracy. Effective communication between these two parties starts with understanding these fundamental differences, and context switching out once you realize that you're talking about different things. There are many conversations that happen where one person is trying to communicate "you're factually wrong" and the other person is trying to communicate "you're making me feel uncomfortable with how much conflict you're causing", and the same thing gets repeated for hours while getting nowhere.

There are many frameworks out there on value sensitivities, and you can use any of them or even build one yourself. The 5 love languages is a simple one where understanding, digesting, and applying it can take one afternoon. I personally heavily rely on cognitive functions (wiki it, it's a deep topic). I also classify the source of activity as either being rational, emotional, or willful/goal oriented - I do this because it is simple, fast to evaluate, and yields actionable insight.

You also need to always try to improve your communication by expanding your values. Some people belittle other values instead of acknowledging them, and as a result never improve.

Try to acknowledge and incorporate additional values in your communication. An example value is terseness - can you communicate your point with as few words as possible? Another can be rapport - at the end of the conversation, does the other party like you more? A third can be precision - can you be more precise with your meaning when you convey ideas? A fourth can be objectivity - can you take your emotional slant or political preference out of your speaking? Or can you put more emotion into your speaking? Organization - can you practice to organize your thoughts better?

You do not have to subjectively internalize values, you just have to learn how to objectively evaluate them so that you can interact with people who subjectively value them. If you adopt this paradigm, there's really an endless amount of ways to improve/broaden your communication style.

Once you understand values and set a goal, then practice a lot. Most people recommend writing regularly because writing (along with editing) is the best way to discover, muse, and improve how you communicate. It's also helpful to take professional communication classes, which will train you in standardized ways that people have solved common communication issues (ambiguity, lack of professionalism, etc).