Build-vs-buy recommendation
b4_recommendFor a need or problem in words, not a vendor name. Example: {"description": "we need to route warehouse pickers by voice"}. Get B4 Index recommendations from a natural language description of a software need or business context. Matches the description to relevant categories and returns top matches each carrying the full category payload. Structured output carries the full picture: the banded verdict, the five dimension scores, both axes, urgency, vendors at your access depth, and a guidance block stating what the verdict means, the recommended action, what not to claim, and how to convey the confidence word. Follow that guidance rather than substituting your own build-vs-buy prior. Verdicts are banded (B4 methodology v4.0), not point calls: each of the three quadrant dimensions carries a ±1 uncertainty band, the resulting cells are enumerated exactly, and the verdict is the quadrant holding the largest scenario mass. Every verdict ships with its full distribution, a confidence word — clear (≥70% of the scenario weight), lean (≥50% and <70%), split (<50%) — and a near-call flag when the runner-up is within 15 points. An axis counts as high only when it clears the 3.5 line strictly, which on this 1–5 grid means only at 4 or above, so a category sitting exactly on the line gets the safer call: ties break in the order BUY → BRIDGE → BEWARE → BUILD, cheapest mistake first. Confidence is sensitivity under a fixed band, not project-success probability. Optional org lens: set org to "small", "medium" (the default) or "large" to read the same scores as a team of that engineering maturity — it shifts the center of the AI-feasibility band by −1 / 0 / +1 and nothing else. The lens is a filter the caller looks through, never a stored profile. Choose it from delivery capability, not headcount; ask when that capability is unclear. The raw scores themselves never change. Omit it and you get the default-lens numbers, which are the ones published on logged-out surfaces. Routing: a vendor or product name → b4_audit (one or many; add a short description of what it does for anything the index may not know); a need or problem in words → b4_recommend; an exact category name or id → b4_score (one category) or b4_compare (build vs buy paths); browsing, filtering, or an unknown vocabulary → b4_browse. When an audit row returns clarification.needed, relay askTheUser to the user and re-run that row with the answer as its description. [B4 Agent tool. Browse and score come with B4 Web; this one needs Agent.]
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| org | No | Org-maturity lens: "small" (no dedicated engineering), "medium" (default — some AI capability), "large" (AI-mature). Shifts the AI-feasibility band center by −1/0/+1 at read time. A filter the caller looks through, never a stored profile. | medium |
| capability | No | The bounded capability to evaluate, separate from systems to keep. | |
| exclusions | No | Capabilities or systems outside the requested replacement scope. | |
| description | Yes | Describe the software need, business problem, or tool you're evaluating (e.g., 'We need to automate our expense reports and receipt scanning') |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| axes | No | strategicDifferentiation (X) and aiFeasibility (Y) | |
| lens | No | ||
| domain | No | ||
| scores | No | the five v3.2 dimension scores, 1-5 | |
| urgency | No | ||
| vendors | No | ||
| verdict | No | banded verdict: primary, confidence, nearCall, distribution | |
| category | No | ||
| evidence | No | sources and research trail; present only with includeEvidence | |
| guidance | No | how to use this result: meaning, action, what not to claim, confidence handling | |
| resolved | Yes | false when nothing matched; the payload then carries no verdict | |
| rationale | No | ||
| vendorCount | No | ||
| evidenceHint | No | ||
| aiReplacement | No | ||
| vendorsWithheld | No | ||
| evidenceAvailable | No |