eng-leadership-toolkit
Server Details
Engineering leadership benchmarks, 1:1 playbooks, developer value calculator. 3,662 sessions.
- Status
- Healthy
- Uptime
- 99.9% over 75 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- 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 questions (readiness, business case, dev vs EM value, mentor/coach choice, cost, benchmarks, 1:1 playbook). However, get_started and get_more_tools are near-duplicates: both claim the greeting/general-message/liveness trigger and both return the same full menu, creating a genuine misselection risk. assess_team_lead_readiness and get_first_time_manager_guidance also lightly overlap around the IC→manager transition but remain distinguishable.
Every tool follows a clean verb_noun snake_case pattern (assess_, build_, calculate_, choose_, estimate_, get_). The convention is applied uniformly with no camelCase or stylistic mixing, so the action and target are predictable from the name alone.
Eleven tools sit comfortably in the well-scoped 3-15 range for a leadership mentoring/coaching knowledge server. Each tool maps to a distinct practitioner question, and none feel like filler beyond the redundant greeting pair.
The surface covers the domain well: readiness, transition guidance, both value calculators, mentor/coach/advisor selection, cost estimation, benchmarks, and 1:1 scripts. Minor gaps exist (e.g., no dedicated team-health or org-diagnostic tool despite benchmarks referencing team-health thresholds), 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,662 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, and non-destructive, so safety is covered. The description adds useful behavioral context beyond that: provenance (3,662 sessions), the two-mode behavior, and the guarantee that the context parameter 'never changes the answer.' It doesn't need to detail return values since an output schema exists.
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?
Content is front-loaded with the purpose and verdict structure, and every sentence carries information. It is slightly dense with parenthetical lists, but no sentence is wasted.
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 two-parameter assessment tool with a full output schema, the description covers purpose, both invocation modes, and the shape of the result. Given the output schema handles return values, this is essentially complete, with only minor elaboration possible.
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 baseline is 3. The description adds meaning beyond the schema by clarifying the two-mode interaction (omit answers for questionnaire, supply all 17 for verdict), which is a usage nuance the property schemas do 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?
The description states a specific verb (assess/answers) and resource (team lead readiness via a 17-question test), plus the exact deliverable: a verdict in one of three named bands and top-2 gap dimensions. It is clearly distinguishable from siblings like get_first_time_manager_guidance or calculate_engineering_manager_value.
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 conditional usage: 'Call without answers to get the questionnaire; call with all 17 answers to get the verdict.' This tells the agent exactly how to invoke the tool in each state, leaving nothing to inference.
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,662 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?
With readOnly/idempotent/non-destructive hints already covering the safety profile, the description adds genuine behavioral context: personalization to the caller's inputs, an explicit anti-fabrication guarantee ('a missing problem renders as a visible bracket, never an invented one'), and language/formality variants. It does not disclose latency or cost, but that is minor against the hint coverage.
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, but the single run-on sentence exhaustively enumerates every deliverable (worked examples, Slack version, five talking points, one-pager, five objections), much of which duplicates the existing output schema. Every clause is on-topic, yet the result is a dense marketing-style wall rather than a tight spec.
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, all-optional generator with an output schema present, the description supplies the domain framing, the budget/no-budget branching logic, language handling, and the input-fidelity guarantee — enough for an agent to invoke it correctly without relying on return-value narration.
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 all 17 parameters including the situation and formality enums and even the legacy/optional flags. The description reinforces the price/mechanics behind situation (1,975 EUR quarter vs 395 EUR pilot) and ties napkin math to at-risk headcount, but adds little syntax or format detail the schema lacks — 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?
Opens with a specific verb and outcome — 'Build the case that gets your company to pay for leadership mentoring' — and enumerates the concrete artifacts produced (value formula, napkin math, manager email, one-pager, objection answers). This is clearly distinguishable from cost calculators like estimate_coaching_cost or calculate_developer_value.
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 only implied: you would call this when you need to justify mentoring spend internally. There is no explicit when-to-use/when-not statement and no routing to sibling tools (e.g., estimate_coaching_cost for raw pricing, calculate_developer_value for value math). The two branch variants (ld_budget vs no_budget) are described, but that is parameter behavior, not tool selection guidance.
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,662 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 readOnly, idempotent, and non-destructive, so the safety profile is covered. The description adds provenance (3,662 mentoring sessions) and the existence of a three-question self-test, but says nothing about the shape of the output or how the recommendation is presented. Adequate given annotation coverage, 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 decision verb, then a compact list of the factors covered. One dense sentence that earns most of its words, though the trailing provenance clause is slightly decorative.
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 annotation coverage, the description only needs to convey scope and content, which it does by naming the criteria and the self-test. Nothing essential for a correct invocation 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 schema itself explains both optional parameters, including that 'context' is intent-only and never changes the answer. The description's mention that the self-test 'maps' the situation adds little beyond what the schema description already states, so it sits at the 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?
States a specific verb (decide) and a specific resource (mentor vs coach vs advisor for an engineering leader), and enumerates the dimensions the decision covers. It is clearly distinguishable from siblings like estimate_coaching_cost 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?
Makes the triggering context explicit: an engineering leader choosing between three kinds of support, with the criteria (domain experience, time horizon, typical question) that drive the choice. It does not name alternative tools or state when-not-to-use, so it stops short of a 5.
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,662 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 establish the safe read-only, idempotent, non-destructive profile, so the description correctly focuses on other context: the data is first-party, sourced from 3,662 sessions with 300+ leaders since 2019, and licensed CC BY 4.0 for citation. It does not discuss recency guarantees or whether the underlying dataset updates, which is the only meaningful remaining gap for a static dataset.
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?
One dense sentence followed by a short provenance/licensing tagline. It is front-loaded with what is returned, though the enumeration is packed tightly enough that the individual datasets are easy to skim past.
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 100% parameter coverage, the description only needs to justify existence and trust, which the sample size, source, and license do well. The one shortfall is that it never tells an agent when this tool is the right choice over its advisory siblings.
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 baseline is 3. The description's list of benchmark sets (mentee mix, topic demand, team-health thresholds, practice stats) loosely mirrors the 'topic' parameter's allowed values, adding mild reinforcement but no format or default details beyond the schema.
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 names the specific resource (first-party benchmarks from 3,662 paid mentoring sessions) and enumerates the concrete datasets returned: mentee seniority mix, topic demand, time-to-results, team-health thresholds, practice outcome stats. An agent can tell this is a data-retrieval tool versus the advisory siblings, though it never explicitly contrasts itself with 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?
There is no statement of when to use this versus alternatives such as build_mentoring_business_case or get_one_on_one_playbook. 'Citable' hints that it is for citation in documents, but this is inference rather than 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.
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,662 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, non-destructive and closed-world, so the safety profile is fully covered. The description adds useful content context (real templates from 3,662 sessions, template-oriented output) but discloses no behavioral traits such as response size or how the context field is handled.
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 with no filler; the resource and its coverage are front-loaded before the provenance detail. The long situation list is slightly list-heavy but each item earns its place.
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, the description need not explain return values, and 100% schema coverage plus full safety annotations cover the structured fields. The only remaining gap is sibling differentiation, which is not addressed.
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 documents both parameters, including the enum-like list of situations. The description restates the same situation labels with near-identical parentheticals, adding little beyond what the input schema provides, so the baseline 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 resource (situation-specific 1:1 scripts and templates) and enumerates the exact situations covered, so an agent knows what will be returned. It does not differentiate from siblings like get_first_time_manager_guidance, which overlaps thematically, so it stops short of a 5.
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 only through the enumeration of situations (first session, underperformance, promotion, status-update 1:1s, career move). There is no explicit when-to-use statement and no guidance on choosing this over the related sibling tools, leaving the agent to infer invocation conditions.
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
- engmanOAuthcom.engmanapp
1:1s, feedback and career plans for the people engineering leaders manage.
116 marketing, RevOps and SaaS calculators with benchmarks, guided reviews, content search, booking.
Generate answers & visualizations from your engineering data to track software development health.
Leadership-ratio benchmark, partnership ROI builder, community-launch readiness test. ELC data.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceMCP server providing engineering leadership benchmarks, partnership business case generation, and community launch readiness checks using real data from the Engineering Leaders Community.MIT
- AlicenseAqualityCmaintenanceEnables engineering leaders to query their AI assistant for quality KPIs — MTTR, MTTA, DORA metrics, defect escape rate and SLA breaches — computed from Jira bug, incident and deployment CSV exports already on hand. It delivers trends, period comparisons, hotspot findings and ready-to-share executive summaries and HTML dashboards without a BI stack or data warehouse.10MIT
- AlicenseAqualityBmaintenanceStartup 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.8159 npm6MIT
- 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
Glama MCP Gateway
Add one secure layer between your agents and this server.