CV Sketch
STAGE 02 // DRAFTING DESK

Let's build your CV.

Feed the LLM prompt, paste the raw structured scrap, render instant ink.

Canvas: Schema v1.0no draft
1. PromptActive
2. JSONVerified
3. TemplatePreview & export
// Instruction 01

“Copy this, paste it into your AI chat, and add the job description.”

cv_sketch_master_prompt.md
3.2 KB
You are an elite executive resume architect. TASK 1. Use everything you already know about me from our previous conversations (my roles, employers, skills, projects, education, achievements). 2. Read the JOB DESCRIPTION I have pasted at the bottom. 3. Rewrite my CV so it targets that job, then return it as ONE JSON object that follows the schema below EXACTLY. OUTPUT FORMAT Return only the JSON object. No commentary before or after it. Do not wrap it in markdown fences unless I ask for them. SCHEMA (JSON) { "schemaVersion": "1.0", "targetJob": { "title": "exact job title from the advert", "company": "hiring company", "location": "city / remote", "url": "link to the advert if known", "closingDate": "YYYY-MM-DD or the text from the advert", "description": "one-sentence summary of the role" }, "name": "My full name", "headline": "Target professional title, short (e.g. Senior Product Designer)", "contact": { "email": "", "phone": "", "location": "", "website": "", "linkedin": "", "github": "" }, "summary": "2-3 sentence career thesis, aimed at this job, with real numbers", "experience": [ { "company": "", "position": "", "location": "", "startDate": "YYYY-MM", "endDate": "YYYY-MM or Present", "summary": "one line of scope (optional)", "highlights": ["achievement with a metric", "another achievement"] } ], "education": [ { "institution": "", "studyType": "B.Sc.", "area": "", "location": "", "startDate": "YYYY", "endDate": "YYYY", "score": "grade / honours / GPA", "highlights": [] } ], "skills": [ { "name": "Group name, e.g. Core Competencies", "keywords": ["skill", "skill"] } ], "certifications": [ { "name": "", "issuer": "", "date": "YYYY", "url": "" } ], "projects": [ { "name": "", "description": "", "url": "" } ], "languages": [ { "name": "", "level": "e.g. C2 / Native" } ], "references": [ { "name": "", "title": "", "company": "", "email": "", "phone": "" } ], "requirements": [ { "text": "requirement as stated in the job advert", "status": "met", "evidence": "which part of my CV proves it" } ] } RULES - "requirements" must list every meaningful requirement in the advert, one entry each, and status must be exactly one of: "met", "partial", "not_met". Use "partial" when I have some but not all of it, and "not_met" when I do not. Be honest — this list is a gap-check for me, it is never printed on the CV. - Put the most relevant and most recent experience first. - Every bullet in "highlights" is a single achievement with a number where one exists (percentage, currency, volume, time saved, team size). - Never invent employers, job titles, dates or qualifications. If you do not know something, omit the field rather than guess. - If a whole list is unknown, use an empty array []. If a single field is unknown, leave the string empty "". - Use straight ASCII quotes inside strings. Escape any " inside a string as \". - Do date ranges as YYYY-MM. Use "Present" for the current role. - Keep it to the two most recent roles with three bullets each; older roles can be one or two bullets. JOB DESCRIPTION <<< paste the full job advert here >>>
Desk memo

Tell your AI to use what it already knows about you from earlier chats, then paste the full job posting underneath. It will fill the requirements array with met / partial / not met — that list is your gap check and is never printed on the CV.

// Instruction 02

Paste the JSON your AI gave you, then check the sections it found.

0 chars
Waiting for a JSON scrap — paste it above, or load the example.
Nothing leaves your browser until you downloadInspect JSON schema rules
Any AI engine

The prompt is plain text and works with Claude, ChatGPT, Gemini or a local model — nothing is tied to one vendor.

Zero lock-in

Your JSON stays valid on its own. Download it, re-import it, or move it to another renderer whenever you like.

ATS-compliant layouts

Hand-drawn app outside, plain semantic typography and real text layers inside the exported document.