Skip to main content
Glama

Engineering org leadership-ratio benchmark

benchmark_leadership_ratio
Read-onlyIdempotent

Describes a company's manager-vs-senior-IC split — each side's percentage, the resulting span (1 manager per N senior ICs), and the question that shape usually raises. Alongside it, for context rather than as a target, ELC's own community composition (69% Manager+/Leadership, 21% Senior/Staff IC across 3,300+ CEE engineering leaders — that is who joins a leadership community, not a survey of org structures, so there is deliberately no score against it). Count the SAME population on both sides: senior people who could plausibly hold a management role (managers, tech leads, senior/staff ICs), leaving out junior/mid ICs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contextNoOptional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer.
managersNoRequired. Count of people in Manager+/Leadership roles
senior_icsNoRequired. Count of Senior/Staff-level individual contributors (not junior/mid)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
reportYesThe full human-readable report.
sourceYesCanonical engineeringleaders.io page this answer is derived from.
verdictNoHeadline verdict, when the tool returns one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / managers / anyOf
      Added value: +[
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / managers / minimum
      Removed value: -0
    • removedInput schema / properties / managers / type
      Removed value: -"number"
    • addedInput schema / properties / senior_ics / anyOf
      Added value: +[
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / senior_ics / minimum
      Removed value: -0
    • removedInput schema / properties / senior_ics / type
      Removed value: -"number"
  2. Changed4 schema fields changed
    • changedInput schema / properties / context / description
      Previous value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer."
    • changedInput schema / properties / managers / description
      Previous value: -"Count of people in Manager+/Leadership roles"New value: +"Required. Count of people in Manager+/Leadership roles"
    • changedInput schema / properties / senior_ics / description
      Previous value: -"Count of Senior/Staff-level individual contributors (not junior/mid)"New value: +"Required. Count of Senior/Staff-level individual contributors (not junior/mid)"
    • removedInput schema / required
      Removed value: -[
      -  "managers",
      -  "senior_ics",
      -  "context"
      -]
  3. Changed2 schema fields changed
    • addedInput schema / properties / context
      Added value: +{
      +  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "managers",
      -  "senior_ics"
      -]New value: +[
      +  "managers",
      +  "senior_ics",
      +  "context"
      +]
  4. First observed

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this a read-only, idempotent, non-destructive, closed-world operation, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the output includes ELC's community composition as reference only, and deliberately produces no score against it. That manages expectations about the result in a way the annotations cannot.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and every clause is relevant, but the description is dense with parenthetical asides (the 69%/21%, 3,300+ figures and the 'that is who joins a leadership community' justification). It is defensible given the need to pre-empt misreading the community data as a target, yet slightly heavier than necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is not required. The description nonetheless covers purpose, the counting rule for inputs, and a caveat about the community reference data, which is sufficient for a simple benchmark computation with only three parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 and the schema already defines managers and senior_ics. The description adds real meaning on top: the 'same population' constraint and the exclusion of junior/mid ICs clarify how the counts should be scoped, which the schema fields alone do not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it 'Describes a company's manager-vs-senior-IC split' and enumerates outputs (each side's percentage, the resulting span). An agent can distinguish it from the readiness/partnership siblings without opening a schema. It stops short of explicitly naming which sibling to prefer, so it is not a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance relative to the sibling tools. It does give an important invocation rule — count the same population on both sides and exclude junior/mid ICs — which is closer to correct-input guidance than to tool selection. Usage is therefore implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.