Use case · File-driven intake

Drop a resume, auto-fill the application

User drops a PDF or DOCX resume. Linda parses it client-side, runs the resume-intake skill, and fills the application form's name, email, experience, education, and skills fields automatically.

  • @linda/parsers-pdf
  • @linda/parsers-office
  • resume-intake skill
  • PageMount writes

The shape

Job application forms are long. Most of what they ask is already on the resume the candidate is uploading. So have the agent read the resume and fill the form.

Code

import { Linda } from "@linda/core";
import { BUILTIN_SKILLS } from "@linda/skills";
import "@linda/parsers-pdf";
import "@linda/parsers-office";

const linda = new Linda({
  transport: { mode: "proxy", url: "/api/linda" },
  config: {
    persona: "Friendly recruiter assistant. Asks for the resume up front, fills what you can, confirms ambiguous fields.",
    target: { type: "form", selector: "#application" },
    skills: ["resume-intake"],
  },
});

linda.attach();

The flow

  1. Linda’s chat opens with “Hey — drop your resume here and I’ll fill out the form for you.”
  2. User drops priya-resume.pdf. @linda/parsers-pdf extracts the text client-side; nothing leaves the browser yet.
  3. The agent loads /skills/installed/resume-intake/SKILL.md and follows its instructions: extract name, email, phone, experience, education, skills.
  4. Each field is written to /page/form/fields/<name>.json. PageMount fires real input events on your <input>s.
  5. Anything ambiguous — “Your last role looks like Senior PM — is that right?” — gets confirmed in chat before being written.

Privacy

The resume is never uploaded to your server. The text the model needs to see is sent to your LLM provider; that’s the trust boundary. If the candidate asks “where did my resume go?”, the answer is: nowhere. It’s still in the tab.

What costs

Per resume: one big context window (parsed text, 2–4 K tokens) + a few small back-and-forths. **$0.02 per resume**, including prompt caching.

FAQ

Does the resume leave the browser?

No. The PDF/DOCX is parsed in-browser via @linda/parsers-pdf or @linda/parsers-office. Only the text the LLM needs is sent to the provider — not the raw file.

What if the parser misreads a field?

The agent asks the user to confirm any value below its confidence threshold. The user can correct in chat or directly in the form.

Ship an agent-driven flow this afternoon.

Install Linda, paste a config, and your form turns into an agent that fills its own inputs.