My Solution is a DIY
First I lead you to
ToDoList 7 - An effective and flexible way to keep on top of your tasks[
^], it is a software to manage lists of things to do in a hierarchical fashion. Or you can use the program of your choice.
Create a first top level task
My Project Features, then create sub tasks to refine the description of what feature you want and how you think it would be done.
My Project Features
Site organisation
Static pages
HTML
Dynamic pages
HTML
PHP or JavaScript (Language to generate pages)
DataBases
Form pages
HTML
Form handling
...
And so on
Then create another top level Task
Skills needed for the project and list all skills at second level.
Use a field to rate your mastering of each skill.
Then do the the same to rate what the frameworks are good at and how it will help you.
And so on.
Then by checking the tasklist, you will see what is missing and what skill you need to master.