new_contents: #!/usr/bin/python
  
  import sys
  import os
  from tasklib.task import Task, TaskWarrior
  
  time_attributes = ('wait', 'until', 'scheduled')
  
  def is_new_local_recurrence_child_task(task):
      # Do not affect tasks not spun by recurrence
      if not task['parent']:
          return False
  
      # Newly created recurrence tasks actually have
      # modified field copied from the parent, thus
      # older than entry field (until their ID is generated)
      if (task['modified'] - task['entry']).total_seconds() < 0:
          return True
  
  tw = TaskWarrior(data_location=os.path.dirname(os.path.dirname(sys.argv[0])))
  
  def hook_shift_recurrence(task):
      if is_new_local_recurrence_child_task(task):
          parent = tw.tasks.get(uuid=task['parent'])
          parent_due_shift = task['due'] - parent['due']
          for attr in time_attributes:
              if parent[attr]:
                  task[attr] = parent[attr] + parent_due_shift
  
subject: Add pirate-enabled version of the hook