It is said that patience is a virtue, Maggie, but so is moderation.
You have been extremely patient with this agent, and it has not been working for you.
Make a list of what you've told her to do that hasn't yet been done, call her today and tell her that they need to get done, today. End of story.
IF they are not done by tomorrow, then call her and tell her that she is, indeed, fired. You have a contract with the brokerage, however, so after you have fired her, you need to call the manager and ask for another agent to be assigned to you. If they refuse, then ask to be released from the listing and go find another agent.
All the best,