Usage
A first session, start to finish. Install ARTie first if you haven't.
How a session works
You talk to your coding agent, as you always do. ARTie gives it a memory of your real experience and a set of checks. The agent reads and writes; ARTie keeps your facts, your preferences and every version, and checks each change before it is saved. Every fact on your resume must come from something you gave it. If the agent needs one that isn't there, it asks you.
In Claude Code you run /art:* commands. Codex has two skills instead, $art-setup and $art-tailor, and for everything else you ask in plain words. This page shows the Claude Code command first, then the Codex equivalent.
Where a step has no command of its own, the page says what to ask your agent and names the ARTie tool it will call, in case you want to see what happened.
1. Ingest your resume, GitHub and LinkedIn
Gather three kinds of source. You don't need all of them:
- Your current resume as a PDF, DOCX, Markdown or LaTeX file.
- Your LinkedIn data export (the archive you request from LinkedIn's own settings).
- The folders of the projects you want considered. ARTie doesn't connect to your GitHub account: clone the repositories you care about and hand your agent the folders.
Then run the setup command with the paths:
/art:setup [files]In Codex, run $art-setup and tell it where the files are. If you give no paths, the agent asks.
What happens next:
- The agent reads your files itself (ARTie never opens them) and fills ARTie's record formats with
ingest_schema, then stores them withupsert_items. Titles, companies, dates and bullets are kept verbatim. For a repository, it describes what the code shows and checks each claim against the files. - Anything you edited by hand is never overwritten, and anything you deleted is not added back unless you ask.
- It asks where each project was done: for a job, for a degree, or on your own. Work counts as stronger evidence than coursework, so answer each one (
suggest_project_contexts, thenset_project_context). - It sets your resume header (name, email, links) with
update_profile. - If a fact depends on the posting, tell it. For example: "my graduation date is June 2027, but December 2027 when a role needs me enrolled after the internship." ARTie then asks that question of every posting.
2. Review what ARTie learned
The setup ends with a summary of what is stored. There is no separate command for reviewing, so ask your agent in plain words:
Show me everything ARTie has stored about me, grouped by kind, and point out anything duplicated or thin.It will call list_items and, for details, get_item and get_profile. Look for wrong dates, duplicate entries, and projects with no short bullets of their own. To search, ask something like "what do I have that shows Python?" (kg_search).
To fix a fact, tell the agent the correction. It re-sends that record to upsert_items marked as a correction. Nothing is invented to fill a gap: if the graph holds nothing for a requirement, the agent says so.
3. Tailor to a job posting
Paste the posting, or give a link, to the tailor command:
/art:tailor <posting or URL>In Codex, run $art-tailor and paste the posting.
The agent works through these steps, and you can watch each one:
- Reads your brief.
art_briefingreturns your pinned rules, your preferences, and any yes/no questions to ask about the posting (such as whether it requires enrollment after the internship). It answers them from the posting's own words, or asks you. - Opens the job.
open_jobstores the posting and its requirements, and picks your saved starting point for that kind of role if you have one. - Reads your experience and asks
suggest_actionswhich of your approved bullets fit this posting. - Shows you a plan and waits. The plan says which items lead, what each revised bullet will say, what is cut and why, and the skills line. Nothing is changed until you approve it.
- Runs it. After you approve,
execute_planapplies the plan. ARTie checks each change and refuses or reverts one that claims more than its source supports, mentions a topic you banned, or breaks a rule you set. The agent tells you about every one rather than quietly resubmitting it.
4. Approve bullets and set preferences
Bullets
When a bullet reads the way you want, ask your agent to keep it: "Add that bullet to my library." It becomes a draft (promote_bullet). It joins your approved library only when you say yes (approve_variant); the agent never approves one on its own. Next time, suggest_actions offers your approved wording first, and a bullet that strays too far from it is reverted.
To make a whole version the starting point for a kind of role, say so and name the role, for example "save this as my data science baseline" (save_baseline). A new job for that kind of role then starts as a copy of it.
Preferences
State a lasting rule as you would to a person: "never mention Kafka", "always lead with Python". When a message looks like a lasting rule (ARTie's hook flags it in Claude Code; on a host without the hook, your agent checks it with observe) the agent asks you to confirm how it read it: what it is about, whether to feature it or leave it out, how firm, and whether it is for every resume or only this job. Only after you say yes does it save the rule (record_preference).
A rule you call absolute ("never") becomes a pin: what it names can never reach the page, even in other words. ARTie never saves one without your confirmation. To see what ARTie holds, run /art:prefs in Claude Code, or ask your agent to show your preferences (art_briefing; art_pins returns the pins word for word).
5. Render the PDF
The tailor command ends by rendering, so the PDF comes with the plan you approved. To render again after a change, ask your agent to "render the resume" (the render tool). It writes resume.tex and resume.pdf to ~/.art/applications/<Company>_<Role>/, and the agent tells you the path.
- The page is one page. If the draft runs over, ARTie reports where to cut and the agent cuts and renders again. Nothing is trimmed silently.
- With no LaTeX engine installed, you get the
.texfile and a hint on how to get a PDF. See Install.
6. Edit by hand in art ui (optional)
To adjust the layout or the LaTeX yourself, open the local editor. In Claude Code, run /art:open and name the job. It prints the command below with the job's id filled in. Run it yourself in a terminal; the agent does not start it.
uvx --from "art-mcp[ui] @ https://github.com/nathansso/agentic_resume_tailoring/releases/download/v0.1.0/art_mcp-0.1.0-py3-none-any.whl" art ui --job <job_id>The editor opens at http://127.0.0.1:8765/ and runs only on your machine. Anything you save or drag there comes back to the agent on your next message, and it builds on your edits instead of overwriting them. In Codex, ask the agent for the art ui command for your job.
Everything else you can run
The Claude Code commands, all in one place:
| Command | What it does |
|---|---|
/art:setup [files] | Build your knowledge graph from your resume, LinkedIn export and project folders, and set your header. |
/art:tailor <posting or URL> | Plan a tailored resume, wait for your approval, commit it and render the PDF. |
/art:open [job] | Print the command that opens the local editor (art ui). |
/art:history [job] | List every version and what changed. |
/art:revert <job> [version] | Make an earlier version current again. |
/art:prefs | Show your pinned rules, preferences and job-scoped rules. |
The two skills behind /art:setup and /art:tailor also start on their own when you ask your agent to tailor a resume or update your experience. In Codex, ask for history in plain words; the agent uses history and diff_nodes to show versions and checkout to go back, after it shows you the difference and you confirm.