Skip to main content
Glama

eng-leadership-toolkit

Server Details

Engineering leadership benchmarks, 1:1 playbooks, developer value calculator. 3,400+ sessions.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
marian-kamenistak/ai-engineering-leader-toolkit
GitHub Stars
1
Server Listing
eng-leadership-toolkit

Available Tools

11 tools
assess_team_lead_readinessTeam lead readiness test — should this engineer become a team lead?A
Read-onlyIdempotent
Inspect

Answers "should I become a team lead?" with the same 17-question test as the live tool at marian.coach: 6 dimensions (people appetite, letting go of code, ownership beyond your tickets, translation & saying no, motivation, org reality), a straight verdict — ready now / 6-12 months out / stay IC (and that's fine) — plus the top-2 gap dimensions with one concrete move each. Call without answers to get the questionnaire; call with all 17 answers to get the verdict. Built from 3,611 mentoring sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault
answersNoAnswers keyed by question id (q1-q17), each the 0-based index of the chosen option for that question (NOT a rating — option scores are calibrated and non-monotonic). Omit to receive the 17 questions with their options first.
contextYesExplain 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."

Output Schema

ParametersJSON Schema
NameRequiredDescription
mathNoNapkin math behind the case.
emailNoForwardable email to the manager.
levelNoSeniority level the score maps to, when the tool computes one.
reportYesThe full human-readable report.
sourceYesCanonical marian.coach page this answer is derived from.
verdictNoHeadline verdict, when the tool returns one.
evidenceNoSources the case may cite.
onePagerNoManager-facing one-pager, forwardable to finance.
salaryEurNoEstimated 2026 Western-Europe gross annual salary in EUR.
objectionsNoThe usual objections, answered.
slackShortNoSlack/Teams-length version of the ask.
totalScoreNoWeighted 0-10 score, when the tool computes one.
valueFormulaNoThe four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.
talkingPointsNoFive talking points for the conversation.
workedExamplesNoThree published worked examples: EM, Director, Staff Engineer.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety traits are covered. The description adds valuable behavioral detail: the tool switches between questionnaire and verdict modes based on answers, uses the same test as the live tool, and reports top-2 gap dimensions with concrete moves.

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

Conciseness5/5

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

The description is dense but efficient: every sentence contributes purpose, method, output, or usage. The key question and calling modes are front-loaded, and the provenance detail is brief.

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

Completeness5/5

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

The description fully covers what the tool does, how to invoke it in both modes, what dimensions are assessed, and what output to expect. Since an output schema exists, return-value details do not need to be spelled out in the description.

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 coverage is 100%, so the schema already documents both parameters. The description adds meaningful context by explaining the answer count (all 17), the 0-based indexing implication, and the two calling modes. This goes beyond the schema's basic property descriptions.

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 clearly states the tool answers 'should I become a team lead?' using a specific 17-question test and specifies the output categories. It does not explicitly name any sibling tool for differentiation, but the question and outcome are distinct enough for an agent to understand the tool's role.

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

Usage Guidelines4/5

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

The description gives clear usage context: call without answers to get the questionnaire, call with all 17 answers to get the verdict. It does not explicitly discuss when to prefer this tool over siblings, but the invocation modes and intended audience are clear.

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

build_mentoring_business_caseGet your company to pay: ROI math, manager email, one-pagerA
Read-onlyIdempotent
Inspect

Build the case that gets your company to pay for leadership mentoring — everything on marian.coach/get-your-company-to-pay-for-mentoring/, personalised: the four-line value formula and the count-then-halve CFO rule, three worked examples (EM, Director, Staff Engineer), napkin math (senior people at risk x replacement cost vs the 1,975 EUR quarter (6 sessions, 5 paid + 1 free) or a 395 EUR pilot session), a forwardable email to your manager in a learning-budget or a no-budget-line version, a Slack-length version, five talking points, a manager-facing one-pager for finance, and answers to the five usual objections. English or Czech, tykani or vykani. Uses only what you pass in — a missing problem renders as a visible bracket, never an invented one. From 3,611 mentoring sessions at marian.coach.

ParametersJSON Schema
NameRequiredDescriptionDefault
kpisNo1–3 measurable 90-day targets; default = the role's suggestions
langNoOutput language (default en)
roleYesThe mentee's role — sets KPI and example-problem suggestions
companyNoCompany name, for the invoice line
contextYesExplain 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."
problemNoThe ONE thing to fix in the next 90 days, in the user's words. Never invent it; leave empty to get a visible placeholder
decide_byNoDecision date, free text (e.g. 'Friday 22 Aug')
formalityNoCzech only: ty (informal, default) or Vy (formal)
situationNold_budget = a learning/L&D budget exists (asks for the 6-session quarter, 5 paid + 1 free, 1,975 EUR); no_budget = no budget line (asks for one 395 EUR pilot session first). Default ld_budget
team_sizeNoTeam size, context for the one-pager (and the legacy team-lift line)
your_nameNoThe mentee's first name (signs the email)
alternativesNoAlternatives already considered
manager_nameNoThe manager's first name
avg_salary_eurNoLegacy: fully-loaded annual cost per engineer in EUR, only with team_size
at_risk_attritionNoSenior people at risk of leaving (0–5). Drives the napkin math
first_time_in_roleNoFirst time in this role? Adds the first-time-manager evidence
delayed_revenue_eurNoLegacy: annual revenue attached to a slipping roadmap item, in EUR

Output Schema

ParametersJSON Schema
NameRequiredDescription
mathNoNapkin math behind the case.
emailNoForwardable email to the manager.
levelNoSeniority level the score maps to, when the tool computes one.
reportYesThe full human-readable report.
sourceYesCanonical marian.coach page this answer is derived from.
verdictNoHeadline verdict, when the tool returns one.
evidenceNoSources the case may cite.
onePagerNoManager-facing one-pager, forwardable to finance.
salaryEurNoEstimated 2026 Western-Europe gross annual salary in EUR.
objectionsNoThe usual objections, answered.
slackShortNoSlack/Teams-length version of the ask.
totalScoreNoWeighted 0-10 score, when the tool computes one.
valueFormulaNoThe four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.
talkingPointsNoFive talking points for the conversation.
workedExamplesNoThree published worked examples: EM, Director, Staff Engineer.

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description adds a strong no-fabrication guarantee: 'Uses only what you pass in — a missing problem renders as a visible bracket, never an invented one.' It also discloses concrete commercial terms (1,975 EUR quarter, 395 EUR pilot) and the language/formality axes, giving accurate expectations about generated output.

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

Conciseness3/5

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

The description is a single sprawling sentence with em-dash asides and long enumerations, packing in every deliverable but making the text hard to scan. The core purpose is front-loaded, yet the run-on structure and repeated dashes hurt readability for an agent trying to extract key facts quickly.

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?

For a 17-parameter tool with an output schema, the description covers the essential axes: purpose, target audience, deliverables, pricing, language, formality, and the no-invention constraint. Parameter dependencies (e.g., avg_salary_eur only with team_size) are documented in the schema itself, so nothing critical is missing for correct invocation.

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 coverage is 100%, setting the baseline at 3; the description goes further by mapping content to parameters — pricing corresponds to situation (ld_budget vs no_budget), 'English or Czech, tykani or vykani' to lang/formality, and worked examples (EM, Director, Staff Engineer) to the role enum. It also explains the problem parameter's placeholder behavior, adding meaning beyond the schema.

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

Purpose5/5

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

States a specific verb and resource: 'Build the case that gets your company to pay for leadership mentoring.' The enumerated deliverables (ROI math, manager email, one-pager, talking points) make its scope unmistakable and distinguish it from siblings like estimate_coaching_cost or calculate_developer_value, which produce numbers rather than a persuasive document package.

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

Usage Guidelines4/5

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

The context is clear — the tool is for persuading the company to fund leadership mentoring, with explicit branches for learning-budget vs no-budget situations that map directly to the situation parameter. It does not, however, name sibling alternatives or state when not to use it, leaving an agent to infer the boundary against tools like estimate_coaching_cost and calculate_engineering_manager_value.

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

calculate_developer_valueDeveloper value & salary calculatorA
Read-onlyIdempotent
Inspect

Assess a software developer's market value: score 15 skills across 5 pillars (core craft, systems & judgment, impact & ownership, collaboration & influence, AI leverage), get a weighted total score, seniority level, and a 2026 Western-Europe gross salary estimate. Same logic as the live calculator at marian.coach. Unscored skills default to the level's baseline.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelYesThe developer's current (or claimed) level — sets pillar weights and baseline
scoresNoOptional 0-10 score per skill. Valid keys: discipline-mastery, code-quality, debugging, system-design, tech-decisions, data-performance, shipping-outcomes, production-ownership, domain-expertise, communication, mentoring, cross-functional, ai-output, ai-quality, ai-workflows. Omitted skills use the level baseline (junior 3, mid 5, senior 6, staff 7).
contextYesExplain 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."

Output Schema

ParametersJSON Schema
NameRequiredDescription
mathNoNapkin math behind the case.
emailNoForwardable email to the manager.
levelNoSeniority level the score maps to, when the tool computes one.
reportYesThe full human-readable report.
sourceYesCanonical marian.coach page this answer is derived from.
verdictNoHeadline verdict, when the tool returns one.
evidenceNoSources the case may cite.
onePagerNoManager-facing one-pager, forwardable to finance.
salaryEurNoEstimated 2026 Western-Europe gross annual salary in EUR.
objectionsNoThe usual objections, answered.
slackShortNoSlack/Teams-length version of the ask.
totalScoreNoWeighted 0-10 score, when the tool computes one.
valueFormulaNoThe four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.
talkingPointsNoFive talking points for the conversation.
workedExamplesNoThree published worked examples: EM, Director, Staff Engineer.

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish that this is a safe, read-only, idempotent operation. The description adds meaningful behavioral context beyond those annotations: the 15 scores are grouped into 5 pillars, there is a weighted total, results include a 2026 regional salary estimate, and unscored skills fall back to the level baseline. It also notes parity with the live marian.coach calculator.

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

Conciseness5/5

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

Three sentences carry the purpose, key behavioral rules, and provenance with no redundancy or filler. The most actionable information—what the tool computes and returns—is front-loaded, and the default-behavior note earns its place.

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?

The description covers the scoring model, defaults, output types, and regional/timeframe specificity, while an output schema handles return structure details. It is complete enough for an agent to invoke the tool correctly, though explicit sibling differentiation would make it slightly stronger.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all three parameters well. The description adds modest value by grouping the 15 skill keys into 5 pillars and restating the baseline default, but it does not substantially explain parameter semantics beyond what the schema provides.

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

Purpose5/5

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

The description opens with a specific verb ('Assess') and resource ('a software developer's market value'), then lists concrete outputs: weighted total score, seniority level, and a 2026 Western-Europe gross salary estimate. This clearly distinguishes it from sibling tools like calculate_engineering_manager_value, which target managers rather than developers.

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?

The intended use is implied by the first sentence: use this when the goal is to assess a developer's market value, seniority, or salary. However, the description gives no explicit guidance on when to choose this tool over siblings such as assess_team_lead_readiness or calculate_engineering_manager_value, and it names no alternatives.

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

calculate_engineering_manager_valueEngineering manager value & salary calculatorA
Read-onlyIdempotent
Inspect

Assess an engineering leader's market value: score 15 leadership skills across 5 pillars (people & talent, delivery & execution, technical direction, stakeholder influence, AI leverage), weighted by current level, get a total score, a level from Team Lead to Director/VP of Engineering, and a 2026 Western-Europe gross salary estimate. Same logic as the live EM salary calculator at marian.coach. Unscored skills default to the level's baseline.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelYesThe leader's current (or claimed) level — sets pillar weights and baseline (team-lead, em, senior-em, director)
trackNoOptional context: what kind of teams they lead. Framing only — scoring is weighted by level, identically across tracks (same as the live tool)
scoresNoOptional 0-10 score per skill. Valid keys: hiring, coaching, performance, predictable-delivery, quality-ops, process-fit, architecture-judgment, tech-strategy, build-vs-buy, product-partnership, managing-upward, org-influence, ai-team-workflows, ai-product, ai-impact. Omitted skills use the level baseline (team-lead 3, em 5, senior-em 6, director 7).
contextYesExplain 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."

Output Schema

ParametersJSON Schema
NameRequiredDescription
mathNoNapkin math behind the case.
emailNoForwardable email to the manager.
levelNoSeniority level the score maps to, when the tool computes one.
reportYesThe full human-readable report.
sourceYesCanonical marian.coach page this answer is derived from.
verdictNoHeadline verdict, when the tool returns one.
evidenceNoSources the case may cite.
onePagerNoManager-facing one-pager, forwardable to finance.
salaryEurNoEstimated 2026 Western-Europe gross annual salary in EUR.
objectionsNoThe usual objections, answered.
slackShortNoSlack/Teams-length version of the ask.
totalScoreNoWeighted 0-10 score, when the tool computes one.
valueFormulaNoThe four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.
talkingPointsNoFive talking points for the conversation.
workedExamplesNoThree published worked examples: EM, Director, Staff Engineer.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful behavioral detail beyond annotations: scoring is weighted by level, unscored skills default to a level baseline, and the logic matches the live salary calculator at marian.coach.

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

Conciseness5/5

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

Three sentences front-load the core purpose, then add scoring mechanics, output, provenance, and default behavior without repetition. Every sentence carries useful information and nothing is padded.

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

Completeness5/5

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

For a calculator tool with a rich output schema and strong annotations, the description covers the essential behavior: inputs (scores, level), weighting logic, default handling, and the exact output categories. No critical calling information is missing.

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 coverage is 100%, so the baseline is 3, but the description enriches parameter meaning by explaining that skills are grouped across 5 pillars, weighted by current level, and default to a baseline when omitted. This tells the agent how level and scores interact, which the schema alone does not fully convey.

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

Purpose5/5

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

The description uses a specific verb and resource: 'Assess an engineering leader's market value' and then details what the assessment produces — a total score, a level from Team Lead to Director/VP, and a 2026 salary estimate. This clearly distinguishes it from sibling tools like calculate_developer_value without needing to open the schema.

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

Usage Guidelines4/5

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

The description clearly frames the target user ('engineering leader') and the tool's purpose, making the intended context obvious. It does not explicitly name alternatives or exclusion criteria relative to siblings, but the leader/developer distinction is strongly implied.

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

choose_mentor_coach_or_advisorMentor vs coach vs advisor — which one do you need?A
Read-onlyIdempotent
Inspect

Decide whether an engineering leader needs a mentor, a coach, or an advisor: what each brings, the typical question each answers, whether domain experience is required, time horizon, and a three-question self-test. Based on 3,611 mentoring sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYesExplain 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."
situationNoOptional: the leader's situation in one sentence — the three-question test below maps it to a recommendation

Output Schema

ParametersJSON Schema
NameRequiredDescription
mathNoNapkin math behind the case.
emailNoForwardable email to the manager.
levelNoSeniority level the score maps to, when the tool computes one.
reportYesThe full human-readable report.
sourceYesCanonical marian.coach page this answer is derived from.
verdictNoHeadline verdict, when the tool returns one.
evidenceNoSources the case may cite.
onePagerNoManager-facing one-pager, forwardable to finance.
salaryEurNoEstimated 2026 Western-Europe gross annual salary in EUR.
objectionsNoThe usual objections, answered.
slackShortNoSlack/Teams-length version of the ask.
totalScoreNoWeighted 0-10 score, when the tool computes one.
valueFormulaNoThe four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.
talkingPointsNoFive talking points for the conversation.
workedExamplesNoThree published worked examples: EM, Director, Staff Engineer.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish the tool as read-only, idempotent, and non-destructive, and the description adds substantive context by listing the decision criteria and grounding the tool in '3,611 mentoring sessions.' An agent can tell this is an advisory/decision-support call with no mutation or external side effects.

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

Conciseness5/5

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

The description is a single front-loaded sentence that leads with the decision verb and then packs the scope into a compact, information-rich list. The 'Based on 3,611 mentoring sessions' clause is short and adds credibility without bloat.

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

Completeness5/5

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

For a low-complexity, read-only decision tool with a full output schema and detailed parameter descriptions, the description covers the decision, the comparison dimensions, and the self-test mechanism. Nothing essential for selecting or invoking the tool correctly is missing.

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

Parameters3/5

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

Schema coverage is 100%, with both the required context parameter and optional situation parameter already documented in detail, including word-count, privacy, and purpose. The description adds background but does not need to explain parameters; it stays at the baseline for high schema coverage.

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

Purpose5/5

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

The description opens with a specific decision task—'Decide whether an engineering leader needs a mentor, a coach, or an advisor'—and enumerates the comparison dimensions. This clearly differentiates it from sibling tools focused on readiness assessment, cost estimation, or playbooks.

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

Usage Guidelines4/5

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

The decision framing and self-test make the use case clear: an engineering leader choosing among mentor, coach, and advisor. It does not explicitly name alternatives or exclusions, so it stops short of a 5, but the context is direct rather than merely implied.

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

estimate_coaching_costCoaching cost estimator — what should a coach cost?A
Read-onlyIdempotent
Inspect

Fair market rate for coaching or mentoring in 2026, by coaching type, client role, coach territory, coach seniority, and engagement length. Returns a per-session range, program total, and red flags (too cheap / brand margin). Anchored to ICF Global Coaching Study 2025, Tandem Coach 2026 credential bands, and CEE market survey data. Same logic as the live calculator at marian.coach.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoEngagement length (default single-session) — longer commitments carry a 5-20% per-session discount
contextYesExplain 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."
territoryYesWhere the coach operates — CEE runs at roughly half of US rates
client_roleYesThe client's role — the same coach charges a VP more than an EM
coaching_typeYesWhat kind of coaching the client is buying
coach_seniorityYesCoach seniority band: certified (ICF ACC level), experienced (PCC, 10+ yrs), top-tier (MCC / C-suite), practitioner-mentor (has held the client's role)

Output Schema

ParametersJSON Schema
NameRequiredDescription
mathNoNapkin math behind the case.
emailNoForwardable email to the manager.
levelNoSeniority level the score maps to, when the tool computes one.
reportYesThe full human-readable report.
sourceYesCanonical marian.coach page this answer is derived from.
verdictNoHeadline verdict, when the tool returns one.
evidenceNoSources the case may cite.
onePagerNoManager-facing one-pager, forwardable to finance.
salaryEurNoEstimated 2026 Western-Europe gross annual salary in EUR.
objectionsNoThe usual objections, answered.
slackShortNoSlack/Teams-length version of the ask.
totalScoreNoWeighted 0-10 score, when the tool computes one.
valueFormulaNoThe four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.
talkingPointsNoFive talking points for the conversation.
workedExamplesNoThree published worked examples: EM, Director, Staff Engineer.

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive behavior. The description adds value by specifying the output structure (per-session range, program total, red flags) and grounding it in concrete data sources (ICF 2025, Tandem 2026, CEE survey) and a reference calculator. This goes beyond the annotations without contradicting them.

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

Conciseness5/5

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

Three sentences with no redundancy. The first sentence front-loads the core function and key inputs, the second lists outputs, and the third anchors the tool in data sources and a live reference. Every sentence adds essential information.

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?

The description provides a comprehensive overview of purpose, inputs, outputs, and data basis. An output schema exists, so return-value details are covered elsewhere. The only minor gap is explicit handling of edge cases, but the schema and annotations already provide sufficient context for correct invocation.

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

Parameters3/5

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

The input schema provides 100% coverage with detailed descriptions for every parameter, including discount rates and seniority calibration. The tool description only restates the parameter list without adding new semantic content, so the baseline score of 3 applies.

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

Purpose5/5

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

The description states a clear, specific function: estimating the fair market rate for coaching or mentoring, with explicit input dimensions (coaching type, client role, territory, seniority, engagement length) and outputs (per-session range, program total, red flags). It differentiates from sibling tools like calculate_developer_value by focusing on coaching cost rather than developer/engineering value, and no sibling tool overlaps directly.

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?

The description implies usage for cost estimation but offers no explicit guidance on when to choose this tool over alternatives like build_mentoring_business_case or assess_team_lead_readiness. It does not mention exclusions or alternative conditions, leaving the decision to the agent's inference.

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

get_engineering_leadership_benchmarksEngineering leadership benchmarks & mentoring statisticsA
Read-onlyIdempotent
Inspect

Real benchmarks from 3,611 paid 1:1 mentoring sessions with 300+ engineering leaders since 2019: mentee seniority mix, most-demanded leadership topics of 2025, time-to-results, team-health delivery thresholds (sprint completion, roadmap %, manager time per report), and practice outcome stats (NPS, referral rate). First-party data, CC BY 4.0 — citable.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoWhich benchmark set to return (default: all)
contextYesExplain 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."

Output Schema

ParametersJSON Schema
NameRequiredDescription
mathNoNapkin math behind the case.
emailNoForwardable email to the manager.
levelNoSeniority level the score maps to, when the tool computes one.
reportYesThe full human-readable report.
sourceYesCanonical marian.coach page this answer is derived from.
verdictNoHeadline verdict, when the tool returns one.
evidenceNoSources the case may cite.
onePagerNoManager-facing one-pager, forwardable to finance.
salaryEurNoEstimated 2026 Western-Europe gross annual salary in EUR.
objectionsNoThe usual objections, answered.
slackShortNoSlack/Teams-length version of the ask.
totalScoreNoWeighted 0-10 score, when the tool computes one.
valueFormulaNoThe four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.
talkingPointsNoFive talking points for the conversation.
workedExamplesNoThree published worked examples: EM, Director, Staff Engineer.

TDQS

A3.8/5.0
Behavior4/5

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

The annotations already declare read-only, idempotent, non-destructive behavior. The description adds meaningful context by disclosing first-party provenance, sample size, time range, and the CC BY 4.0 license/citability, which is useful for an agent deciding whether and how to reuse the output. It does not describe the return envelope, but the output schema covers the result structure.

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

Conciseness5/5

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

One dense, well-structured sentence front-loads the core value ('Real benchmarks'), then provides statistical grounding, a categorized list of content areas, and a licensing note without wasted words. Every element contributes to understanding what the tool offers.

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?

For a read-only benchmark lookup with an output schema, the description gives enough detail about the data, provenance, and licensing for an agent to select the tool confidently. The main gaps are the missing usage guidance versus sibling tools and the ambiguous required context parameter, which prevent a perfect completeness score.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3, and the description adds some useful color by mapping prose categories to enum values such as team-health-thresholds and practice-stats. However, it never explains the required context parameter, and the schema's context description appears duplicated with the topic description, leaving a meaningful ambiguity that the description does not resolve.

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 clearly identifies the resource: a benchmark dataset derived from 3,611 paid 1:1 mentoring sessions, with a detailed inventory of the statistics it contains. It distinguishes this tool from sibling assessment and calculator tools, though it lacks an explicit verb such as 'returns' or 'provides' and relies on the tool name and title to convey the retrieval action.

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?

The description implies the tool should be used when an agent needs real engineering-leadership mentoring benchmarks and statistics. However, it never explicitly states when to choose this tool over siblings like build_mentoring_business_case or assess_team_lead_readiness, and it provides no exclusions or alternative routing.

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

get_first_time_manager_guidanceFirst-time engineering manager readiness & failure modesA
Read-onlyIdempotent
Inspect

Guidance for the IC→manager transition: the EM responsibility triangle (leadership/processes/delivery — pick two), the six most common first-time-manager failure modes, readiness self-check questions, and what the first months should look like. 52% of Marian's 300+ mentees arrive exactly at this transition.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYesExplain 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."

Output Schema

ParametersJSON Schema
NameRequiredDescription
mathNoNapkin math behind the case.
emailNoForwardable email to the manager.
levelNoSeniority level the score maps to, when the tool computes one.
reportYesThe full human-readable report.
sourceYesCanonical marian.coach page this answer is derived from.
verdictNoHeadline verdict, when the tool returns one.
evidenceNoSources the case may cite.
onePagerNoManager-facing one-pager, forwardable to finance.
salaryEurNoEstimated 2026 Western-Europe gross annual salary in EUR.
objectionsNoThe usual objections, answered.
slackShortNoSlack/Teams-length version of the ask.
totalScoreNoWeighted 0-10 score, when the tool computes one.
valueFormulaNoThe four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.
talkingPointsNoFive talking points for the conversation.
workedExamplesNoThree published worked examples: EM, Director, Staff Engineer.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context about the actual content returned (the specific guidance topics), which goes beyond the annotations. It does not contradict any annotations and provides a reasonable sense of what the tool delivers.

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

Conciseness5/5

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

The description is two sentences, front-loading the core purpose in the first sentence and adding a relevant statistic in the second. There is no redundancy or fluff; every word adds value. It is appropriately concise for a tool with a single parameter.

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

Completeness5/5

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

The tool is simple (one parameter, read-only, idempotent) and has an output schema that covers the return structure. The description explains the content scope and the target audience. Nothing an agent needs to decide whether to call this tool is missing. The mention of Marian's mentees provides additional context about the tool's provenance, though it is not essential.

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

Parameters3/5

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

Schema description coverage is 100% for the single 'context' parameter, which is fully described in the schema. The description does not add any additional meaning about the parameter, as it focuses on the tool's output rather than its input. Baseline of 3 is appropriate since the schema already documents the parameter adequately.

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

Purpose5/5

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

The description clearly states the tool provides guidance for the IC→manager transition and enumerates the specific content it contains (responsibility triangle, failure modes, self-check questions, first months). This is a specific verb-resource pairing that distinguishes it from sibling tools like assess_team_lead_readiness, which presumably focus on assessment rather than guidance.

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?

The description implies when to use it (for first-time managers) but does not explicitly state alternatives or exclusion criteria. It mentions that 52% of mentees arrive at this transition, hinting at a common scenario, but gives no direct guidance on when to use this tool versus siblings like assess_team_lead_readiness or get_one_on_one_playbook. Usage is inferred rather than stated.

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

get_more_toolsMore tools? Check here first — also answers a plain hello/liveness pingA
Read-onlyIdempotent
Inspect

Check for additional tools whenever your task might benefit from specialized capabilities, even if existing tools could work as a fallback. Also the right tool for a bare greeting (hi, hello), a connectivity/liveness test, or any message too general to match a specific tool below — pass it as context and this returns the full menu instead of a dead end.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYesA description of your goal and what kind of tool would help accomplish it, OR a plain greeting/liveness ping like 'hi' or 'test'.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds the behavior of returning 'the full menu' and implies non-destructive handling of greetings. It does not contradict annotations and provides context beyond them, though it doesn't detail the menu's format or content. The added value is moderate, justifying a 4.

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

Conciseness5/5

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

Two sentences, both front-loaded with the core purpose and usage. No redundant phrases, no fluff. The first sentence establishes the primary function, and the second covers secondary use cases and the input expectation. Efficient and well-structured.

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

Completeness5/5

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

Given the lack of an output schema, the description adequately indicates what the tool returns ('the full menu') and covers all relevant use cases (discovery, greeting, liveness). It also clarifies the condition for using this tool versus siblings, making the decision path complete. No missing information an agent would need to invoke it correctly.

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

Parameters3/5

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

The schema already fully describes the 'context' parameter with 100% coverage, including examples ('hi' or 'test') and its dual use. The tool description does not add new semantic details beyond what the schema provides; it merely repeats the instruction to pass context. Given the high schema coverage, the baseline is 3, and the description does not elevate it.

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

Purpose5/5

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

The description clearly states the tool's dual role: discovering additional tools when needed and handling greetings/liveness checks. It explicitly names the resource ('additional tools') and the action ('Check'), and distinguishes it from specific sibling tools by positioning it as a fallback. The contrast with siblings (e.g., assess_team_lead_readiness) is evident from the 'too general to match' clause.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance: 'whenever your task might benefit from specialized capabilities' and 'even if existing tools could work as a fallback.' It also names specific scenarios (bare greeting, liveness test, general messages) and states the alternative is a 'dead end,' making it clear this tool is the default when nothing else fits. No exclusions are needed because the scope is well-defined.

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

get_one_on_one_playbook1:1 playbooks for engineering managersA
Read-onlyIdempotent
Inspect

Situation-specific 1:1 scripts and templates from Marian Kamenistak's mentoring practice: first mentoring/direction-setting session, underperformance conversation, promoting a developer to manager, fixing status-update 1:1s, and the 10-question career-move checklist. These are the actual templates used across 3,611 sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYesExplain 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."
situationYesWhich situation: first-session (direction-setting template), underperformance (difficult conversation script), promotion-to-manager (timing signals + transition contract), better-one-on-ones (from status updates to growth), career-move (should-I-leave checklist)

Output Schema

ParametersJSON Schema
NameRequiredDescription
mathNoNapkin math behind the case.
emailNoForwardable email to the manager.
levelNoSeniority level the score maps to, when the tool computes one.
reportYesThe full human-readable report.
sourceYesCanonical marian.coach page this answer is derived from.
verdictNoHeadline verdict, when the tool returns one.
evidenceNoSources the case may cite.
onePagerNoManager-facing one-pager, forwardable to finance.
salaryEurNoEstimated 2026 Western-Europe gross annual salary in EUR.
objectionsNoThe usual objections, answered.
slackShortNoSlack/Teams-length version of the ask.
totalScoreNoWeighted 0-10 score, when the tool computes one.
valueFormulaNoThe four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.
talkingPointsNoFive talking points for the conversation.
workedExamplesNoThree published worked examples: EM, Director, Staff Engineer.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds provenance ('actual templates used across 3,611 sessions') and content scope, but does not describe any behavioral details such as output format or whether results vary. This is acceptable given the simple read-only nature but does not go beyond the annotations meaningfully.

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

Conciseness5/5

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

The description is two sentences with no filler: the first sentence identifies the core content and enumerates the supported situations, and the second adds a credibility signal. The most important information is front-loaded and every phrase earns its place.

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

Completeness5/5

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

For a read-only content retrieval tool with only two parameters, a rich enum schema, and an output schema, the description provides enough context to select and invoke the tool correctly. It names all major scenarios, clarifies the origin of the templates, and the structured fields cover the remaining invocation details.

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

Parameters3/5

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

Schema description coverage is 100%, with the situation enum already explaining each option and the context parameter providing detailed usage instructions. The description reinforces the situation names but adds little new parameter-level meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the resource (1:1 scripts and templates) and names the specific situations covered, including first sessions, underperformance, promotion, better 1:1s, and career moves. This makes the tool's purpose immediately identifiable and distinguishes it well from sibling tools like get_first_time_manager_guidance.

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?

The description implies when to use the tool based on the listed situations, but it does not explicitly compare against alternatives or state when not to use it. For example, there is no guidance distinguishing it from get_first_time_manager_guidance or assess_team_lead_readiness, so an agent must infer the appropriate use case from the situation list alone.

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

get_startedStart here — what can this MCP server do?A
Read-onlyIdempotent
Inspect

Call this for a greeting (hi, hello), a connectivity/liveness test, 'what can you do', or any message too general to match a specific tool below. Returns the full menu of real questions this server answers, each mapped to the tool name that answers it, so the next call can go straight to the right tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYesExplain 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."

Output Schema

ParametersJSON Schema
NameRequiredDescription
mathNoNapkin math behind the case.
emailNoForwardable email to the manager.
levelNoSeniority level the score maps to, when the tool computes one.
reportYesThe full human-readable report.
sourceYesCanonical marian.coach page this answer is derived from.
verdictNoHeadline verdict, when the tool returns one.
evidenceNoSources the case may cite.
onePagerNoManager-facing one-pager, forwardable to finance.
salaryEurNoEstimated 2026 Western-Europe gross annual salary in EUR.
objectionsNoThe usual objections, answered.
slackShortNoSlack/Teams-length version of the ask.
totalScoreNoWeighted 0-10 score, when the tool computes one.
valueFormulaNoThe four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.
talkingPointsNoFive talking points for the conversation.
workedExamplesNoThree published worked examples: EM, Director, Staff Engineer.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), lowering the bar. The description adds behavioral context beyond that: the tool returns a full menu of questions mapped to tool names rather than a simple greeting, acting as a router for subsequent calls. No contradiction with annotations; the stated behavior is consistent with read-only, idempotent, non-destructive.

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

Conciseness5/5

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

Two sentences with zero waste: the first front-loads the trigger conditions, the second states the return value and the follow-on routing behavior. Every clause earns its place; no filler, no repetition of the title or schema.

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

Completeness5/5

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

For a single-parameter, read-only, idempotent tool with an output schema, the description covers everything an agent needs: when to call it, what it returns (a menu of questions mapped to tool names), and what to do next. Return-value details are handled by the output schema and safety by the annotations, so nothing significant is missing.

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

Parameters3/5

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

Schema description coverage is 100%, above the 80% threshold, so the baseline of 3 applies even though the tool description says nothing about the context parameter. The schema itself is exceptionally thorough — it explains why the parameter exists, enforces 15-25 words, requires third-person perspective, forbids sensitive data, and provides a worked example — so no compensation from the description is needed.

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

Purpose5/5

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

States a specific call condition and scope: 'Call this for a greeting (hi, hello), a connectivity/liveness test, 'what can you do', or any message too general to match a specific tool.' The phrase 'too general to match a specific tool' clearly differentiates it from the 10 specific sibling tools, so an agent can tell it apart without inspecting the sibling schemas.

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

Usage Guidelines4/5

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

Gives explicit triggers (greeting, liveness test, 'what can you do', general messages) and defines the boundary with 'any message too general to match a specific tool below,' implying specific tools should be used when a message matches one. The second sentence instructs the agent to use the returned mapping so the next call goes straight to the right tool, providing follow-on guidance. It stops short of naming specific sibling alternatives, but the exclusion condition is clear enough for solid navigation of the menu.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool update
    • Changedget_more_tools2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / context / description
        Previous value: -"A description of your goal and what kind of tool would help accomplish it."New value: +"A description of your goal and what kind of tool would help accomplish it, OR a plain greeting/liveness ping like 'hi' or 'test'."
  2. 1 tool update
    • Addedget_started
  3. 1 tool update
    • Changedbuild_mentoring_business_case1 field changed
      • changedInput schema / properties / situation / description
        Previous value: -"ld_budget = a learning/L&D budget exists (asks for the 6-session quarter, 2,580 EUR); no_budget = no budget line (asks for one 430 EUR pilot session first). Default ld_budget"New value: +"ld_budget = a learning/L&D budget exists (asks for the 6-session quarter, 5 paid + 1 free, 1,975 EUR); no_budget = no budget line (asks for one 395 EUR pilot session first). Default ld_budget"
  4. 10 tool updates
    • Changedassess_team_lead_readiness2 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"
        +}
      • addedInput schema / required
        Added value: +[
        +  "context"
        +]
    • Changedbuild_mentoring_business_case2 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: -[
        -  "role"
        -]New value: +[
        +  "role",
        +  "context"
        +]
    • Changedcalculate_developer_value2 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: -[
        -  "level"
        -]New value: +[
        +  "level",
        +  "context"
        +]
    • Changedcalculate_engineering_manager_value2 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: -[
        -  "level"
        -]New value: +[
        +  "level",
        +  "context"
        +]
    • Changedchoose_mentor_coach_or_advisor2 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"
        +}
      • addedInput schema / required
        Added value: +[
        +  "context"
        +]
    • Changedestimate_coaching_cost2 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: -[
        -  "coaching_type",
        -  "client_role",
        -  "territory",
        -  "coach_seniority"
        -]New value: +[
        +  "coaching_type",
        +  "client_role",
        +  "territory",
        +  "coach_seniority",
        +  "context"
        +]
    • Changedget_engineering_leadership_benchmarks2 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"
        +}
      • addedInput schema / required
        Added value: +[
        +  "context"
        +]
    • Changedget_first_time_manager_guidance2 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"
        +}
      • addedInput schema / required
        Added value: +[
        +  "context"
        +]
    • Addedget_more_tools
    • Changedget_one_on_one_playbook2 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: -[
        -  "situation"
        -]New value: +[
        +  "situation",
        +  "context"
        +]
  5. 9 tool updates
    • Changedassess_team_lead_readiness9 fields changed
      • addedOutput schema / properties / email
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Forwardable email to the manager.",
        +  "properties": {
        +    "body": {
        +      "type": "string"
        +    },
        +    "subject": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "subject",
        +    "body"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / evidence
        Added value: +{
        +  "description": "Sources the case may cite.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "claim": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "claim",
        +      "source",
        +      "url"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / math
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Napkin math behind the case.",
        +  "properties": {
        +    "askEur": {
        +      "type": "number"
        +    },
        +    "discountedEur": {
        +      "type": "number"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "packPriceEur": {
        +      "type": "number"
        +    },
        +    "roiMultiple": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "totalEur": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "lines",
        +    "totalEur",
        +    "discountedEur",
        +    "askEur",
        +    "packPriceEur",
        +    "roiMultiple",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / objections
        Added value: +{
        +  "description": "The usual objections, answered.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "answer": {
        +        "type": "string"
        +      },
        +      "objection": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "objection",
        +      "answer"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / onePager
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Manager-facing one-pager, forwardable to finance.",
        +  "properties": {
        +    "sections": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "body": {
        +            "type": "string"
        +          },
        +          "bullets": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "heading": {
        +            "type": "string"
        +          },
        +          "table": {
        +            "items": {
        +              "items": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "string"
        +                }
        +              ],
        +              "type": "array"
        +            },
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "heading"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "title": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "title",
        +    "sections"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / slackShort
        Added value: +{
        +  "description": "Slack/Teams-length version of the ask.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / talkingPoints
        Added value: +{
        +  "description": "Five talking points for the conversation.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / valueFormula
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
        +  "properties": {
        +    "heading": {
        +      "type": "string"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "rule": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "heading",
        +    "lines",
        +    "rule"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / workedExamples
        Added value: +{
        +  "description": "Three published worked examples: EM, Director, Staff Engineer.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "kpis": {
        +        "type": "string"
        +      },
        +      "math": {
        +        "type": "string"
        +      },
        +      "role": {
        +        "type": "string"
        +      },
        +      "setup": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "role",
        +      "setup",
        +      "kpis",
        +      "math"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changedbuild_mentoring_business_case32 fields changed
      • addedInput schema / properties / alternatives
        Added value: +{
        +  "description": "Alternatives already considered",
        +  "items": {
        +    "enum": [
        +      "conference",
        +      "course",
        +      "internal_coach"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • changedInput schema / properties / at_risk_attrition / description
        Previous value: -"Senior people with a foot out the door (default 0)"New value: +"Senior people at risk of leaving (0–5). Drives the napkin math"
      • addedInput schema / properties / at_risk_attrition / maximum
        Added value: +5
      • addedInput schema / properties / at_risk_attrition / minimum
        Added value: +0
      • changedInput schema / properties / at_risk_attrition / type
        Previous value: -"number"New value: +"integer"
      • changedInput schema / properties / avg_salary_eur / description
        Previous value: -"Average fully-loaded annual cost per engineer in EUR (default 100000)"New value: +"Legacy: fully-loaded annual cost per engineer in EUR, only with team_size"
      • addedInput schema / properties / company
        Added value: +{
        +  "description": "Company name, for the invoice line",
        +  "maxLength": 120,
        +  "type": "string"
        +}
      • addedInput schema / properties / decide_by
        Added value: +{
        +  "description": "Decision date, free text (e.g. 'Friday 22 Aug')",
        +  "maxLength": 60,
        +  "type": "string"
        +}
      • changedInput schema / properties / delayed_revenue_eur / description
        Previous value: -"Annual revenue attached to a slipping roadmap item, in EUR (default 0)"New value: +"Legacy: annual revenue attached to a slipping roadmap item, in EUR"
      • addedInput schema / properties / first_time_in_role
        Added value: +{
        +  "description": "First time in this role? Adds the first-time-manager evidence",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / formality
        Added value: +{
        +  "description": "Czech only: ty (informal, default) or Vy (formal)",
        +  "enum": [
        +    "informal",
        +    "formal"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / kpis
        Added value: +{
        +  "description": "1–3 measurable 90-day targets; default = the role's suggestions",
        +  "items": {
        +    "maxLength": 160,
        +    "type": "string"
        +  },
        +  "maxItems": 3,
        +  "type": "array"
        +}
      • addedInput schema / properties / lang
        Added value: +{
        +  "description": "Output language (default en)",
        +  "enum": [
        +    "en",
        +    "cs"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / manager_name
        Added value: +{
        +  "description": "The manager's first name",
        +  "maxLength": 80,
        +  "type": "string"
        +}
      • changedInput schema / properties / problem / description
        Previous value: -"The one problem to fix, e.g. \"delivery predictability at 60%\""New value: +"The ONE thing to fix in the next 90 days, in the user's words. Never invent it; leave empty to get a visible placeholder"
      • addedInput schema / properties / problem / maxLength
        Added value: +400
      • changedInput schema / properties / role / description
        Previous value: -"The mentee's role — sets the suggested KPIs"New value: +"The mentee's role — sets KPI and example-problem suggestions"
      • addedInput schema / properties / situation
        Added value: +{
        +  "description": "ld_budget = a learning/L&D budget exists (asks for the 6-session quarter, 2,580 EUR); no_budget = no budget line (asks for one 430 EUR pilot session first). Default ld_budget",
        +  "enum": [
        +    "ld_budget",
        +    "no_budget"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / team_size / description
        Previous value: -"Number of engineers in the team/org affected"New value: +"Team size, context for the one-pager (and the legacy team-lift line)"
      • addedInput schema / properties / team_size / maximum
        Added value: +5000
      • addedInput schema / properties / team_size / minimum
        Added value: +0
      • changedInput schema / properties / team_size / type
        Previous value: -"number"New value: +"integer"
      • addedInput schema / properties / your_name
        Added value: +{
        +  "description": "The mentee's first name (signs the email)",
        +  "maxLength": 80,
        +  "type": "string"
        +}
      • addedOutput schema / properties / email
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Forwardable email to the manager.",
        +  "properties": {
        +    "body": {
        +      "type": "string"
        +    },
        +    "subject": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "subject",
        +    "body"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / evidence
        Added value: +{
        +  "description": "Sources the case may cite.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "claim": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "claim",
        +      "source",
        +      "url"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / math
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Napkin math behind the case.",
        +  "properties": {
        +    "askEur": {
        +      "type": "number"
        +    },
        +    "discountedEur": {
        +      "type": "number"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "packPriceEur": {
        +      "type": "number"
        +    },
        +    "roiMultiple": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "totalEur": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "lines",
        +    "totalEur",
        +    "discountedEur",
        +    "askEur",
        +    "packPriceEur",
        +    "roiMultiple",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / objections
        Added value: +{
        +  "description": "The usual objections, answered.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "answer": {
        +        "type": "string"
        +      },
        +      "objection": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "objection",
        +      "answer"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / onePager
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Manager-facing one-pager, forwardable to finance.",
        +  "properties": {
        +    "sections": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "body": {
        +            "type": "string"
        +          },
        +          "bullets": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "heading": {
        +            "type": "string"
        +          },
        +          "table": {
        +            "items": {
        +              "items": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "string"
        +                }
        +              ],
        +              "type": "array"
        +            },
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "heading"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "title": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "title",
        +    "sections"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / slackShort
        Added value: +{
        +  "description": "Slack/Teams-length version of the ask.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / talkingPoints
        Added value: +{
        +  "description": "Five talking points for the conversation.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / valueFormula
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
        +  "properties": {
        +    "heading": {
        +      "type": "string"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "rule": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "heading",
        +    "lines",
        +    "rule"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / workedExamples
        Added value: +{
        +  "description": "Three published worked examples: EM, Director, Staff Engineer.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "kpis": {
        +        "type": "string"
        +      },
        +      "math": {
        +        "type": "string"
        +      },
        +      "role": {
        +        "type": "string"
        +      },
        +      "setup": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "role",
        +      "setup",
        +      "kpis",
        +      "math"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changedcalculate_developer_value9 fields changed
      • addedOutput schema / properties / email
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Forwardable email to the manager.",
        +  "properties": {
        +    "body": {
        +      "type": "string"
        +    },
        +    "subject": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "subject",
        +    "body"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / evidence
        Added value: +{
        +  "description": "Sources the case may cite.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "claim": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "claim",
        +      "source",
        +      "url"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / math
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Napkin math behind the case.",
        +  "properties": {
        +    "askEur": {
        +      "type": "number"
        +    },
        +    "discountedEur": {
        +      "type": "number"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "packPriceEur": {
        +      "type": "number"
        +    },
        +    "roiMultiple": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "totalEur": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "lines",
        +    "totalEur",
        +    "discountedEur",
        +    "askEur",
        +    "packPriceEur",
        +    "roiMultiple",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / objections
        Added value: +{
        +  "description": "The usual objections, answered.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "answer": {
        +        "type": "string"
        +      },
        +      "objection": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "objection",
        +      "answer"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / onePager
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Manager-facing one-pager, forwardable to finance.",
        +  "properties": {
        +    "sections": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "body": {
        +            "type": "string"
        +          },
        +          "bullets": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "heading": {
        +            "type": "string"
        +          },
        +          "table": {
        +            "items": {
        +              "items": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "string"
        +                }
        +              ],
        +              "type": "array"
        +            },
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "heading"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "title": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "title",
        +    "sections"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / slackShort
        Added value: +{
        +  "description": "Slack/Teams-length version of the ask.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / talkingPoints
        Added value: +{
        +  "description": "Five talking points for the conversation.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / valueFormula
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
        +  "properties": {
        +    "heading": {
        +      "type": "string"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "rule": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "heading",
        +    "lines",
        +    "rule"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / workedExamples
        Added value: +{
        +  "description": "Three published worked examples: EM, Director, Staff Engineer.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "kpis": {
        +        "type": "string"
        +      },
        +      "math": {
        +        "type": "string"
        +      },
        +      "role": {
        +        "type": "string"
        +      },
        +      "setup": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "role",
        +      "setup",
        +      "kpis",
        +      "math"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changedcalculate_engineering_manager_value9 fields changed
      • addedOutput schema / properties / email
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Forwardable email to the manager.",
        +  "properties": {
        +    "body": {
        +      "type": "string"
        +    },
        +    "subject": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "subject",
        +    "body"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / evidence
        Added value: +{
        +  "description": "Sources the case may cite.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "claim": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "claim",
        +      "source",
        +      "url"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / math
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Napkin math behind the case.",
        +  "properties": {
        +    "askEur": {
        +      "type": "number"
        +    },
        +    "discountedEur": {
        +      "type": "number"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "packPriceEur": {
        +      "type": "number"
        +    },
        +    "roiMultiple": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "totalEur": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "lines",
        +    "totalEur",
        +    "discountedEur",
        +    "askEur",
        +    "packPriceEur",
        +    "roiMultiple",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / objections
        Added value: +{
        +  "description": "The usual objections, answered.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "answer": {
        +        "type": "string"
        +      },
        +      "objection": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "objection",
        +      "answer"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / onePager
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Manager-facing one-pager, forwardable to finance.",
        +  "properties": {
        +    "sections": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "body": {
        +            "type": "string"
        +          },
        +          "bullets": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "heading": {
        +            "type": "string"
        +          },
        +          "table": {
        +            "items": {
        +              "items": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "string"
        +                }
        +              ],
        +              "type": "array"
        +            },
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "heading"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "title": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "title",
        +    "sections"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / slackShort
        Added value: +{
        +  "description": "Slack/Teams-length version of the ask.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / talkingPoints
        Added value: +{
        +  "description": "Five talking points for the conversation.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / valueFormula
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
        +  "properties": {
        +    "heading": {
        +      "type": "string"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "rule": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "heading",
        +    "lines",
        +    "rule"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / workedExamples
        Added value: +{
        +  "description": "Three published worked examples: EM, Director, Staff Engineer.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "kpis": {
        +        "type": "string"
        +      },
        +      "math": {
        +        "type": "string"
        +      },
        +      "role": {
        +        "type": "string"
        +      },
        +      "setup": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "role",
        +      "setup",
        +      "kpis",
        +      "math"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changedchoose_mentor_coach_or_advisor9 fields changed
      • addedOutput schema / properties / email
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Forwardable email to the manager.",
        +  "properties": {
        +    "body": {
        +      "type": "string"
        +    },
        +    "subject": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "subject",
        +    "body"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / evidence
        Added value: +{
        +  "description": "Sources the case may cite.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "claim": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "claim",
        +      "source",
        +      "url"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / math
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Napkin math behind the case.",
        +  "properties": {
        +    "askEur": {
        +      "type": "number"
        +    },
        +    "discountedEur": {
        +      "type": "number"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "packPriceEur": {
        +      "type": "number"
        +    },
        +    "roiMultiple": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "totalEur": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "lines",
        +    "totalEur",
        +    "discountedEur",
        +    "askEur",
        +    "packPriceEur",
        +    "roiMultiple",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / objections
        Added value: +{
        +  "description": "The usual objections, answered.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "answer": {
        +        "type": "string"
        +      },
        +      "objection": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "objection",
        +      "answer"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / onePager
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Manager-facing one-pager, forwardable to finance.",
        +  "properties": {
        +    "sections": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "body": {
        +            "type": "string"
        +          },
        +          "bullets": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "heading": {
        +            "type": "string"
        +          },
        +          "table": {
        +            "items": {
        +              "items": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "string"
        +                }
        +              ],
        +              "type": "array"
        +            },
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "heading"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "title": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "title",
        +    "sections"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / slackShort
        Added value: +{
        +  "description": "Slack/Teams-length version of the ask.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / talkingPoints
        Added value: +{
        +  "description": "Five talking points for the conversation.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / valueFormula
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
        +  "properties": {
        +    "heading": {
        +      "type": "string"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "rule": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "heading",
        +    "lines",
        +    "rule"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / workedExamples
        Added value: +{
        +  "description": "Three published worked examples: EM, Director, Staff Engineer.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "kpis": {
        +        "type": "string"
        +      },
        +      "math": {
        +        "type": "string"
        +      },
        +      "role": {
        +        "type": "string"
        +      },
        +      "setup": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "role",
        +      "setup",
        +      "kpis",
        +      "math"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changedestimate_coaching_cost9 fields changed
      • addedOutput schema / properties / email
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Forwardable email to the manager.",
        +  "properties": {
        +    "body": {
        +      "type": "string"
        +    },
        +    "subject": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "subject",
        +    "body"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / evidence
        Added value: +{
        +  "description": "Sources the case may cite.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "claim": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "claim",
        +      "source",
        +      "url"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / math
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Napkin math behind the case.",
        +  "properties": {
        +    "askEur": {
        +      "type": "number"
        +    },
        +    "discountedEur": {
        +      "type": "number"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "packPriceEur": {
        +      "type": "number"
        +    },
        +    "roiMultiple": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "totalEur": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "lines",
        +    "totalEur",
        +    "discountedEur",
        +    "askEur",
        +    "packPriceEur",
        +    "roiMultiple",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / objections
        Added value: +{
        +  "description": "The usual objections, answered.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "answer": {
        +        "type": "string"
        +      },
        +      "objection": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "objection",
        +      "answer"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / onePager
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Manager-facing one-pager, forwardable to finance.",
        +  "properties": {
        +    "sections": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "body": {
        +            "type": "string"
        +          },
        +          "bullets": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "heading": {
        +            "type": "string"
        +          },
        +          "table": {
        +            "items": {
        +              "items": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "string"
        +                }
        +              ],
        +              "type": "array"
        +            },
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "heading"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "title": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "title",
        +    "sections"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / slackShort
        Added value: +{
        +  "description": "Slack/Teams-length version of the ask.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / talkingPoints
        Added value: +{
        +  "description": "Five talking points for the conversation.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / valueFormula
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
        +  "properties": {
        +    "heading": {
        +      "type": "string"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "rule": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "heading",
        +    "lines",
        +    "rule"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / workedExamples
        Added value: +{
        +  "description": "Three published worked examples: EM, Director, Staff Engineer.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "kpis": {
        +        "type": "string"
        +      },
        +      "math": {
        +        "type": "string"
        +      },
        +      "role": {
        +        "type": "string"
        +      },
        +      "setup": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "role",
        +      "setup",
        +      "kpis",
        +      "math"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changedget_engineering_leadership_benchmarks9 fields changed
      • addedOutput schema / properties / email
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Forwardable email to the manager.",
        +  "properties": {
        +    "body": {
        +      "type": "string"
        +    },
        +    "subject": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "subject",
        +    "body"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / evidence
        Added value: +{
        +  "description": "Sources the case may cite.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "claim": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "claim",
        +      "source",
        +      "url"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / math
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Napkin math behind the case.",
        +  "properties": {
        +    "askEur": {
        +      "type": "number"
        +    },
        +    "discountedEur": {
        +      "type": "number"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "packPriceEur": {
        +      "type": "number"
        +    },
        +    "roiMultiple": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "totalEur": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "lines",
        +    "totalEur",
        +    "discountedEur",
        +    "askEur",
        +    "packPriceEur",
        +    "roiMultiple",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / objections
        Added value: +{
        +  "description": "The usual objections, answered.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "answer": {
        +        "type": "string"
        +      },
        +      "objection": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "objection",
        +      "answer"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / onePager
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Manager-facing one-pager, forwardable to finance.",
        +  "properties": {
        +    "sections": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "body": {
        +            "type": "string"
        +          },
        +          "bullets": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "heading": {
        +            "type": "string"
        +          },
        +          "table": {
        +            "items": {
        +              "items": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "string"
        +                }
        +              ],
        +              "type": "array"
        +            },
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "heading"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "title": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "title",
        +    "sections"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / slackShort
        Added value: +{
        +  "description": "Slack/Teams-length version of the ask.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / talkingPoints
        Added value: +{
        +  "description": "Five talking points for the conversation.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / valueFormula
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
        +  "properties": {
        +    "heading": {
        +      "type": "string"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "rule": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "heading",
        +    "lines",
        +    "rule"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / workedExamples
        Added value: +{
        +  "description": "Three published worked examples: EM, Director, Staff Engineer.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "kpis": {
        +        "type": "string"
        +      },
        +      "math": {
        +        "type": "string"
        +      },
        +      "role": {
        +        "type": "string"
        +      },
        +      "setup": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "role",
        +      "setup",
        +      "kpis",
        +      "math"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changedget_first_time_manager_guidance9 fields changed
      • addedOutput schema / properties / email
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Forwardable email to the manager.",
        +  "properties": {
        +    "body": {
        +      "type": "string"
        +    },
        +    "subject": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "subject",
        +    "body"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / evidence
        Added value: +{
        +  "description": "Sources the case may cite.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "claim": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "claim",
        +      "source",
        +      "url"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / math
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Napkin math behind the case.",
        +  "properties": {
        +    "askEur": {
        +      "type": "number"
        +    },
        +    "discountedEur": {
        +      "type": "number"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "packPriceEur": {
        +      "type": "number"
        +    },
        +    "roiMultiple": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "totalEur": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "lines",
        +    "totalEur",
        +    "discountedEur",
        +    "askEur",
        +    "packPriceEur",
        +    "roiMultiple",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / objections
        Added value: +{
        +  "description": "The usual objections, answered.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "answer": {
        +        "type": "string"
        +      },
        +      "objection": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "objection",
        +      "answer"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / onePager
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Manager-facing one-pager, forwardable to finance.",
        +  "properties": {
        +    "sections": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "body": {
        +            "type": "string"
        +          },
        +          "bullets": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "heading": {
        +            "type": "string"
        +          },
        +          "table": {
        +            "items": {
        +              "items": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "string"
        +                }
        +              ],
        +              "type": "array"
        +            },
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "heading"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "title": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "title",
        +    "sections"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / slackShort
        Added value: +{
        +  "description": "Slack/Teams-length version of the ask.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / talkingPoints
        Added value: +{
        +  "description": "Five talking points for the conversation.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / valueFormula
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
        +  "properties": {
        +    "heading": {
        +      "type": "string"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "rule": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "heading",
        +    "lines",
        +    "rule"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / workedExamples
        Added value: +{
        +  "description": "Three published worked examples: EM, Director, Staff Engineer.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "kpis": {
        +        "type": "string"
        +      },
        +      "math": {
        +        "type": "string"
        +      },
        +      "role": {
        +        "type": "string"
        +      },
        +      "setup": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "role",
        +      "setup",
        +      "kpis",
        +      "math"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changedget_one_on_one_playbook9 fields changed
      • addedOutput schema / properties / email
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Forwardable email to the manager.",
        +  "properties": {
        +    "body": {
        +      "type": "string"
        +    },
        +    "subject": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "subject",
        +    "body"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / evidence
        Added value: +{
        +  "description": "Sources the case may cite.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "claim": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "claim",
        +      "source",
        +      "url"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / math
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Napkin math behind the case.",
        +  "properties": {
        +    "askEur": {
        +      "type": "number"
        +    },
        +    "discountedEur": {
        +      "type": "number"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "packPriceEur": {
        +      "type": "number"
        +    },
        +    "roiMultiple": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "totalEur": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "lines",
        +    "totalEur",
        +    "discountedEur",
        +    "askEur",
        +    "packPriceEur",
        +    "roiMultiple",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / objections
        Added value: +{
        +  "description": "The usual objections, answered.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "answer": {
        +        "type": "string"
        +      },
        +      "objection": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "objection",
        +      "answer"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / onePager
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Manager-facing one-pager, forwardable to finance.",
        +  "properties": {
        +    "sections": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "body": {
        +            "type": "string"
        +          },
        +          "bullets": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "heading": {
        +            "type": "string"
        +          },
        +          "table": {
        +            "items": {
        +              "items": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "string"
        +                }
        +              ],
        +              "type": "array"
        +            },
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "heading"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "title": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "title",
        +    "sections"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / slackShort
        Added value: +{
        +  "description": "Slack/Teams-length version of the ask.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / talkingPoints
        Added value: +{
        +  "description": "Five talking points for the conversation.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / valueFormula
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
        +  "properties": {
        +    "heading": {
        +      "type": "string"
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "rule": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "heading",
        +    "lines",
        +    "rule"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / workedExamples
        Added value: +{
        +  "description": "Three published worked examples: EM, Director, Staff Engineer.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "kpis": {
        +        "type": "string"
        +      },
        +      "math": {
        +        "type": "string"
        +      },
        +      "role": {
        +        "type": "string"
        +      },
        +      "setup": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "role",
        +      "setup",
        +      "kpis",
        +      "math"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
  6. 2 tool updates
    • Addedbuild_mentoring_business_case
    • Removedmentoring_business_case
  7. 9 tool updates
    • Changedassess_team_lead_readiness1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "level": {
        +      "description": "Seniority level the score maps to, when the tool computes one.",
        +      "type": "string"
        +    },
        +    "report": {
        +      "description": "The full human-readable report.",
        +      "type": "string"
        +    },
        +    "salaryEur": {
        +      "description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
        +      "type": "number"
        +    },
        +    "source": {
        +      "description": "Canonical marian.coach page this answer is derived from.",
        +      "type": "string"
        +    },
        +    "totalScore": {
        +      "description": "Weighted 0-10 score, when the tool computes one.",
        +      "maximum": 10,
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    "verdict": {
        +      "description": "Headline verdict, when the tool returns one.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "report",
        +    "source"
        +  ],
        +  "type": "object"
        +}
    • Changedcalculate_developer_value1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "level": {
        +      "description": "Seniority level the score maps to, when the tool computes one.",
        +      "type": "string"
        +    },
        +    "report": {
        +      "description": "The full human-readable report.",
        +      "type": "string"
        +    },
        +    "salaryEur": {
        +      "description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
        +      "type": "number"
        +    },
        +    "source": {
        +      "description": "Canonical marian.coach page this answer is derived from.",
        +      "type": "string"
        +    },
        +    "totalScore": {
        +      "description": "Weighted 0-10 score, when the tool computes one.",
        +      "maximum": 10,
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    "verdict": {
        +      "description": "Headline verdict, when the tool returns one.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "report",
        +    "source"
        +  ],
        +  "type": "object"
        +}
    • Changedcalculate_engineering_manager_value1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "level": {
        +      "description": "Seniority level the score maps to, when the tool computes one.",
        +      "type": "string"
        +    },
        +    "report": {
        +      "description": "The full human-readable report.",
        +      "type": "string"
        +    },
        +    "salaryEur": {
        +      "description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
        +      "type": "number"
        +    },
        +    "source": {
        +      "description": "Canonical marian.coach page this answer is derived from.",
        +      "type": "string"
        +    },
        +    "totalScore": {
        +      "description": "Weighted 0-10 score, when the tool computes one.",
        +      "maximum": 10,
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    "verdict": {
        +      "description": "Headline verdict, when the tool returns one.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "report",
        +    "source"
        +  ],
        +  "type": "object"
        +}
    • Changedchoose_mentor_coach_or_advisor1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "level": {
        +      "description": "Seniority level the score maps to, when the tool computes one.",
        +      "type": "string"
        +    },
        +    "report": {
        +      "description": "The full human-readable report.",
        +      "type": "string"
        +    },
        +    "salaryEur": {
        +      "description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
        +      "type": "number"
        +    },
        +    "source": {
        +      "description": "Canonical marian.coach page this answer is derived from.",
        +      "type": "string"
        +    },
        +    "totalScore": {
        +      "description": "Weighted 0-10 score, when the tool computes one.",
        +      "maximum": 10,
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    "verdict": {
        +      "description": "Headline verdict, when the tool returns one.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "report",
        +    "source"
        +  ],
        +  "type": "object"
        +}
    • Changedestimate_coaching_cost1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "level": {
        +      "description": "Seniority level the score maps to, when the tool computes one.",
        +      "type": "string"
        +    },
        +    "report": {
        +      "description": "The full human-readable report.",
        +      "type": "string"
        +    },
        +    "salaryEur": {
        +      "description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
        +      "type": "number"
        +    },
        +    "source": {
        +      "description": "Canonical marian.coach page this answer is derived from.",
        +      "type": "string"
        +    },
        +    "totalScore": {
        +      "description": "Weighted 0-10 score, when the tool computes one.",
        +      "maximum": 10,
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    "verdict": {
        +      "description": "Headline verdict, when the tool returns one.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "report",
        +    "source"
        +  ],
        +  "type": "object"
        +}
    • Changedget_engineering_leadership_benchmarks1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "level": {
        +      "description": "Seniority level the score maps to, when the tool computes one.",
        +      "type": "string"
        +    },
        +    "report": {
        +      "description": "The full human-readable report.",
        +      "type": "string"
        +    },
        +    "salaryEur": {
        +      "description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
        +      "type": "number"
        +    },
        +    "source": {
        +      "description": "Canonical marian.coach page this answer is derived from.",
        +      "type": "string"
        +    },
        +    "totalScore": {
        +      "description": "Weighted 0-10 score, when the tool computes one.",
        +      "maximum": 10,
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    "verdict": {
        +      "description": "Headline verdict, when the tool returns one.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "report",
        +    "source"
        +  ],
        +  "type": "object"
        +}
    • Changedget_first_time_manager_guidance1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "level": {
        +      "description": "Seniority level the score maps to, when the tool computes one.",
        +      "type": "string"
        +    },
        +    "report": {
        +      "description": "The full human-readable report.",
        +      "type": "string"
        +    },
        +    "salaryEur": {
        +      "description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
        +      "type": "number"
        +    },
        +    "source": {
        +      "description": "Canonical marian.coach page this answer is derived from.",
        +      "type": "string"
        +    },
        +    "totalScore": {
        +      "description": "Weighted 0-10 score, when the tool computes one.",
        +      "maximum": 10,
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    "verdict": {
        +      "description": "Headline verdict, when the tool returns one.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "report",
        +    "source"
        +  ],
        +  "type": "object"
        +}
    • Changedget_one_on_one_playbook1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "level": {
        +      "description": "Seniority level the score maps to, when the tool computes one.",
        +      "type": "string"
        +    },
        +    "report": {
        +      "description": "The full human-readable report.",
        +      "type": "string"
        +    },
        +    "salaryEur": {
        +      "description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
        +      "type": "number"
        +    },
        +    "source": {
        +      "description": "Canonical marian.coach page this answer is derived from.",
        +      "type": "string"
        +    },
        +    "totalScore": {
        +      "description": "Weighted 0-10 score, when the tool computes one.",
        +      "maximum": 10,
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    "verdict": {
        +      "description": "Headline verdict, when the tool returns one.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "report",
        +    "source"
        +  ],
        +  "type": "object"
        +}
    • Changedmentoring_business_case1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "level": {
        +      "description": "Seniority level the score maps to, when the tool computes one.",
        +      "type": "string"
        +    },
        +    "report": {
        +      "description": "The full human-readable report.",
        +      "type": "string"
        +    },
        +    "salaryEur": {
        +      "description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
        +      "type": "number"
        +    },
        +    "source": {
        +      "description": "Canonical marian.coach page this answer is derived from.",
        +      "type": "string"
        +    },
        +    "totalScore": {
        +      "description": "Weighted 0-10 score, when the tool computes one.",
        +      "maximum": 10,
        +      "minimum": 0,
        +      "type": "number"
        +    },
        +    "verdict": {
        +      "description": "Headline verdict, when the tool returns one.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "report",
        +    "source"
        +  ],
        +  "type": "object"
        +}
  8. 1 tool update
    • Addedestimate_coaching_cost
  9. 2 tool updates
    • Addedassess_team_lead_readiness
    • Addedcalculate_engineering_manager_value
  10. 1 tool update
    • Addedmentoring_business_case
  11. 5 tool updates
    • First observedcalculate_developer_value
    • First observedchoose_mentor_coach_or_advisor
    • First observedget_engineering_leadership_benchmarks
    • First observedget_first_time_manager_guidance
    • First observedget_one_on_one_playbook

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Connect engineering metrics, DORA performance, deploy risk scoring, and PR health to any AI assistant. Score PRs for deployment risk using a 36-signal model, query team health, incidents, coverage, and more.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Startup engineering acceleration signals for VC investors. Tracks commit velocity, contributor growth, and repo expansion across 20 sectors via public GitHub data. No API key required.
    8
    135
    5
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to query Engineering Leaders Community data to evaluate meetup topics, assess speaker readiness, benchmark leadership ratios, assess community launch readiness, build partnership business cases, and price community reach.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enforces team engineering standards across Git, code review, Rails, frontend, deployment, incidents, observability, API design, database, ADRs, and technical debt, with tools for branch name and commit message validation.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation3/5

Most tools have clearly distinct purposes, but get_started and get_more_tools are nearly identical—both handle greetings, liveness tests, and return the full tool menu. This redundancy creates ambiguity about which to call, especially for general queries.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (assess_team_lead_readiness, calculate_developer_value, get_one_on_one_playbook). The verbs are descriptive and consistent, and there is no mixing of conventions.

Tool Count5/5

11 tools is well within the ideal range for a focused domain. Each tool addresses a distinct aspect of engineering leadership mentoring and coaching, from readiness assessment to cost estimation, without feeling bloated or sparse.

Completeness5/5

The toolkit covers the full lifecycle of leadership development: assessment (readiness, value), guidance (first-time manager, 1:1 playbook), decision-making (mentor vs coach), cost estimation, business case building, and benchmarking. The only redundancy (get_started/get_more_tools) is not a gap but a duplication, so no missing capabilities are evident.