#1 most important skill is Be Curious. Ask questions and keep asking them. A business analyst is a naturally curious person, but anyone can grow this skill by asking questions and taking the time to understand it. When you look at something, you wonder about why or how something is, this extends to all areas of life.
Soft skills:
Communication – know how to talk with a variety of different people. This includes verbal and written communication.
Empathy – this requires listening to people to understand what their concerns are before trying to solve any problems.
Persistence – when the going gets tough especially on long projects or when dealing with difficult stakeholders.
Flexible – be able to adapt to changing circumstances and players. This is a skill that I have developed over time but has proven to be invaluable.
Hard skills:
Testing – preferably some experience or at least a good understanding of how to test requirements.
Analysis – know how to consume and process various sources of information. Analyze the information to find patterns and draw conclusions that can be used as input to solve problems.
Writing – know how to communicate ideas clearly through words. Be able to adapt your writing style to various audiences and situations.
Visual communication– create diagrams and process flows using Visio or even PowerPoint. This can be valuable when documenting current state and identifying/communicating changes to business processes.
MS Office suite – Excel is probably #1, followed by PowerPoint, Word and Visio. It can take you really far just knowing how to use these tools.
Other useful skills:
Understand the software development lifecycle and who your stakeholders are (testers, developers, business, etc.)
You should have a fair understanding about Agile framework mainly about kanban and scrum.