feisty
adj.adj. full of energy, courage, and spirit. You use this to describe someone who is small or looks weak but is ready to argue or fight for what they want.
adj. characterised by spirit, courage, or a lively aggressiveness, especially in a person who is relatively small or perceived as an underdog. Often used to describe a spirited resistance or a lively personality.
The feisty kitten hissed at the large dog.
Despite her small stature, she was a feisty negotiator who never backed down from a difficult deal.
The local community put up a feisty defense against the developers, attending every council meeting to voice their concerns and protect the historic park.
1896, American, feist (“small, aggressive dog”) + -y; the term feist (now rare) itself originally meant “stink”, and earlier “fart”, from Middle English, from Old English, from Proto-Germanic, presumably from Proto-Indo-European – see feist for details.
Often used predicatively after linking verbs like 'be' or 'seem'.