eng-leadership-toolkit
Server Details
Engineering leadership benchmarks, 1:1 playbooks, developer value calculator. 3,400+ sessions.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- marian-kamenistak/ai-engineering-leader-toolkit
- GitHub Stars
- 1
- Server Listing
- eng-leadership-toolkit
TDQS
Scored across 11 tools
Most tools target clearly distinct needs (salary calc, cost, benchmarks, playbook), but get_started and get_more_tools are effectively the same meta-tool—both greet, test liveness, and return the menu—creating a genuine boundary problem. Additionally, assess_team_lead_readiness and get_first_time_manager_guidance both address the IC→leadership transition and could be confused.
All names follow a consistent snake_case verb_noun pattern (assess_, build_, calculate_, choose_, estimate_, get_). The verb choice is predictable and readable across every tool, with no mixing of conventions.
Eleven tools sit comfortably in the well-scoped 3-15 range for a leadership/mentoring advice toolkit. The only mild inefficiency is that two of the eleven (get_started, get_more_tools) are redundant, trimming the effective surface to nine.
The surface covers the core mentoring/coaching lifecycle: readiness assessment, mentor/coach/advisor choice, business case, cost estimation, salary benchmarking, benchmarks, and 1:1 playbooks. Minor gaps remain (e.g. no tool for ongoing session planning or post-engagement follow-up), but agents can work around them.
Available Tools
11 toolsassess_team_lead_readinessTeam lead readiness test — should this engineer become a team lead?ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| answers | No | Answers 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. | |
| context | No | Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer. |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds behavior beyond that: the questionnaire-vs-verdict mode switch, the requirement of all 17 answers, and that the 'context' field is recorded as intent but never changes the answer — the last point is genuinely useful and not inferable from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core question and the output shape, then the call pattern. Dense and largely waste-free, though the closing 'Built from 3,611 mentoring sessions' is credibility framing rather than an operational fact an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-required-param tool with an output schema, full schema coverage, and annotations covering safety, nothing essential is missing. The description explains the answer format, both call modes, and the verdict taxonomy, so an agent can invoke and interpret it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema itself already documents the q1-q17 0-based indexing and non-monotonic scoring, so the baseline is 3. The description earns above baseline by stating that all 17 answers are required to obtain a verdict and that omitting them returns the questionnaire, which is an operational constraint the schema does not spell out.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('assess team lead readiness' / answers 'should I become a team lead?') and enumerates exactly what it produces: 6 named dimensions, a three-way verdict, and top-2 gap dimensions with one move each. That level of specificity makes it unmistakable against siblings like calculate_engineering_manager_value or choose_mentor_coach_or_advisor without needing to name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear invocation context: 'call without answers to get the questionnaire; call with all 17 answers to get the verdict,' which tells the agent the two-step flow precisely. It does not, however, say when to prefer this over adjacent siblings such as get_first_time_manager_guidance or choose_mentor_coach_or_advisor, so there is no explicit exclusion guidance.
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-pagerARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kpis | No | 1–3 measurable 90-day targets; default = the role's suggestions | |
| lang | No | Output language (default en) One of: en, cs. | |
| role | No | Required. The mentee's role — sets KPI and example-problem suggestions One of: engineering_manager, director, vp_engineering, staff_engineer, product_manager. | |
| company | No | Company name, for the invoice line | |
| context | No | Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer. | |
| problem | No | 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 | |
| decide_by | No | Decision date, free text (e.g. 'Friday 22 Aug') | |
| formality | No | Czech only: ty (informal, default) or Vy (formal) One of: informal, formal. | |
| situation | No | 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 One of: ld_budget, no_budget. | |
| team_size | No | Team size, context for the one-pager (and the legacy team-lift line) | |
| your_name | No | The mentee's first name (signs the email) | |
| alternatives | No | Alternatives already considered One or more of: conference, course, internal_coach. | |
| manager_name | No | The manager's first name | |
| avg_salary_eur | No | Legacy: fully-loaded annual cost per engineer in EUR, only with team_size | |
| at_risk_attrition | No | Senior people at risk of leaving (0–5). Drives the napkin math | |
| first_time_in_role | No | First time in this role? Adds the first-time-manager evidence | |
| delayed_revenue_eur | No | Legacy: annual revenue attached to a slipping roadmap item, in EUR |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety bar is low. The description adds genuine behavioral context beyond them: it will never fabricate input ('a missing problem renders as a visible bracket, never an invented one'), it is fully personalized to passed-in data, and it emits a fixed set of deliverables with concrete pricing. It does not mention rate limits or latency, hence not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then a dense enumeration of deliverables. The list is long but every element corresponds to something the tool actually returns, so little is wasted; a slightly tighter grouping of the artifact list would earn a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-parameter, zero-required generation tool with an output schema, the description is complete: it sets expectations for output shape, personalization behavior, language/formality options, and non-invention of missing inputs. Nothing needed to invoke it correctly is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 17 parameters and baseline is 3. The description reinforces the pricing/situation semantics (1,975 EUR quarter at 5 paid + 1 free, or 395 EUR pilot) and the count-then-halve CFO rule, but adds no per-parameter meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ('build the case that gets your company to pay for leadership mentoring') and then enumerates the concrete artifacts produced: value formula, worked examples, ROI napkin math, forwardable manager email, Slack version, talking points, one-pager, objection answers. An agent can immediately distinguish this from calculate_developer_value or estimate_coaching_cost, which do calculation only.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is strongly implied ('gets your company to pay', budget vs no-budget variants), but the description never states when to reach for this tool instead of the sibling cost/value calculators, nor any prerequisite beyond 'uses only what you pass in'. The when-vs-alternatives dimension is left to inference.
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 calculatorARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | Required. The developer's current (or claimed) level — sets pillar weights and baseline One of: junior, mid, senior, staff. | |
| scores | No | Optional 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). | |
| context | No | Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer. |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description earns credit for the extras it adds: weights come from the level, unscored skills fall back to a level baseline, and the optional context string is recorded but never affects the result. That disclosure of determinism and defaulting behavior is genuinely useful beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the purpose and output shape, with the baseline-default rule as a useful trailing clarification. The 'Same logic as the live calculator at marian.coach' sentence is a credibility note that borders on filler but is short enough not to hurt.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so explaining return values is optional, yet the description still names the key outputs. Inputs are fully documented in the schema. The only real gap is the absent routing guidance against sibling calculators, which is a usage matter rather than a completeness failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the level enum, the fifteen valid skill keys, score range, and baselines. The description restates the baseline-default rule and the pillar grouping but adds no syntax or semantics the schema lacks; baseline 3 is appropriate when structured fields do the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Assess a software developer's market value') and enumerates the concrete outputs: a 15-skill/5-pillar score, weighted total, seniority level, and a 2026 Western-Europe gross salary estimate. The resource ('software developer') and geographic/year scope make it distinguishable from siblings like calculate_engineering_manager_value or assess_team_lead_readiness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool computes but never says when to reach for it versus alternatives such as calculate_engineering_manager_value or get_engineering_leadership_benchmarks. The reference to 'the live calculator at marian.coach' is a provenance note, not usage guidance, and no exclusions or prerequisites are given.
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 calculatorARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | Required. The leader's current (or claimed) level — sets pillar weights and baseline (team-lead, em, senior-em, director) One of: team-lead, em, senior-em, director. | |
| track | No | Optional context: what kind of teams they lead. Framing only — scoring is weighted by level, identically across tracks (same as the live tool) One of: product-teams, platform-infra, data-ml, agency, startup, scaleup. | |
| scores | No | Optional 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). | |
| context | No | Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer. |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive behavior, so the bar is lower. The description adds genuinely useful behavioral context beyond them: scoring is deterministic and identical to the live tool, omitted skills fall back to a level baseline, and salary is scoped to 2026 Western Europe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph that front-loads the core outcome (value score, level, salary) before the mechanics. Every clause carries information, though the reference to marian.coach is slightly promotional rather than operational.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be spelled out, and the description still sketches the output shape (total score, level, salary estimate). The main gap is the absence of usage routing across a crowded sibling set, which is minor for a self-contained calculator.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters, giving a baseline of 3. The description reinforces but does not materially extend this, restating that scoring is weighted by level and that unscored skills use baselines rather than adding new syntax or edge-case semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Assess an engineering leader's market value') and enumerates exactly what it produces: a 15-skill/5-pillar score, a level, and a 2026 Western-Europe salary estimate. It is clearly distinguishable from siblings like calculate_developer_value and assess_team_lead_readiness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Use is implied by the framing ('Assess an engineering leader's market value') and by the note that the logic matches the live EM salary calculator, but there is no explicit when-to-use statement, no exclusions, and no named alternative among the many sibling tools. An agent must infer the right context.
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?ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer. | |
| situation | No | Optional: the leader's situation in one sentence — the three-question test below maps it to a recommendation |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotent/non-destructive/openWorld=false, so safety is covered. The description adds value beyond that by disclosing the substance of the response (a comparative framework plus a three-question self-test) and its evidence base ('3,611 mentoring sessions'), which is not derivable from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the decision verb and scope, followed by the coverage list and provenance. No filler; every clause contributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return format need not be described, and annotations cover the safety profile. The description supplies the decision scope, framework contents, optional-input behavior, and evidence base — complete for a zero-required-parameter advisory tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both optional parameters (context, situation) are fully documented in the schema, including that context is intent-only and never changes the answer. The description's mention of the 'three-question self-test' adds only marginal meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and decision ('Decide whether an engineering leader needs a mentor, a coach, or an advisor') and enumerates what the answer covers: what each brings, the typical question, domain-experience requirement, time horizon, and a self-test. No sibling tool makes a mentor/coach/advisor distinction, so an agent can route here unambiguously.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the framing ('Decide whether an engineering leader needs...') and the situation parameter ties a described situation to a recommendation, but there is no explicit when-to-use/when-not guidance and no named alternative sibling. Adequate but leaves the routing logic to inference.
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?ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Engagement length (default single-session) — longer commitments carry a 5-20% per-session discount One of: single-session, monthly, quarter, half-year. | |
| context | No | Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer. | |
| territory | No | Required. Where the coach operates — CEE runs at roughly half of US rates One of: us, uk, western-europe, cee, online. | |
| client_role | No | Required. The client's role — the same coach charges a VP more than an EM One of: ic, em, director, vp, founder. | |
| coaching_type | No | Required. What kind of coaching the client is buying One of: executive, leadership, engineering-leadership, career, life. | |
| coach_seniority | No | Required. Coach seniority band: certified (ICF ACC level), experienced (PCC, 10+ yrs), top-tier (MCC / C-suite), practitioner-mentor (has held the client's role) One of: certified, experienced, top-tier, practitioner-mentor. |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, so safety needs no restating. The description adds value beyond them by disclosing what is returned (per-session range, program total, red flags for too cheap / brand margin) and the data sources it is anchored to (ICF 2025, Tandem Coach 2026, CEE survey).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the resource and inputs, followed by return shape and sourcing. Every clause carries information; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full schema coverage plus read-only annotations, the description supplies the remaining context an agent needs: scope of the estimate, its authoritative anchors, and the nature of the returned figures.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters and their enums are already documented with rationale (e.g., CEE half of US rates, seniority bands). The description only restates the same dimensions without adding syntax or format detail, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (estimate a fair market rate) and resource (coaching/mentoring cost in 2026) and enumerates the exact pricing dimensions it factors in. An agent can immediately tell what output to expect (per-session range, program total, red flags) without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The domain is clear enough that when-to-use is implied (a cost/rate question), but there is no explicit guidance on when to prefer this over siblings like build_mentoring_business_case or calculate_developer_value, and no exclusions are given.
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 statisticsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Which benchmark set to return (default: all) One of: practice-stats, mentee-mix, topic-demand, team-health-thresholds, all. | |
| context | No | Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer. |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds genuinely useful behavioral context beyond that: first-party provenance (3,611 sessions since 2019), sample size, and CC BY 4.0 citability, which tell the agent the data is authoritative and can be attributed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the substantive content in one dense sentence followed by a short provenance/licensing tagline. Every clause adds information, though the enumeration is long enough to be slightly list-like.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. The description is complete enough to call the tool correctly; only the missing when-to-use routing keeps it from being fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 including the topic enum and the purpose of 'context'. The description's list of benchmark categories loosely mirrors the topic values but adds no syntax or format detail, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (get) and resource (engineering leadership benchmarks) and enumerates the concrete contents: mentee seniority mix, topic demand, time-to-results, team-health thresholds, and NPS/referral stats. This makes it clearly distinguishable from calculation-oriented siblings like calculate_developer_value or build_mentoring_business_case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to call this tool versus alternatives, nor does it name any sibling for contrast. It describes what data exists but leaves the selection condition entirely to inference.
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 modesBRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer. |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds useful scope about what content the guidance contains, but says nothing about output shape, length, or whether it is static content versus a computed result. Adequate, not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core scope — the IC→manager transition — followed by a tight enumeration of contents. The trailing '52% of Marian's 300+ mentees' stat is arguably promotional rather than operational, but it doubles as a routing signal and costs one clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and this is a low-complexity read-only guidance tool. The description is complete for invocation purposes; the only real gap is sibling differentiation versus other readiness/benchmark tools, which is minor given the self-selecting topic.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one optional 'context' parameter and schema coverage is 100%, so the schema fully documents it, including the note that it is recorded as intent and never changes the answer. The description adds no parameter meaning beyond what the schema already provides, which is the correct baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: it names the audience (IC→manager transition) and enumerates the concrete content (responsibility triangle, six failure modes, readiness self-check, first-months expectations). However, it never distinguishes itself from a close sibling like assess_team_lead_readiness, so the agent cannot tell from this text alone which one to call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (a new manager at the transition) but states no explicit when-to-use condition, prerequisites, or alternatives. Nothing tells the agent why to pick this over assess_team_lead_readiness or get_engineering_leadership_benchmarks, which is exactly the ambiguity the agent needs resolved.
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 pingARead-onlyIdempotentInspect
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, or send no arguments at all, and this returns the full menu instead of a dead end.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | A description of your goal and what kind of tool would help accomplish it, OR a plain greeting/liveness ping like 'hi' or 'test'. Omit it for the menu. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, covering safety. The description adds behavioral context: that it returns the full menu when no arguments are provided, and that it can serve as a liveness check. This goes beyond the structured 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with the primary use case front-loaded. It is efficient but includes some redundancy with the schema (e.g., 'pass it as context'). Still, it is appropriately sized and structured for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description fully covers when to use it, how to invoke it (with or without context), and the expected outcome (returns the full menu). No critical information is missing for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 already explains its purpose (goal description, greeting, or omission). The description restates the usage ('pass it as context, or send no arguments') but adds no new semantic details beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a dual purpose: discovering additional tools for specialized capabilities, and handling greetings/liveness pings. It differentiates itself from the mentoring-specific siblings by positioning itself as the fallback/general tool, with a specific verb ('Check for') and resource ('additional tools').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly specifies when to use it: 'whenever your task might benefit from specialized capabilities, even if existing tools could work as a fallback' and for greetings/liveness/general messages. It implicitly tells when not to use it by noting it's for messages 'too general to match a specific tool', which guides the agent to prefer specific siblings when applicable.
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 managersARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer. | |
| situation | No | Required. Which 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) One of: first-session, underperformance, promotion-to-manager, better-one-on-ones, career-move. |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds provenance (real templates from 3,611 sessions) but no behavioral traits such as latency, rate limits, or auth requirements; provenance is useful but marginal beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the resource and provenance before the scenario list; every clause earns its place by enumerating a supported situation. Only slightly verbose due to the doubled enumeration of the same five cases that the schema also lists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers what content is delivered and for which situations. Complete for a read-only playbook retrieval, though it omits any guidance on ordering or combining the five templates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already maps each situation value to its template, so the description largely restates that mapping. It adds minor extra detail ('10-question career-move checklist', 'timing signals + transition contract') but no format or constraint info beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (get one-on-one playbook) and enumerates the exact situations covered (first session, underperformance, promotion to manager, better 1:1s, career move). This is concrete enough to distinguish it from adjacent siblings such as get_first_time_manager_guidance or choose_mentor_coach_or_advisor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The five enumerated situations imply when the tool applies, but the description never explicitly frames them as use conditions and names no alternatives or exclusions. An agent can infer usage from the scenario list, but routing versus siblings like get_first_time_manager_guidance is left to inference.
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?ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer. |
Output Schema
| Name | Required | Description |
|---|---|---|
| math | No | Napkin math behind the case. |
| No | Forwardable email to the manager. | |
| level | No | Seniority level the score maps to, when the tool computes one. |
| report | Yes | The full human-readable report. |
| source | Yes | Canonical marian.coach page this answer is derived from. |
| verdict | No | Headline verdict, when the tool returns one. |
| evidence | No | Sources the case may cite. |
| onePager | No | Manager-facing one-pager, forwardable to finance. |
| salaryEur | No | Estimated 2026 Western-Europe gross annual salary in EUR. |
| objections | No | The usual objections, answered. |
| slackShort | No | Slack/Teams-length version of the ask. |
| totalScore | No | Weighted 0-10 score, when the tool computes one. |
| valueFormula | No | The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule. |
| talkingPoints | No | Five talking points for the conversation. |
| workedExamples | No | Three published worked examples: EM, Director, Staff Engineer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotent, non-destructive, so the safety profile is covered. The description adds real value beyond that: it discloses that the return is a full menu keyed by tool name and that the first call is meant to route the next one. It does not address potential overlap with the sibling get_more_tools, which is a modest gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each earning its place: the first enumerates triggers, the second explains the payload and its routing purpose. Front-loaded with the concrete invocation cases and free of padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description needn't detail return values, and it still briefly characterizes the response as a question-to-tool menu. For a zero-required-parameter router tool, nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'context' parameter is already documented in the schema as optional intent that never changes the answer. The description doesn't add syntax or format meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb+resource: it handles greetings, liveness checks, and general/unmatched messages, and returns a menu of questions mapped to tool names. This clearly distinguishes it from the task-specific siblings like get_one_on_one_playbook or calculate_developer_value, which it implicitly routes to.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit trigger conditions ('hi, hello', connectivity test, 'what can you do', messages too general to match a specific tool) and states the routing role — call this so the next call goes straight to the right tool. That is a clear when-to-use rule that an agent can act on directly.
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.
10 tool updates
- Changed
assess_team_lead_readiness6 fields changed- added
Input schema / properties / answers / additionalProperties / anyOfAdded value: +[ + { + "type": "number" + }, + { + "type": "string" + } +] - removed
Input schema / properties / answers / additionalProperties / maximumRemoved value: -3 - removed
Input schema / properties / answers / additionalProperties / minimumRemoved value: -0 - removed
Input schema / properties / answers / additionalProperties / typeRemoved value: -"integer" - changed
Input schema / properties / context / descriptionPrevious value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer." - removed
Input schema / requiredRemoved value: -[ - "context" -]
- Changed
build_mentoring_business_case32 fields changed- added
Input schema / properties / alternatives / anyOfAdded value: +[ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "string" + } +] - changed
Input schema / properties / alternatives / descriptionPrevious value: -"Alternatives already considered"New value: +"Alternatives already considered One or more of: conference, course, internal_coach." - removed
Input schema / properties / alternatives / itemsRemoved value: -{ - "enum": [ - "conference", - "course", - "internal_coach" - ], - "type": "string" -} - removed
Input schema / properties / alternatives / typeRemoved value: -"array" - added
Input schema / properties / at_risk_attrition / anyOfAdded value: +[ + { + "type": "number" + }, + { + "type": "string" + } +] - removed
Input schema / properties / at_risk_attrition / maximumRemoved value: -5 - removed
Input schema / properties / at_risk_attrition / minimumRemoved value: -0 - removed
Input schema / properties / at_risk_attrition / typeRemoved value: -"integer" - added
Input schema / properties / avg_salary_eur / anyOfAdded value: +[ + { + "type": "number" + }, + { + "type": "string" + } +] - removed
Input schema / properties / avg_salary_eur / typeRemoved value: -"number" - changed
Input schema / properties / context / descriptionPrevious value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer." - added
Input schema / properties / delayed_revenue_eur / anyOfAdded value: +[ + { + "type": "number" + }, + { + "type": "string" + } +] - removed
Input schema / properties / delayed_revenue_eur / typeRemoved value: -"number" - added
Input schema / properties / first_time_in_role / anyOfAdded value: +[ + { + "type": "boolean" + }, + { + "type": "string" + } +] - removed
Input schema / properties / first_time_in_role / typeRemoved value: -"boolean" - changed
Input schema / properties / formality / descriptionPrevious value: -"Czech only: ty (informal, default) or Vy (formal)"New value: +"Czech only: ty (informal, default) or Vy (formal) One of: informal, formal." - removed
Input schema / properties / formality / enumRemoved value: -[ - "informal", - "formal" -] - added
Input schema / properties / kpis / anyOfAdded value: +[ + { + "items": { + "maxLength": 160, + "type": "string" + }, + "type": "array" + }, + { + "maxLength": 160, + "type": "string" + } +] - removed
Input schema / properties / kpis / itemsRemoved value: -{ - "maxLength": 160, - "type": "string" -} - removed
Input schema / properties / kpis / maxItemsRemoved value: -3 - removed
Input schema / properties / kpis / typeRemoved value: -"array" - changed
Input schema / properties / lang / descriptionPrevious value: -"Output language (default en)"New value: +"Output language (default en) One of: en, cs." - removed
Input schema / properties / lang / enumRemoved value: -[ - "en", - "cs" -] - changed
Input schema / properties / role / descriptionPrevious value: -"The mentee's role — sets KPI and example-problem suggestions"New value: +"Required. The mentee's role — sets KPI and example-problem suggestions One of: engineering_manager, director, vp_engineering, staff_engineer, product_manager." - removed
Input schema / properties / role / enumRemoved value: -[ - "engineering_manager", - "director", - "vp_engineering", - "staff_engineer", - "product_manager" -] - changed
Input schema / properties / situation / descriptionPrevious 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"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 One of: ld_budget, no_budget." - removed
Input schema / properties / situation / enumRemoved value: -[ - "ld_budget", - "no_budget" -] - added
Input schema / properties / team_size / anyOfAdded value: +[ + { + "type": "number" + }, + { + "type": "string" + } +] - removed
Input schema / properties / team_size / maximumRemoved value: -5000 - removed
Input schema / properties / team_size / minimumRemoved value: -0 - removed
Input schema / properties / team_size / typeRemoved value: -"integer" - removed
Input schema / requiredRemoved value: -[ - "role", - "context" -]
- Changed
calculate_developer_value8 fields changed- changed
Input schema / properties / context / descriptionPrevious value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer." - changed
Input schema / properties / level / descriptionPrevious value: -"The developer's current (or claimed) level — sets pillar weights and baseline"New value: +"Required. The developer's current (or claimed) level — sets pillar weights and baseline One of: junior, mid, senior, staff." - removed
Input schema / properties / level / enumRemoved value: -[ - "junior", - "mid", - "senior", - "staff" -] - added
Input schema / properties / scores / additionalProperties / anyOfAdded value: +[ + { + "type": "number" + }, + { + "type": "string" + } +] - removed
Input schema / properties / scores / additionalProperties / maximumRemoved value: -10 - removed
Input schema / properties / scores / additionalProperties / minimumRemoved value: -0 - removed
Input schema / properties / scores / additionalProperties / typeRemoved value: -"number" - removed
Input schema / requiredRemoved value: -[ - "level", - "context" -]
- Changed
calculate_engineering_manager_value10 fields changed- changed
Input schema / properties / context / descriptionPrevious value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer." - changed
Input schema / properties / level / descriptionPrevious value: -"The leader's current (or claimed) level — sets pillar weights and baseline (team-lead, em, senior-em, director)"New value: +"Required. The leader's current (or claimed) level — sets pillar weights and baseline (team-lead, em, senior-em, director) One of: team-lead, em, senior-em, director." - removed
Input schema / properties / level / enumRemoved value: -[ - "team-lead", - "em", - "senior-em", - "director" -] - added
Input schema / properties / scores / additionalProperties / anyOfAdded value: +[ + { + "type": "number" + }, + { + "type": "string" + } +] - removed
Input schema / properties / scores / additionalProperties / maximumRemoved value: -10 - removed
Input schema / properties / scores / additionalProperties / minimumRemoved value: -0 - removed
Input schema / properties / scores / additionalProperties / typeRemoved value: -"number" - changed
Input schema / properties / track / descriptionPrevious value: -"Optional context: what kind of teams they lead. Framing only — scoring is weighted by level, identically across tracks (same as the live tool)"New value: +"Optional context: what kind of teams they lead. Framing only — scoring is weighted by level, identically across tracks (same as the live tool) One of: product-teams, platform-infra, data-ml, agency, startup, scaleup." - removed
Input schema / properties / track / enumRemoved value: -[ - "product-teams", - "platform-infra", - "data-ml", - "agency", - "startup", - "scaleup" -] - removed
Input schema / requiredRemoved value: -[ - "level", - "context" -]
- Changed
choose_mentor_coach_or_advisor2 fields changed- changed
Input schema / properties / context / descriptionPrevious value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer." - removed
Input schema / requiredRemoved value: -[ - "context" -]
- Changed
estimate_coaching_cost12 fields changed- changed
Input schema / properties / client_role / descriptionPrevious value: -"The client's role — the same coach charges a VP more than an EM"New value: +"Required. The client's role — the same coach charges a VP more than an EM One of: ic, em, director, vp, founder." - removed
Input schema / properties / client_role / enumRemoved value: -[ - "ic", - "em", - "director", - "vp", - "founder" -] - changed
Input schema / properties / coach_seniority / descriptionPrevious value: -"Coach seniority band: certified (ICF ACC level), experienced (PCC, 10+ yrs), top-tier (MCC / C-suite), practitioner-mentor (has held the client's role)"New value: +"Required. Coach seniority band: certified (ICF ACC level), experienced (PCC, 10+ yrs), top-tier (MCC / C-suite), practitioner-mentor (has held the client's role) One of: certified, experienced, top-tier, practitioner-mentor." - removed
Input schema / properties / coach_seniority / enumRemoved value: -[ - "certified", - "experienced", - "top-tier", - "practitioner-mentor" -] - changed
Input schema / properties / coaching_type / descriptionPrevious value: -"What kind of coaching the client is buying"New value: +"Required. What kind of coaching the client is buying One of: executive, leadership, engineering-leadership, career, life." - removed
Input schema / properties / coaching_type / enumRemoved value: -[ - "executive", - "leadership", - "engineering-leadership", - "career", - "life" -] - changed
Input schema / properties / context / descriptionPrevious value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer." - changed
Input schema / properties / scope / descriptionPrevious value: -"Engagement length (default single-session) — longer commitments carry a 5-20% per-session discount"New value: +"Engagement length (default single-session) — longer commitments carry a 5-20% per-session discount One of: single-session, monthly, quarter, half-year." - removed
Input schema / properties / scope / enumRemoved value: -[ - "single-session", - "monthly", - "quarter", - "half-year" -] - changed
Input schema / properties / territory / descriptionPrevious value: -"Where the coach operates — CEE runs at roughly half of US rates"New value: +"Required. Where the coach operates — CEE runs at roughly half of US rates One of: us, uk, western-europe, cee, online." - removed
Input schema / properties / territory / enumRemoved value: -[ - "us", - "uk", - "western-europe", - "cee", - "online" -] - removed
Input schema / requiredRemoved value: -[ - "coaching_type", - "client_role", - "territory", - "coach_seniority", - "context" -]
- Changed
get_engineering_leadership_benchmarks4 fields changed- changed
Input schema / properties / context / descriptionPrevious value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer." - changed
Input schema / properties / topic / descriptionPrevious value: -"Which benchmark set to return (default: all)"New value: +"Which benchmark set to return (default: all) One of: practice-stats, mentee-mix, topic-demand, team-health-thresholds, all." - removed
Input schema / properties / topic / enumRemoved value: -[ - "practice-stats", - "mentee-mix", - "topic-demand", - "team-health-thresholds", - "all" -] - removed
Input schema / requiredRemoved value: -[ - "context" -]
- Changed
get_first_time_manager_guidance2 fields changed- changed
Input schema / properties / context / descriptionPrevious value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer." - removed
Input schema / requiredRemoved value: -[ - "context" -]
- Changed
get_one_on_one_playbook4 fields changed- changed
Input schema / properties / context / descriptionPrevious value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer." - changed
Input schema / properties / situation / descriptionPrevious value: -"Which 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)"New value: +"Required. Which 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) One of: first-session, underperformance, promotion-to-manager, better-one-on-ones, career-move." - removed
Input schema / properties / situation / enumRemoved value: -[ - "first-session", - "underperformance", - "promotion-to-manager", - "better-one-on-ones", - "career-move" -] - removed
Input schema / requiredRemoved value: -[ - "situation", - "context" -]
- Changed
get_started2 fields changed- changed
Input schema / properties / context / descriptionPrevious value: -"Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""New value: +"Optional. A short description of your goal and why you are calling this tool. Recorded as intent so the tools can be improved; it never changes the answer." - removed
Input schema / requiredRemoved value: -[ - "context" -]
1 tool update
- Changed
get_more_tools2 fields changed- changed
Input schema / properties / context / descriptionPrevious 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'."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'. Omit it for the menu." - removed
Input schema / requiredRemoved value: -[ - "context" -]
1 tool update
- Changed
get_more_tools2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / context / descriptionPrevious 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'."
1 tool update
- Added
get_started
1 tool update
- Changed
build_mentoring_business_case1 field changed- changed
Input schema / properties / situation / descriptionPrevious 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"
10 tool updates
- Changed
assess_team_lead_readiness2 fields changed- added
Input schema / properties / contextAdded 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" +} - added
Input schema / requiredAdded value: +[ + "context" +]
- Changed
build_mentoring_business_case2 fields changed- added
Input schema / properties / contextAdded 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" +} - changed
Input schema / requiredPrevious value: -[ - "role" -]New value: +[ + "role", + "context" +]
- Changed
calculate_developer_value2 fields changed- added
Input schema / properties / contextAdded 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" +} - changed
Input schema / requiredPrevious value: -[ - "level" -]New value: +[ + "level", + "context" +]
- Changed
calculate_engineering_manager_value2 fields changed- added
Input schema / properties / contextAdded 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" +} - changed
Input schema / requiredPrevious value: -[ - "level" -]New value: +[ + "level", + "context" +]
- Changed
choose_mentor_coach_or_advisor2 fields changed- added
Input schema / properties / contextAdded 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" +} - added
Input schema / requiredAdded value: +[ + "context" +]
- Changed
estimate_coaching_cost2 fields changed- added
Input schema / properties / contextAdded 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" +} - changed
Input schema / requiredPrevious value: -[ - "coaching_type", - "client_role", - "territory", - "coach_seniority" -]New value: +[ + "coaching_type", + "client_role", + "territory", + "coach_seniority", + "context" +]
- Changed
get_engineering_leadership_benchmarks2 fields changed- added
Input schema / properties / contextAdded 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" +} - added
Input schema / requiredAdded value: +[ + "context" +]
- Changed
get_first_time_manager_guidance2 fields changed- added
Input schema / properties / contextAdded 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" +} - added
Input schema / requiredAdded value: +[ + "context" +]
- Added
get_more_tools - Changed
get_one_on_one_playbook2 fields changed- added
Input schema / properties / contextAdded 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" +} - changed
Input schema / requiredPrevious value: -[ - "situation" -]New value: +[ + "situation", + "context" +]
9 tool updates
- Changed
assess_team_lead_readiness9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded 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" +} - added
Output schema / properties / mathAdded 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" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded 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" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded 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" +} - added
Output schema / properties / workedExamplesAdded 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" +}
- Changed
build_mentoring_business_case32 fields changed- added
Input schema / properties / alternativesAdded value: +{ + "description": "Alternatives already considered", + "items": { + "enum": [ + "conference", + "course", + "internal_coach" + ], + "type": "string" + }, + "type": "array" +} - changed
Input schema / properties / at_risk_attrition / descriptionPrevious 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" - added
Input schema / properties / at_risk_attrition / maximumAdded value: +5 - added
Input schema / properties / at_risk_attrition / minimumAdded value: +0 - changed
Input schema / properties / at_risk_attrition / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / avg_salary_eur / descriptionPrevious 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" - added
Input schema / properties / companyAdded value: +{ + "description": "Company name, for the invoice line", + "maxLength": 120, + "type": "string" +} - added
Input schema / properties / decide_byAdded value: +{ + "description": "Decision date, free text (e.g. 'Friday 22 Aug')", + "maxLength": 60, + "type": "string" +} - changed
Input schema / properties / delayed_revenue_eur / descriptionPrevious 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" - added
Input schema / properties / first_time_in_roleAdded value: +{ + "description": "First time in this role? Adds the first-time-manager evidence", + "type": "boolean" +} - added
Input schema / properties / formalityAdded value: +{ + "description": "Czech only: ty (informal, default) or Vy (formal)", + "enum": [ + "informal", + "formal" + ], + "type": "string" +} - added
Input schema / properties / kpisAdded value: +{ + "description": "1–3 measurable 90-day targets; default = the role's suggestions", + "items": { + "maxLength": 160, + "type": "string" + }, + "maxItems": 3, + "type": "array" +} - added
Input schema / properties / langAdded value: +{ + "description": "Output language (default en)", + "enum": [ + "en", + "cs" + ], + "type": "string" +} - added
Input schema / properties / manager_nameAdded value: +{ + "description": "The manager's first name", + "maxLength": 80, + "type": "string" +} - changed
Input schema / properties / problem / descriptionPrevious 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" - added
Input schema / properties / problem / maxLengthAdded value: +400 - changed
Input schema / properties / role / descriptionPrevious value: -"The mentee's role — sets the suggested KPIs"New value: +"The mentee's role — sets KPI and example-problem suggestions" - added
Input schema / properties / situationAdded 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" +} - changed
Input schema / properties / team_size / descriptionPrevious value: -"Number of engineers in the team/org affected"New value: +"Team size, context for the one-pager (and the legacy team-lift line)" - added
Input schema / properties / team_size / maximumAdded value: +5000 - added
Input schema / properties / team_size / minimumAdded value: +0 - changed
Input schema / properties / team_size / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / your_nameAdded value: +{ + "description": "The mentee's first name (signs the email)", + "maxLength": 80, + "type": "string" +} - added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded 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" +} - added
Output schema / properties / mathAdded 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" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded 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" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded 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" +} - added
Output schema / properties / workedExamplesAdded 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" +}
- Changed
calculate_developer_value9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded 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" +} - added
Output schema / properties / mathAdded 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" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded 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" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded 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" +} - added
Output schema / properties / workedExamplesAdded 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" +}
- Changed
calculate_engineering_manager_value9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded 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" +} - added
Output schema / properties / mathAdded 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" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded 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" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded 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" +} - added
Output schema / properties / workedExamplesAdded 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" +}
- Changed
choose_mentor_coach_or_advisor9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded 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" +} - added
Output schema / properties / mathAdded 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" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded 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" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded 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" +} - added
Output schema / properties / workedExamplesAdded 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" +}
- Changed
estimate_coaching_cost9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded 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" +} - added
Output schema / properties / mathAdded 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" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded 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" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded 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" +} - added
Output schema / properties / workedExamplesAdded 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" +}
- Changed
get_engineering_leadership_benchmarks9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded 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" +} - added
Output schema / properties / mathAdded 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" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded 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" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded 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" +} - added
Output schema / properties / workedExamplesAdded 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" +}
- Changed
get_first_time_manager_guidance9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded 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" +} - added
Output schema / properties / mathAdded 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" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded 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" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded 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" +} - added
Output schema / properties / workedExamplesAdded 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" +}
- Changed
get_one_on_one_playbook9 fields changed- added
Output schema / properties / emailAdded value: +{ + "additionalProperties": false, + "description": "Forwardable email to the manager.", + "properties": { + "body": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "required": [ + "subject", + "body" + ], + "type": "object" +} - added
Output schema / properties / evidenceAdded 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" +} - added
Output schema / properties / mathAdded 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" +} - added
Output schema / properties / objectionsAdded value: +{ + "description": "The usual objections, answered.", + "items": { + "additionalProperties": false, + "properties": { + "answer": { + "type": "string" + }, + "objection": { + "type": "string" + } + }, + "required": [ + "objection", + "answer" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / onePagerAdded 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" +} - added
Output schema / properties / slackShortAdded value: +{ + "description": "Slack/Teams-length version of the ask.", + "type": "string" +} - added
Output schema / properties / talkingPointsAdded value: +{ + "description": "Five talking points for the conversation.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / valueFormulaAdded 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" +} - added
Output schema / properties / workedExamplesAdded 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" +}
2 tool updates
- Added
build_mentoring_business_case - Removed
mentoring_business_case
9 tool updates
- Changed
assess_team_lead_readiness1 field changed- changed
Output 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" +}
- Changed
calculate_developer_value1 field changed- changed
Output 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" +}
- Changed
calculate_engineering_manager_value1 field changed- changed
Output 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" +}
- Changed
choose_mentor_coach_or_advisor1 field changed- changed
Output 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" +}
- Changed
estimate_coaching_cost1 field changed- changed
Output 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" +}
- Changed
get_engineering_leadership_benchmarks1 field changed- changed
Output 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" +}
- Changed
get_first_time_manager_guidance1 field changed- changed
Output 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" +}
- Changed
get_one_on_one_playbook1 field changed- changed
Output 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" +}
- Changed
mentoring_business_case1 field changed- changed
Output 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" +}
1 tool update
- Added
estimate_coaching_cost
2 tool updates
- Added
assess_team_lead_readiness - Added
calculate_engineering_manager_value
1 tool update
- Added
mentoring_business_case
5 tool updates
- First observed
calculate_developer_value - First observed
choose_mentor_coach_or_advisor - First observed
get_engineering_leadership_benchmarks - First observed
get_first_time_manager_guidance - First observed
get_one_on_one_playbook
Related MCP Connectors
Generate answers & visualizations from your engineering data to track software development health.
Your team's shipping standards, org map and delivery metrics, inside your coding agent.
Leadership-ratio benchmark, partnership ROI builder, community-launch readiness test. ELC data.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceConnect 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
- AlicenseAqualityAmaintenanceStartup 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.81355MIT
- AlicenseNot gradedqualityBmaintenanceEnables 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
- FlicenseNot gradedqualityDmaintenanceEnforces 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.-
Glama MCP Gateway
Add one secure layer between your agents and this server.