The process would involve a script to loop through the template tasks and create new records.
If for example you had a 2 tables Basic Projects (ie building a bird house) and Project Tasks (that lists each tasks for this project)
Whenever you want to build a task in your task management system (ie all the tasks from each project Im working on ex:user tasks table)
You would execute a script via a button identifying which project you wish to add tasks for
The logical(not syntax) execution for this script is as follows
Set variables based on the project id
Go to the Project task table layout
Find the task records
go to the first record
start a loop in which
you set variables for the info the records you are going to create in the user tasks table from this task record
go to the user task table create a new recor
set the values
return to the project task table
go to the next record
repeat the loop till you have processed all the tasks.
Someone else may have another approach but Id think it would follow a similar pattern
The tasks are in a related table of records so you'd need to use a script to duplicate them and update the duplicates with the appropriate ID number from the parent record.
See this thread where a script that does this duplication has been posted: Duplicating Bill Of Materials (duplicating portal line items)