from typing import List


def check_that_skip_is_followed_by_opposite_step_motion(
        movement: int,
        past_movements: List[int],
        min_n_scale_degrees: int = 3,
        **kwargs
) -> bool:
    """
    Check that after a large skip there is a step motion in opposite direction.

    :param movement:
        melodic interval (in scale degrees) for line continuation
    :param past_movements:
        list of past movements
    :param min_n_scale_degrees:
        minimum size of a large enough skip (in scale degrees)
    :return:
        indicator whether a continuation is in accordance with the rule
    """
    if len(past_movements) == 0:
        return True
    previous_movement = past_movements[-1]
    if abs(previous_movement) < min_n_scale_degrees:
        return True
    return movement == -previous_movement / abs(previous_movement)