"Add link" in my account menu
If you just want to add a new tab, then the module should just implement hook_menu(), using code similar to the following.

function mymodule_menu() {
  $items = array();

  $items['user/%user/new_tab'] = array(
    'title' =&gt; 'New tab title', 
    'page callback' =&gt; 'drupal_get_form', 
    'page arguments' =&gt; array('mymodule_newtab_form', 1), 
    'access arguments' =&gt; array('access new tab'), 
    'type' =&gt; MENU_LOCAL_TASK, 
  );

  return $items;
}

function mymodule_newtab_form($form, &amp;$form_state, $account) {
  // ...
}


mymodule_newtab_form() would get the user object in $account. That menu callback would build a form using the form API. If the purpose is to output, the menu callback declaration would be similar, except two array indexes, which would be:

'page callback' =&gt; 'mymodule_newtab_form', 
'page arguments' =&gt; array(1), 


The argument passed to the callback would be different too.