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-officeresume-intake skillPageMount 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
- Linda’s chat opens with “Hey — drop your resume here and I’ll fill out the form for you.”
- User drops
priya-resume.pdf.@linda/parsers-pdfextracts the text client-side; nothing leaves the browser yet. - The agent loads
/skills/installed/resume-intake/SKILL.mdand follows its instructions: extract name, email, phone, experience, education, skills. - Each field is written to
/page/form/fields/<name>.json. PageMount fires realinputevents on your<input>s. - 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.
Runnable example: https://github.com/neul-labs/linda/tree/main/examples/resume-autofill
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.