Before writing the job description, you should gather a group of individuals from your organization who are familiar with the job you are posting. These employees should be your model of the type of person you want to hire to this new position, so they are a good place to start when deciding on the characteristics of the ideal job candidate. Remember, these qualities should not just be job skills; they should also be personality traits. For example, if you were hiring a person to work in fundraising, the perfect candidate would be someone who is personable, and is not easily rattled. You should never assume that the person applying for the position knows exactly the kind of personality type needed to do the job.
Finally, there is the issue of length. Your job posting needs to provide the applicant with as much information as possible. But, there is the possibility they won't read it all if it goes on too long. You might question whether you would even want to hire a candidate who wouldn't read the entire description, but it is human nature to want to skim if a listing gets too long. Besides, a job seeker is going to want to spend more time filling out the application than reading. As such, your job description should be concise and easy to read (that means avoiding big blocks of text). And when it comes to listing the key points of the job, bullet points are a good tool to use to catch the reader's eye.
When it comes down to it, the job description is going to be what makes a job seeker apply to a nonprofit. If it is not well written or explained well, they are simply going to move onto the next listing. And in this crowded market of nonprofit jobs, that is something you can't let happen to your organization.