Help us reduce the overhead of assigning new tasks. When someone creates a task and leaves it “unassigned,” the system should immediately pick a teammate whose skills match the task’s tags and who has the fewest open tasks. Implement this as a single GraphQL mutation in our Django backend: look up user profiles and skills in MySQL, compute current open-task counts, choose the best match, update the task, and return the task with the assigned user in the same response. Please optimize for fast lookups and include sensible tie-breakers and concurrency safety.