You have seen the general pattern: model your problem as bipartite matching, identify the two groups and , build the edge set based on problem constraints, then run Kuhn's algorithm. The algorithm template is the same across all problems.
Practice recognizing when a problem is secretly asking for bipartite matching. Look for keywords: pairing, assignment, scheduling, covering with disjoint edges, one-to-one mappings between two groups.