def qrGetRequiredGuides( skeletonParameters ):
    """
    This method returns a list of the guides corresponding to the given skeleton parameters.
    
    It should be in sync with the output of:
    - qrGetGuidesFromEmbedding( )
    """
    
    guides = [
        'Reference' ,
        'Hips' ,
        'Head' ,
        ]
    guides += [ 'Spine%s' % ( str( i ) if i else '' ) for i in range( skeletonParameters[ 'SpineCount' ] ) ]
    guides += [ 'Neck%s'  % ( str( i ) if i else '' ) for i in range( skeletonParameters[ 'NeckCount'  ] ) ]
    if skeletonParameters[ 'WantHipsTranslation' ]:
        guides.append( 'HipsTranslation' )
    
    sideGuides = [
        'UpLeg' ,
        'Leg' ,
        'Foot' ,
        'ToeBase' ,
        'Arm' ,
        'ForeArm' ,
        'Hand' ,
        ]
    
    shoulderCount = skeletonParameters[ 'ShoulderCount' ]
    clavicleNames = [ 'Shoulder' , 'ShoulderExtra' ]
    assert( shoulderCount <= len( clavicleNames ) )
    sideGuides += clavicleNames[ 0 : shoulderCount ]
    
    guides += [ side + guide for side in [ 'Left' , 'Right' ] for guide in sideGuides ]
    
    return guides