Shortcode with multiple variables

If you were to enable debugging and test the code (not sure why you are reluctant to do that), you would see that there are problems with the code. Your array elements need to be separated by commas and PHP variables begin with $. What you have won’t work as is. That kind of pure PHP code review is off-topic here. Perhaps post on the Code Review sister site for that, but test the code yourself first.

The only WordPress specific part of the question is:

Secondly, I wondered if in place of the ‘url’ variable the url /
permalink of the post can be grabbed automatically?

Yes. Inside a Loop, this will give you the post permalink.

global $post;
$url = get_permalink($post);

This is closer to correct.

function mypinfunction( $atts ) {
  global $post;
  extract( shortcode_atts( array(
      'url' => '',
      'img' => '',
      'description' => ''
  ), $atts ) );

  $url = get_permalink($post);

  return '<span class="lowpin"><a data-pin-config="none"
  href="https://pinterest.com/pin/create/button/
  url=".$url."&media=".$img."&description='.$description.'" data-pin-do="buttonPin" >
  <img src="https://assets.pinterest.com/images/pidgets/pin_it_button.png" /></a></span>';
}
add_shortcode('skipspin', 'mypinfunction');