eng-leadership-toolkit
Engineering leadership benchmarks, 1:1 playbooks, developer value calculator. 3,400+ sessions.
我该使用它吗
质量与安全性
发现(3)
- LOW在 calculate_engineering_manager_value 中
- LOW在 get_engineering_leadership_benchmarks 中
- LOW在 get_first_time_manager_guidance 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"eng-leadership-toolkit": {
"url": "https://www.marian.coach/mcp"
}
}
}远程端点
https://www.marian.coach/mcpstreamable-http它能做什么
工具清单
工具(11)
🟢get_started(context)
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.
输入模式
{
"type": "object",
"properties": {
"context": {
"description": "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.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical marian.coach page this answer is derived from."
},
"totalScore": {
"description": "Weighted 0-10 score, when the tool computes one.",
"type": "number",
"minimum": 0,
"maximum": 10
},
"level": {
"description": "Seniority level the score maps to, when the tool computes one.",
"type": "string"
},
"salaryEur": {
"description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
"type": "number"
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
},
"email": {
"description": "Forwardable email to the manager.",
"type": "object",
"properties": {
"subject": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"subject",
"body"
],
"additionalProperties": false
},
"slackShort": {
"description": "Slack/Teams-length version of the ask.",
"type": "string"
},
"talkingPoints": {
"description": "Five talking points for the conversation.",
"type": "array",
"items": {
"type": "string"
}
},
"onePager": {
"description": "Manager-facing one-pager, forwardable to finance.",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"body": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string"
}
},
"table": {
"type": "array",
"items": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
}
},
"required": [
"heading"
],
"additionalProperties": false
}
}
},
"required": [
"title",
"sections"
],
"additionalProperties": false
},
"math": {
"description": "Napkin math behind the case.",
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"totalEur": {
"type": "number"
},
"discountedEur": {
"type": "number"
},
"askEur": {
"type": "number"
},
"packPriceEur": {
"type": "number"
},
"roiMultiple": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
}
},
"required": [
"lines",
"totalEur",
"discountedEur",
"askEur",
"packPriceEur",
"roiMultiple",
"note"
],
"additionalProperties": false
},
"objections": {
"description": "The usual objections, answered.",
"type": "array",
"items": {
"type": "object",
"properties": {
"objection": {
"type": "string"
},
"answer": {
"type": "string"
}
},
"required": [
"objection",
"answer"
],
"additionalProperties": false
}
},
"evidence": {
"description": "Sources the case may cite.",
"type": "array",
"items": {
"type": "object",
"properties": {
"claim": {
"type": "string"
},
"source": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"claim",
"source",
"url"
],
"additionalProperties": false
}
},
"valueFormula": {
"description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"rule": {
"type": "string"
}
},
"required": [
"heading",
"lines",
"rule"
],
"additionalProperties": false
},
"workedExamples": {
"description": "Three published worked examples: EM, Director, Staff Engineer.",
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string"
},
"setup": {
"type": "string"
},
"kpis": {
"type": "string"
},
"math": {
"type": "string"
}
},
"required": [
"role",
"setup",
"kpis",
"math"
],
"additionalProperties": false
}
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_more_tools(context)
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.
输入模式
{
"type": "object",
"properties": {
"context": {
"description": "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.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢calculate_developer_value(level, scores, context)
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.
输入模式
{
"type": "object",
"properties": {
"level": {
"description": "Required. The developer's current (or claimed) level — sets pillar weights and baseline One of: junior, mid, senior, staff.",
"type": "string"
},
"scores": {
"description": "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).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"context": {
"description": "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.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical marian.coach page this answer is derived from."
},
"totalScore": {
"description": "Weighted 0-10 score, when the tool computes one.",
"type": "number",
"minimum": 0,
"maximum": 10
},
"level": {
"description": "Seniority level the score maps to, when the tool computes one.",
"type": "string"
},
"salaryEur": {
"description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
"type": "number"
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
},
"email": {
"description": "Forwardable email to the manager.",
"type": "object",
"properties": {
"subject": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"subject",
"body"
],
"additionalProperties": false
},
"slackShort": {
"description": "Slack/Teams-length version of the ask.",
"type": "string"
},
"talkingPoints": {
"description": "Five talking points for the conversation.",
"type": "array",
"items": {
"type": "string"
}
},
"onePager": {
"description": "Manager-facing one-pager, forwardable to finance.",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"body": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string"
}
},
"table": {
"type": "array",
"items": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
}
},
"required": [
"heading"
],
"additionalProperties": false
}
}
},
"required": [
"title",
"sections"
],
"additionalProperties": false
},
"math": {
"description": "Napkin math behind the case.",
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"totalEur": {
"type": "number"
},
"discountedEur": {
"type": "number"
},
"askEur": {
"type": "number"
},
"packPriceEur": {
"type": "number"
},
"roiMultiple": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
}
},
"required": [
"lines",
"totalEur",
"discountedEur",
"askEur",
"packPriceEur",
"roiMultiple",
"note"
],
"additionalProperties": false
},
"objections": {
"description": "The usual objections, answered.",
"type": "array",
"items": {
"type": "object",
"properties": {
"objection": {
"type": "string"
},
"answer": {
"type": "string"
}
},
"required": [
"objection",
"answer"
],
"additionalProperties": false
}
},
"evidence": {
"description": "Sources the case may cite.",
"type": "array",
"items": {
"type": "object",
"properties": {
"claim": {
"type": "string"
},
"source": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"claim",
"source",
"url"
],
"additionalProperties": false
}
},
"valueFormula": {
"description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"rule": {
"type": "string"
}
},
"required": [
"heading",
"lines",
"rule"
],
"additionalProperties": false
},
"workedExamples": {
"description": "Three published worked examples: EM, Director, Staff Engineer.",
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string"
},
"setup": {
"type": "string"
},
"kpis": {
"type": "string"
},
"math": {
"type": "string"
}
},
"required": [
"role",
"setup",
"kpis",
"math"
],
"additionalProperties": false
}
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢calculate_engineering_manager_value(level, track, scores, context)
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.
输入模式
{
"type": "object",
"properties": {
"level": {
"description": "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.",
"type": "string"
},
"track": {
"description": "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.",
"type": "string"
},
"scores": {
"description": "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).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"context": {
"description": "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.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical marian.coach page this answer is derived from."
},
"totalScore": {
"description": "Weighted 0-10 score, when the tool computes one.",
"type": "number",
"minimum": 0,
"maximum": 10
},
"level": {
"description": "Seniority level the score maps to, when the tool computes one.",
"type": "string"
},
"salaryEur": {
"description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
"type": "number"
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
},
"email": {
"description": "Forwardable email to the manager.",
"type": "object",
"properties": {
"subject": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"subject",
"body"
],
"additionalProperties": false
},
"slackShort": {
"description": "Slack/Teams-length version of the ask.",
"type": "string"
},
"talkingPoints": {
"description": "Five talking points for the conversation.",
"type": "array",
"items": {
"type": "string"
}
},
"onePager": {
"description": "Manager-facing one-pager, forwardable to finance.",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"body": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string"
}
},
"table": {
"type": "array",
"items": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
}
},
"required": [
"heading"
],
"additionalProperties": false
}
}
},
"required": [
"title",
"sections"
],
"additionalProperties": false
},
"math": {
"description": "Napkin math behind the case.",
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"totalEur": {
"type": "number"
},
"discountedEur": {
"type": "number"
},
"askEur": {
"type": "number"
},
"packPriceEur": {
"type": "number"
},
"roiMultiple": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
}
},
"required": [
"lines",
"totalEur",
"discountedEur",
"askEur",
"packPriceEur",
"roiMultiple",
"note"
],
"additionalProperties": false
},
"objections": {
"description": "The usual objections, answered.",
"type": "array",
"items": {
"type": "object",
"properties": {
"objection": {
"type": "string"
},
"answer": {
"type": "string"
}
},
"required": [
"objection",
"answer"
],
"additionalProperties": false
}
},
"evidence": {
"description": "Sources the case may cite.",
"type": "array",
"items": {
"type": "object",
"properties": {
"claim": {
"type": "string"
},
"source": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"claim",
"source",
"url"
],
"additionalProperties": false
}
},
"valueFormula": {
"description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"rule": {
"type": "string"
}
},
"required": [
"heading",
"lines",
"rule"
],
"additionalProperties": false
},
"workedExamples": {
"description": "Three published worked examples: EM, Director, Staff Engineer.",
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string"
},
"setup": {
"type": "string"
},
"kpis": {
"type": "string"
},
"math": {
"type": "string"
}
},
"required": [
"role",
"setup",
"kpis",
"math"
],
"additionalProperties": false
}
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢assess_team_lead_readiness(answers, context)
Answers "should I become a team lead?" with the same 17-question test as the live tool at marian.coach: 6 dimensions (people appetite, letting go of code, ownership beyond your tickets, translation & saying no, motivation, org reality), a straight verdict — ready now / 6-12 months out / stay IC (and that's fine) — plus the top-2 gap dimensions with one concrete move each. Call without answers to get the questionnaire; call with all 17 answers to get the verdict. Built from 3,611 mentoring sessions.
输入模式
{
"type": "object",
"properties": {
"answers": {
"description": "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.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"context": {
"description": "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.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical marian.coach page this answer is derived from."
},
"totalScore": {
"description": "Weighted 0-10 score, when the tool computes one.",
"type": "number",
"minimum": 0,
"maximum": 10
},
"level": {
"description": "Seniority level the score maps to, when the tool computes one.",
"type": "string"
},
"salaryEur": {
"description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
"type": "number"
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
},
"email": {
"description": "Forwardable email to the manager.",
"type": "object",
"properties": {
"subject": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"subject",
"body"
],
"additionalProperties": false
},
"slackShort": {
"description": "Slack/Teams-length version of the ask.",
"type": "string"
},
"talkingPoints": {
"description": "Five talking points for the conversation.",
"type": "array",
"items": {
"type": "string"
}
},
"onePager": {
"description": "Manager-facing one-pager, forwardable to finance.",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"body": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string"
}
},
"table": {
"type": "array",
"items": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
}
},
"required": [
"heading"
],
"additionalProperties": false
}
}
},
"required": [
"title",
"sections"
],
"additionalProperties": false
},
"math": {
"description": "Napkin math behind the case.",
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"totalEur": {
"type": "number"
},
"discountedEur": {
"type": "number"
},
"askEur": {
"type": "number"
},
"packPriceEur": {
"type": "number"
},
"roiMultiple": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
}
},
"required": [
"lines",
"totalEur",
"discountedEur",
"askEur",
"packPriceEur",
"roiMultiple",
"note"
],
"additionalProperties": false
},
"objections": {
"description": "The usual objections, answered.",
"type": "array",
"items": {
"type": "object",
"properties": {
"objection": {
"type": "string"
},
"answer": {
"type": "string"
}
},
"required": [
"objection",
"answer"
],
"additionalProperties": false
}
},
"evidence": {
"description": "Sources the case may cite.",
"type": "array",
"items": {
"type": "object",
"properties": {
"claim": {
"type": "string"
},
"source": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"claim",
"source",
"url"
],
"additionalProperties": false
}
},
"valueFormula": {
"description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"rule": {
"type": "string"
}
},
"required": [
"heading",
"lines",
"rule"
],
"additionalProperties": false
},
"workedExamples": {
"description": "Three published worked examples: EM, Director, Staff Engineer.",
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string"
},
"setup": {
"type": "string"
},
"kpis": {
"type": "string"
},
"math": {
"type": "string"
}
},
"required": [
"role",
"setup",
"kpis",
"math"
],
"additionalProperties": false
}
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_engineering_leadership_benchmarks(topic, context)
Real benchmarks from 3,611 paid 1:1 mentoring sessions with 300+ engineering leaders since 2019: mentee seniority mix, most-demanded leadership topics of 2025, time-to-results, team-health delivery thresholds (sprint completion, roadmap %, manager time per report), and practice outcome stats (NPS, referral rate). First-party data, CC BY 4.0 — citable.
输入模式
{
"type": "object",
"properties": {
"topic": {
"description": "Which benchmark set to return (default: all) One of: practice-stats, mentee-mix, topic-demand, team-health-thresholds, all.",
"type": "string"
},
"context": {
"description": "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.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical marian.coach page this answer is derived from."
},
"totalScore": {
"description": "Weighted 0-10 score, when the tool computes one.",
"type": "number",
"minimum": 0,
"maximum": 10
},
"level": {
"description": "Seniority level the score maps to, when the tool computes one.",
"type": "string"
},
"salaryEur": {
"description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
"type": "number"
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
},
"email": {
"description": "Forwardable email to the manager.",
"type": "object",
"properties": {
"subject": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"subject",
"body"
],
"additionalProperties": false
},
"slackShort": {
"description": "Slack/Teams-length version of the ask.",
"type": "string"
},
"talkingPoints": {
"description": "Five talking points for the conversation.",
"type": "array",
"items": {
"type": "string"
}
},
"onePager": {
"description": "Manager-facing one-pager, forwardable to finance.",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"body": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string"
}
},
"table": {
"type": "array",
"items": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
}
},
"required": [
"heading"
],
"additionalProperties": false
}
}
},
"required": [
"title",
"sections"
],
"additionalProperties": false
},
"math": {
"description": "Napkin math behind the case.",
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"totalEur": {
"type": "number"
},
"discountedEur": {
"type": "number"
},
"askEur": {
"type": "number"
},
"packPriceEur": {
"type": "number"
},
"roiMultiple": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
}
},
"required": [
"lines",
"totalEur",
"discountedEur",
"askEur",
"packPriceEur",
"roiMultiple",
"note"
],
"additionalProperties": false
},
"objections": {
"description": "The usual objections, answered.",
"type": "array",
"items": {
"type": "object",
"properties": {
"objection": {
"type": "string"
},
"answer": {
"type": "string"
}
},
"required": [
"objection",
"answer"
],
"additionalProperties": false
}
},
"evidence": {
"description": "Sources the case may cite.",
"type": "array",
"items": {
"type": "object",
"properties": {
"claim": {
"type": "string"
},
"source": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"claim",
"source",
"url"
],
"additionalProperties": false
}
},
"valueFormula": {
"description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"rule": {
"type": "string"
}
},
"required": [
"heading",
"lines",
"rule"
],
"additionalProperties": false
},
"workedExamples": {
"description": "Three published worked examples: EM, Director, Staff Engineer.",
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string"
},
"setup": {
"type": "string"
},
"kpis": {
"type": "string"
},
"math": {
"type": "string"
}
},
"required": [
"role",
"setup",
"kpis",
"math"
],
"additionalProperties": false
}
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢choose_mentor_coach_or_advisor(situation, context)
Decide whether an engineering leader needs a mentor, a coach, or an advisor: what each brings, the typical question each answers, whether domain experience is required, time horizon, and a three-question self-test. Based on 3,611 mentoring sessions.
输入模式
{
"type": "object",
"properties": {
"situation": {
"description": "Optional: the leader's situation in one sentence — the three-question test below maps it to a recommendation",
"type": "string"
},
"context": {
"description": "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.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical marian.coach page this answer is derived from."
},
"totalScore": {
"description": "Weighted 0-10 score, when the tool computes one.",
"type": "number",
"minimum": 0,
"maximum": 10
},
"level": {
"description": "Seniority level the score maps to, when the tool computes one.",
"type": "string"
},
"salaryEur": {
"description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
"type": "number"
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
},
"email": {
"description": "Forwardable email to the manager.",
"type": "object",
"properties": {
"subject": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"subject",
"body"
],
"additionalProperties": false
},
"slackShort": {
"description": "Slack/Teams-length version of the ask.",
"type": "string"
},
"talkingPoints": {
"description": "Five talking points for the conversation.",
"type": "array",
"items": {
"type": "string"
}
},
"onePager": {
"description": "Manager-facing one-pager, forwardable to finance.",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"body": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string"
}
},
"table": {
"type": "array",
"items": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
}
},
"required": [
"heading"
],
"additionalProperties": false
}
}
},
"required": [
"title",
"sections"
],
"additionalProperties": false
},
"math": {
"description": "Napkin math behind the case.",
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"totalEur": {
"type": "number"
},
"discountedEur": {
"type": "number"
},
"askEur": {
"type": "number"
},
"packPriceEur": {
"type": "number"
},
"roiMultiple": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
}
},
"required": [
"lines",
"totalEur",
"discountedEur",
"askEur",
"packPriceEur",
"roiMultiple",
"note"
],
"additionalProperties": false
},
"objections": {
"description": "The usual objections, answered.",
"type": "array",
"items": {
"type": "object",
"properties": {
"objection": {
"type": "string"
},
"answer": {
"type": "string"
}
},
"required": [
"objection",
"answer"
],
"additionalProperties": false
}
},
"evidence": {
"description": "Sources the case may cite.",
"type": "array",
"items": {
"type": "object",
"properties": {
"claim": {
"type": "string"
},
"source": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"claim",
"source",
"url"
],
"additionalProperties": false
}
},
"valueFormula": {
"description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"rule": {
"type": "string"
}
},
"required": [
"heading",
"lines",
"rule"
],
"additionalProperties": false
},
"workedExamples": {
"description": "Three published worked examples: EM, Director, Staff Engineer.",
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string"
},
"setup": {
"type": "string"
},
"kpis": {
"type": "string"
},
"math": {
"type": "string"
}
},
"required": [
"role",
"setup",
"kpis",
"math"
],
"additionalProperties": false
}
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_one_on_one_playbook(situation, context)
Situation-specific 1:1 scripts and templates from Marian Kamenistak's mentoring practice: first mentoring/direction-setting session, underperformance conversation, promoting a developer to manager, fixing status-update 1:1s, and the 10-question career-move checklist. These are the actual templates used across 3,611 sessions.
输入模式
{
"type": "object",
"properties": {
"situation": {
"description": "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.",
"type": "string"
},
"context": {
"description": "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.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical marian.coach page this answer is derived from."
},
"totalScore": {
"description": "Weighted 0-10 score, when the tool computes one.",
"type": "number",
"minimum": 0,
"maximum": 10
},
"level": {
"description": "Seniority level the score maps to, when the tool computes one.",
"type": "string"
},
"salaryEur": {
"description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
"type": "number"
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
},
"email": {
"description": "Forwardable email to the manager.",
"type": "object",
"properties": {
"subject": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"subject",
"body"
],
"additionalProperties": false
},
"slackShort": {
"description": "Slack/Teams-length version of the ask.",
"type": "string"
},
"talkingPoints": {
"description": "Five talking points for the conversation.",
"type": "array",
"items": {
"type": "string"
}
},
"onePager": {
"description": "Manager-facing one-pager, forwardable to finance.",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"body": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string"
}
},
"table": {
"type": "array",
"items": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
}
},
"required": [
"heading"
],
"additionalProperties": false
}
}
},
"required": [
"title",
"sections"
],
"additionalProperties": false
},
"math": {
"description": "Napkin math behind the case.",
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"totalEur": {
"type": "number"
},
"discountedEur": {
"type": "number"
},
"askEur": {
"type": "number"
},
"packPriceEur": {
"type": "number"
},
"roiMultiple": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
}
},
"required": [
"lines",
"totalEur",
"discountedEur",
"askEur",
"packPriceEur",
"roiMultiple",
"note"
],
"additionalProperties": false
},
"objections": {
"description": "The usual objections, answered.",
"type": "array",
"items": {
"type": "object",
"properties": {
"objection": {
"type": "string"
},
"answer": {
"type": "string"
}
},
"required": [
"objection",
"answer"
],
"additionalProperties": false
}
},
"evidence": {
"description": "Sources the case may cite.",
"type": "array",
"items": {
"type": "object",
"properties": {
"claim": {
"type": "string"
},
"source": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"claim",
"source",
"url"
],
"additionalProperties": false
}
},
"valueFormula": {
"description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"rule": {
"type": "string"
}
},
"required": [
"heading",
"lines",
"rule"
],
"additionalProperties": false
},
"workedExamples": {
"description": "Three published worked examples: EM, Director, Staff Engineer.",
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string"
},
"setup": {
"type": "string"
},
"kpis": {
"type": "string"
},
"math": {
"type": "string"
}
},
"required": [
"role",
"setup",
"kpis",
"math"
],
"additionalProperties": false
}
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_first_time_manager_guidance(context)
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.
输入模式
{
"type": "object",
"properties": {
"context": {
"description": "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.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical marian.coach page this answer is derived from."
},
"totalScore": {
"description": "Weighted 0-10 score, when the tool computes one.",
"type": "number",
"minimum": 0,
"maximum": 10
},
"level": {
"description": "Seniority level the score maps to, when the tool computes one.",
"type": "string"
},
"salaryEur": {
"description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
"type": "number"
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
},
"email": {
"description": "Forwardable email to the manager.",
"type": "object",
"properties": {
"subject": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"subject",
"body"
],
"additionalProperties": false
},
"slackShort": {
"description": "Slack/Teams-length version of the ask.",
"type": "string"
},
"talkingPoints": {
"description": "Five talking points for the conversation.",
"type": "array",
"items": {
"type": "string"
}
},
"onePager": {
"description": "Manager-facing one-pager, forwardable to finance.",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"body": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string"
}
},
"table": {
"type": "array",
"items": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
}
},
"required": [
"heading"
],
"additionalProperties": false
}
}
},
"required": [
"title",
"sections"
],
"additionalProperties": false
},
"math": {
"description": "Napkin math behind the case.",
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"totalEur": {
"type": "number"
},
"discountedEur": {
"type": "number"
},
"askEur": {
"type": "number"
},
"packPriceEur": {
"type": "number"
},
"roiMultiple": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
}
},
"required": [
"lines",
"totalEur",
"discountedEur",
"askEur",
"packPriceEur",
"roiMultiple",
"note"
],
"additionalProperties": false
},
"objections": {
"description": "The usual objections, answered.",
"type": "array",
"items": {
"type": "object",
"properties": {
"objection": {
"type": "string"
},
"answer": {
"type": "string"
}
},
"required": [
"objection",
"answer"
],
"additionalProperties": false
}
},
"evidence": {
"description": "Sources the case may cite.",
"type": "array",
"items": {
"type": "object",
"properties": {
"claim": {
"type": "string"
},
"source": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"claim",
"source",
"url"
],
"additionalProperties": false
}
},
"valueFormula": {
"description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"rule": {
"type": "string"
}
},
"required": [
"heading",
"lines",
"rule"
],
"additionalProperties": false
},
"workedExamples": {
"description": "Three published worked examples: EM, Director, Staff Engineer.",
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string"
},
"setup": {
"type": "string"
},
"kpis": {
"type": "string"
},
"math": {
"type": "string"
}
},
"required": [
"role",
"setup",
"kpis",
"math"
],
"additionalProperties": false
}
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢estimate_coaching_cost(coaching_type, client_role, territory, coach_seniority, scope, ...)
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.
输入模式
{
"type": "object",
"properties": {
"coaching_type": {
"description": "Required. What kind of coaching the client is buying One of: executive, leadership, engineering-leadership, career, life.",
"type": "string"
},
"client_role": {
"description": "Required. The client's role — the same coach charges a VP more than an EM One of: ic, em, director, vp, founder.",
"type": "string"
},
"territory": {
"description": "Required. Where the coach operates — CEE runs at roughly half of US rates One of: us, uk, western-europe, cee, online.",
"type": "string"
},
"coach_seniority": {
"description": "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.",
"type": "string"
},
"scope": {
"description": "Engagement length (default single-session) — longer commitments carry a 5-20% per-session discount One of: single-session, monthly, quarter, half-year.",
"type": "string"
},
"context": {
"description": "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.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical marian.coach page this answer is derived from."
},
"totalScore": {
"description": "Weighted 0-10 score, when the tool computes one.",
"type": "number",
"minimum": 0,
"maximum": 10
},
"level": {
"description": "Seniority level the score maps to, when the tool computes one.",
"type": "string"
},
"salaryEur": {
"description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
"type": "number"
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
},
"email": {
"description": "Forwardable email to the manager.",
"type": "object",
"properties": {
"subject": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"subject",
"body"
],
"additionalProperties": false
},
"slackShort": {
"description": "Slack/Teams-length version of the ask.",
"type": "string"
},
"talkingPoints": {
"description": "Five talking points for the conversation.",
"type": "array",
"items": {
"type": "string"
}
},
"onePager": {
"description": "Manager-facing one-pager, forwardable to finance.",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"body": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string"
}
},
"table": {
"type": "array",
"items": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
}
},
"required": [
"heading"
],
"additionalProperties": false
}
}
},
"required": [
"title",
"sections"
],
"additionalProperties": false
},
"math": {
"description": "Napkin math behind the case.",
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"totalEur": {
"type": "number"
},
"discountedEur": {
"type": "number"
},
"askEur": {
"type": "number"
},
"packPriceEur": {
"type": "number"
},
"roiMultiple": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
}
},
"required": [
"lines",
"totalEur",
"discountedEur",
"askEur",
"packPriceEur",
"roiMultiple",
"note"
],
"additionalProperties": false
},
"objections": {
"description": "The usual objections, answered.",
"type": "array",
"items": {
"type": "object",
"properties": {
"objection": {
"type": "string"
},
"answer": {
"type": "string"
}
},
"required": [
"objection",
"answer"
],
"additionalProperties": false
}
},
"evidence": {
"description": "Sources the case may cite.",
"type": "array",
"items": {
"type": "object",
"properties": {
"claim": {
"type": "string"
},
"source": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"claim",
"source",
"url"
],
"additionalProperties": false
}
},
"valueFormula": {
"description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"rule": {
"type": "string"
}
},
"required": [
"heading",
"lines",
"rule"
],
"additionalProperties": false
},
"workedExamples": {
"description": "Three published worked examples: EM, Director, Staff Engineer.",
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string"
},
"setup": {
"type": "string"
},
"kpis": {
"type": "string"
},
"math": {
"type": "string"
}
},
"required": [
"role",
"setup",
"kpis",
"math"
],
"additionalProperties": false
}
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢build_mentoring_business_case(role, lang, formality, situation, first_time_in_role, ...)
Build the case that gets your company to pay for leadership mentoring — everything on marian.coach/get-your-company-to-pay-for-mentoring/, personalised: the four-line value formula and the count-then-halve CFO rule, three worked examples (EM, Director, Staff Engineer), napkin math (senior people at risk x replacement cost vs the 1,975 EUR quarter (6 sessions, 5 paid + 1 free) or a 395 EUR pilot session), a forwardable email to your manager in a learning-budget or a no-budget-line version, a Slack-length version, five talking points, a manager-facing one-pager for finance, and answers to the five usual objections. English or Czech, tykani or vykani. Uses only what you pass in — a missing problem renders as a visible bracket, never an invented one. From 3,611 mentoring sessions at marian.coach.
输入模式
{
"type": "object",
"properties": {
"role": {
"description": "Required. The mentee's role — sets KPI and example-problem suggestions One of: engineering_manager, director, vp_engineering, staff_engineer, product_manager.",
"type": "string"
},
"lang": {
"description": "Output language (default en) One of: en, cs.",
"type": "string"
},
"formality": {
"description": "Czech only: ty (informal, default) or Vy (formal) One of: informal, formal.",
"type": "string"
},
"situation": {
"description": "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.",
"type": "string"
},
"first_time_in_role": {
"description": "First time in this role? Adds the first-time-manager evidence",
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
]
},
"your_name": {
"description": "The mentee's first name (signs the email)",
"type": "string",
"maxLength": 80
},
"manager_name": {
"description": "The manager's first name",
"type": "string",
"maxLength": 80
},
"company": {
"description": "Company name, for the invoice line",
"type": "string",
"maxLength": 120
},
"team_size": {
"description": "Team size, context for the one-pager (and the legacy team-lift line)",
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"problem": {
"description": "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",
"type": "string",
"maxLength": 400
},
"kpis": {
"description": "1–3 measurable 90-day targets; default = the role's suggestions",
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 160
}
},
{
"type": "string",
"maxLength": 160
}
]
},
"decide_by": {
"description": "Decision date, free text (e.g. 'Friday 22 Aug')",
"type": "string",
"maxLength": 60
},
"at_risk_attrition": {
"description": "Senior people at risk of leaving (0–5). Drives the napkin math",
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"alternatives": {
"description": "Alternatives already considered One or more of: conference, course, internal_coach.",
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
"avg_salary_eur": {
"description": "Legacy: fully-loaded annual cost per engineer in EUR, only with team_size",
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"delayed_revenue_eur": {
"description": "Legacy: annual revenue attached to a slipping roadmap item, in EUR",
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"context": {
"description": "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.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"report": {
"type": "string",
"description": "The full human-readable report."
},
"source": {
"type": "string",
"description": "Canonical marian.coach page this answer is derived from."
},
"totalScore": {
"description": "Weighted 0-10 score, when the tool computes one.",
"type": "number",
"minimum": 0,
"maximum": 10
},
"level": {
"description": "Seniority level the score maps to, when the tool computes one.",
"type": "string"
},
"salaryEur": {
"description": "Estimated 2026 Western-Europe gross annual salary in EUR.",
"type": "number"
},
"verdict": {
"description": "Headline verdict, when the tool returns one.",
"type": "string"
},
"email": {
"description": "Forwardable email to the manager.",
"type": "object",
"properties": {
"subject": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"subject",
"body"
],
"additionalProperties": false
},
"slackShort": {
"description": "Slack/Teams-length version of the ask.",
"type": "string"
},
"talkingPoints": {
"description": "Five talking points for the conversation.",
"type": "array",
"items": {
"type": "string"
}
},
"onePager": {
"description": "Manager-facing one-pager, forwardable to finance.",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"body": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string"
}
},
"table": {
"type": "array",
"items": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
}
},
"required": [
"heading"
],
"additionalProperties": false
}
}
},
"required": [
"title",
"sections"
],
"additionalProperties": false
},
"math": {
"description": "Napkin math behind the case.",
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"totalEur": {
"type": "number"
},
"discountedEur": {
"type": "number"
},
"askEur": {
"type": "number"
},
"packPriceEur": {
"type": "number"
},
"roiMultiple": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"note": {
"type": "string"
}
},
"required": [
"lines",
"totalEur",
"discountedEur",
"askEur",
"packPriceEur",
"roiMultiple",
"note"
],
"additionalProperties": false
},
"objections": {
"description": "The usual objections, answered.",
"type": "array",
"items": {
"type": "object",
"properties": {
"objection": {
"type": "string"
},
"answer": {
"type": "string"
}
},
"required": [
"objection",
"answer"
],
"additionalProperties": false
}
},
"evidence": {
"description": "Sources the case may cite.",
"type": "array",
"items": {
"type": "object",
"properties": {
"claim": {
"type": "string"
},
"source": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"claim",
"source",
"url"
],
"additionalProperties": false
}
},
"valueFormula": {
"description": "The four value lines to add up (money saved, cost of delay, missed opportunity, roadmap slippage) plus the count-then-halve CFO rule.",
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"lines": {
"type": "array",
"items": {
"type": "string"
}
},
"rule": {
"type": "string"
}
},
"required": [
"heading",
"lines",
"rule"
],
"additionalProperties": false
},
"workedExamples": {
"description": "Three published worked examples: EM, Director, Staff Engineer.",
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string"
},
"setup": {
"type": "string"
},
"kpis": {
"type": "string"
},
"math": {
"type": "string"
}
},
"required": [
"role",
"setup",
"kpis",
"math"
],
"additionalProperties": false
}
}
},
"required": [
"report",
"source"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}社区
证据