Skip to main content
Glama

Create Resume from Career KB

create_base_resume_from_kb

Compose a new base resume from selected Career KB entities, pulling only approved points. Requires entity IDs plus a role label or role category.

Instructions

Compose a new base resume from selected Career KB entities. LLM-free.

entity_ids is REQUIRED. An empty list composes nothing and 422s — that is
deliberate; omitting the argument is not allowed because it would have to
mean "the whole KB". A role_label or role_category is required (no slug
argument). role_category is strict: an unknown value 422s, no
normalization. An unmatched role_label maps to role_category "other" and
slug `other`/`other_2`…; display_name never affects the slug, which is
`base.slug` in the response. Only APPROVED points under the selected entities compose —
points from kb_ingest_resume are DRAFTS and contribute nothing until
kb_approve_points (or the user, at /career) approves them.
skills and contact arrive in full from the KB profile regardless of entity
selection (the KB has no per-entity skill data), so skills may need trimming
on the resulting base. The
whole-career summary is dropped unless include_summary, or pass a reviewed
summary. A 422 "no resume content" means the selected entities have no
approved points.

Response is {base, next}. next is a hint (null when suppressed or when its
settings read fails; the base is created either way, and repeating the call
mints a second slug, <slug>_2).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
summaryNo
entity_idsYes
role_labelNo
display_nameNo
role_categoryNo
include_summaryNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.11.1

TDQS

A4.7/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: 422 semantics for unknown role_category, unmatched role_label mapping to 'other' with a slug scheme, slug minting on repeat calls (<slug>_2), draft vs approved point filtering, skills/contact always arriving in full from the KB profile, and summary suppression rules. This is consistent with idempotentHint=false and destructiveHint=false and discloses mutation side effects the annotations only imply.

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

Conciseness4/5

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

Purpose and the required-argument rule are front-loaded, and nearly every sentence carries non-obvious information. It is dense and somewhat sprawling with mid-sentence line breaks, but there is little pure filler for a tool with this many edge cases.

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

Completeness5/5

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

No output schema exists, so the description compensates by describing the return shape ({base, next}), the meaning of next as a hint, when it is null, and that the base is created regardless. For a 6-parameter, non-idempotent mutation tool it covers the failure modes, side effects, and output an agent needs.

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

Parameters5/5

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

With 0% schema description coverage, the description carries the full burden and does: entity_ids required + empty-list behavior, role_label vs role_category precedence and strict validation, display_name having no effect on the slug, include_summary gating the career summary, and the reviewed summary option. Every one of the 6 parameters is given meaning.

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

Purpose5/5

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

States a specific verb and resource ('Compose a new base resume from selected Career KB entities') and adds the distinguishing constraint 'LLM-free', separating it from siblings like create_base_resume and kb_sync_base. An agent can tell what this does 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.

Usage Guidelines4/5

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

Gives clear preconditions: entity_ids is REQUIRED, an empty list deliberately 422s, and a role_label or role_category must be supplied. It explains the approved-points gate (kb_ingest_resume drafts contribute nothing until kb_approve_points). It does not explicitly name when to choose this over create_base_resume or kb_sync_base, so no full when/when-not routing.

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

Deploy Server

Other Tools