Skip to main content
Glama

Build Resume

aiapplyd_build_pdf

Create a formatted, ATS-clean resume PDF from raw text, choosing classic, modern, or minimal templates. Resume stays editable and private unless you explicitly choose to share it.

Instructions

Build a formatted, ATS-clean resume from raw text in the user's AI Applyd resume builder, where it stays editable and downloads as a PDF. Templates: modern, classic, or minimal. Private to the account by default; set make_public to true only if the user explicitly asks for a shareable public link. Requires a paid plan (Hired in 30+). Uses the user's AI credits. Do not use it to rewrite a resume; use aiapplyd_optimize_resume.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
templateNoResume template style (default: classic)
make_publicNoPublish a public share link. Anyone with the link sees the resume INCLUDING its contact details. Defaults to false (private). Only set true when the user explicitly asks to share it.
resume_textYesFull text of the resume

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
templateYes
publicUrlYes
resumeBuildIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.8.0
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "publicUrl": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "resumeBuildId": {
      +      "type": "number"
      +    },
      +    "template": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "resumeBuildId",
      +    "template",
      +    "url",
      +    "publicUrl"
      +  ],
      +  "type": "object"
      +}
  2. First observedv1.3.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already state readOnlyHint=false, destructiveHint=false, and openWorldHint=true. The description adds valuable behavioral details: the result stays editable and downloads as a PDF, defaults to private, requires a paid plan, and consumes AI credits. It doesn't contradict annotations. Could perhaps mention side effects more deeply, but the description adds solid context.

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

Conciseness5/5

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

Four sentences, each earning its place: what it does, templates, privacy default, paid plan/credits, and forked routing to sibling. Front-loaded with the main verb and artifact. No fluff.

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?

Given the output schema exists (so return values are documented), the parameters are fully covered in the schema, and the description covers usage, privacy, and exclusions, nothing an agent needs to invoke correctly is missing. It even flags account requirements and alternative tool routing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already thoroughly documents all 3 parameters, including the make_public privacy warning. The description adds the privacy default context but doesn't add much beyond the schema for parameters. Baseline 3 is appropriate since the schema carries the load.

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?

The description clearly states the specific verb (build), resource (resume in AI Applyd), and key output (ATS-clean PDF, editable). It also distinguishes from siblings by explicitly saying 'Do not use it to rewrite a resume; use aiapplyd_optimize_resume.' The scope is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

The description explicitly says when to use (build a formatted resume from raw text) and when not to (not for rewriting; use aiapplyd_optimize_resume instead). It also gives context on privacy and paid plan requirements, which helps an agent decide if it's the right tool.

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