Nice question! There’s two ways of looking at this: the logistical and the descriptive.
Logistically, at GitHub “staff engineer” is an engineering level above “senior engineer” and below “principal engineer” or “distinguished engineer”. Not all organisations use this same terminology, though, so you may see “staff” or “principal” or “lead” used interchangeably. At GitHub they do not have “direct reports” so are different from an “engineering manager” or “director” in that way.
To describe the role a little more, I’d first really recommend https://staffeng.com (if you haven’t already read it). It helped me understand what the role was before I was promoted into it, whether I wanted to do it and what “archtype” of staff engineer I wanted to be (more details on that here: https://staffeng.com/guides/staff-archetypes).
My summary would be that a staff engineer is generally going to be less focused on e.g. just shipping features than a senior-or-lower engineer and instead be doing more mentoring, architecture, problem solving, etc. In my case, I’m in the “Communities” organisation in GitHub and focusing on organisation-wide and company-wide initiatives such as performance improvements, on-call, developer tooling, etc.