# Requirement change

Right now every rating is just "an agent got some stars", but a lot of our agents work across
several skills, and being great at one doesn't say anything about being great at another. We want
to be able to rate an agent within a specific skill — "communication", "troubleshooting",
whatever the category is called — and rank agents within that skill on their own, separately from
however good they are everywhere else.

**What we need:** a way to record a rating that is scoped to one named category, and a way to ask
for the top-N agents within one category, ranked the same way the existing leaderboard is ranked
(highest average first, more ratings breaking a tie, then agent id).

A few things that matter:

- **A category's ranking is its own thing.** Rating an agent in "communication" does not touch
  their overall rating or count, and rating them overall does not touch any category. They are
  two completely separate books.
- **An agent who has never been rated in a given category doesn't appear in that category's
  top-N at all** — same as any other "nobody's here yet" case in this system, that's an empty
  list, not an error.
- **The category name works the same way an agent id does**: it can't be blank, and it is
  case-sensitive.
- Everything about the existing, un-categorised rating and leaderboard is unchanged.
