Here is an attempt to describe fencing in a few sentences. I once did a flowchart with similar ideas, but perhaps a written explanation is easier to understand. This is also a bit more streamlined.
Depending on feedback I will probably revise this and add in the concepts of gioco largo and gioco stretto.
Fencing consists of three actions:
The one who initiates with an attack or a provocation will be the agent. The provocation is an action designed to draw either an attack or a parry. If it is done to draw an attack, it is called an invitation. If it is done to draw a parry or a counter-attack, it is called a feint.
An attack is countered by a parry. A parry is countered by a feint. A feint is countered by another parry. Alternatively, both the attack and the feint can be countered by an attack. This is called contratempo, counter-time, which can be countered by a parry (this usually requires the counterattack to be created by a feint).
To be able to apply this in fencing, you need three core skills:
The ability to recognize tempo, the correct moment to execute a given action. You must either create the tempo or recognize it before it happens.
The skill of stepping into a place where you can touch your opponent in a given tempo, without him or her being able to touch you back.
The skill of changing your attacks into parries. This is not only the skill of drawing attacks with feints and invitations and then countering them, but also the safeguard that protects you in the case of anything unexpected.
Finally in case your and your opponent's actions happen to counter each other, you will end with the swords crossed. This is called a stretta di mezza spada, a "strait of the half-sword", where the same rules apply but the danger of being wounded is greater.