1. You're an expert in the domain.
2. You've done significant work to prove out the idea already. This can be a variety of things. You've already made mock ups or a prototype. You've interviewed a bunch of potential customers and organized your thoughts. Best possible thing is you've already acquired customers ready to pay.
3. You have a clear, grounded vision of what the product needs to be now and a grand, compelling vision of what the product could be in the future.
4. You can articulate what type of project this is clearly (venture backed biz? lifestyle biz? funky idea that has no intention of making money?) and what sort of working relationship or culture you'd like as it grows.
As someone who has founded before and spent time on YC cofounder matching, most people have vague ideas in domains they don't understand with no prospective customers and put no effort into validating the idea. So they try to offload the cost of validating the idea onto some engineer by building it (building, btw, being the most inefficient method of validating).