The "full-stack" is a vague term, but in the context of web development I would define the following group of skills:
* HTML/CSS (the basics)
* A script-based programming language (one that allows you to think in procedures as well)
* An OOP language (or the flavor of the first language with all of the OOP paradigms in it)
* Database programming
* Design patterns
* MVC in particular - most frameworks out there are MVC-based
* Computer architectures - I don't believe you can be a senior backend engineer without understanding the actual hardware components responsible for everything
* Networks and server management - some good basics of hosting management skills
* Security - related to everything before, but it's another important topic for full-stack developers to always take into account
* Performance and scalability - writing a high-performance code is a skill that depends on your understanding of the server stack, the memory layer, CPU executions etc.
* DevOps paradigms - testing (all sorts of), continuous integration, tooling (version control, automated deployment, staging setup)
UI/UX/etc don't click with me when I hear "full-stack web developer" - that is more of a frontend developer/designer aspect, and is definitely not a requirement for full-stackers. It's always helpful to be able to wear more hats - design, UI/UX, marketing, soft skills could help you build a better product, lead your team or be a mediator between the team and the client, but it's hard to juggle with everything and the first group is easier to keep together in the same basket while improving your skills.