How to know user submitted first content of a specific type?
While given answer works great, there are usually a variety of different methods to achieve your goals, one solution could be usage of a combination of Views and Views Bulk Operations (VBO) modules to achieve that


Create a view containing nodes of your desired type
Add a contextual filter and limits results to nodes written by logged in user
add a VBO view mode
in rules you can load a VBO items (check how)
Now if array is empty, created node is the first node of that type which the user has submitted


You also might do all the job with Rules, if you don't want this feature for many content types you can add a Boolean field to the user's account with default value of 'False' indicating if user has written his/her first content of desired type, then on node submit event you can check this field to recognize if this post is his/her first post of that type or not. Remember to set this field to True after submission of first content of desired type. 


  The above approach saves some processing cause needs no query as it
  calculated once and used many times


You also can write a custom rules event (API), containing a query on nodes table with condition node.uid == user-&gt;uid and node.type == "TYPE_MACHINE_NAME", then if query is not empty, that means user has already submitted a content of that type. so return False.