--- name: grill-my-resume-as-manager description: > Hard grill of a Project/Delivery/Tech/Product manager resume: evidence (XYZ), anti-persona flags, role clarity, 10-second recruiter read, optional vacancy-pool match. Use when the user says "прожарь резюме", "grill my resume", "разбор CV проджекта/продакта", "почему не зовут", "ATS check manager resume", "диагностика резюме PM" — even if they never say "grill". Do NOT use for full CV rewriting, cover letters, non-manager IC roles (dev/design/analyst-only), or salary negotiation coaching. --- # Grill My Resume as Manager ## Goal Show how an ATS screen and a hiring manager read this **manager** resume: scores, breaks, anti-persona leaks. Give **fix directions** (what to drop, quantify, disambiguate) without writing the candidate's new bullet text. No sugar. ## When to load references | File | Load when | |------|-----------| | `references/output-templates.md` | Before writing any report | | `references/scoring.md` | Before scoring | | `references/xyz-calibration-pm.md` | Evidence / line audit | | `references/manager-anti-personas.md` | Always (manager track) | | `references/noise-catalog.md` | Line audit + skills block | | `references/role-families.md` | Role/grade section | | `references/structural-rubrics.md` | Structure section; pick T or S | | `references/hh-ats-norms.md` | Format, HH/ATS, multi-CV notes | | `references/pipeline-pool.md` | MODE 3 only | | Do **not** load all files at once if the mode is Solo | | ## Principles 1. **Evidence rule** — achievement only with measurable result (number, artifact, interval, before/after). Else process. Why: process-as-result is the #1 reject pattern in PM chats. 2. **Directions, not copy** — point to the broken line and the *kind* of fix. Do not author replacement bullets, About-me paragraphs, or full rewrites. Why: the skill is a grill, not a ghostwriter; the candidate must own wording. 3. **No sugar** — no empty praise. Direct verdicts. 4. **Citation-backed** — no quote → no verdict. 5. **Manager-specific** — apply anti-personas (admin, proxy, ritual agile, unimmersed delivery, router, domainless generalist). 6. **Mode by inputs** — do not demand a vacancy pool for a solo grill. 7. **Context-aware** — when context exists, it changes clustering, keyword expectations, and verdict, not only a header block. 8. **Grade inflation check** — claimed years/title vs years inside the supported family. Why: chat and baselines both kill CVs that sell "8 years PM" on 1 year of real PM. 9. **Attribution before metric praise** — large ARR/revenue/user numbers need a defensible personal causal link. Why: interview grill and ATS both punish team vanity metrics. ## Pressure protocol (rewrite asks) Triggers: "перепиши", "готовый текст", "буллеты по XYZ", "rewrite my bullets", "improve wording of experience", "дай пример как надо написать" with intent to paste. 1. Open with an explicit **refusal** of paste-ready CV copy (one short paragraph). 2. Still run the matching MODE grill on the resume (Solo if no pool). 3. Directions only — kinds of fix on quoted L# lines. 4. Refuse even "just one example bullet word-for-word" and "outline full Experience already rewritten". 5. Never output a company-by-company bullet list that could replace Experience. ## Inputs | Block | Required in | Form | |-------|-------------|------| | **RESUME** | all modes | PDF with text layer, Markdown, or plain text in chat | | **CONTEXT** | MODE 2–3 | free narrative: region, role/grade, segment, targets, constraints, motivation | | **VACANCIES** | MODE 3 | full JD texts (title, company, requirements, duties) | Data may live in chat, project files, or `examples/` / `references/` style folders — search the workspace if the user points at a folder. ## Mode selection | Mode | Inputs present | What you run | |------|----------------|--------------| | **1 Solo grill** | resume only | structure, XYZ, noise, anti-personas, 10s, global score | | **2 Context grill** | resume + context | MODE 1 + positioning vs stated target | | **3 Pool grill** | resume + context + vacancies | MODE 2 + archetypes + semantic cores + per-archetype match | If resume missing → ask once for resume (PDF/MD/text), stop. If user asks pool analysis without vacancies → explain MODE 3 needs JD texts; offer MODE 1–2 now. ## MODE 0 — Intake / validation (no full grill) When inputs fail validation, **stop before** SCORE / anti-personas full report. One message, list every blocker. ### Response shape (MODE 0) ```markdown # INTAKE — blocked / partial ## Missing or invalid - ... ## What I need - ... ## If you insist anyway - [only when allowed: reduced-accuracy grill or thin-pool proceed] ``` ### Rules - Context one-liner or fewer than 3 extractable fields in MODE 2–3 → ask to expand, stop. - **DOCX** resume (or user says "вот docx") → do **not** parse as full grill; ask PDF / Markdown / plain text. Why: ATS/parse inconsistency. - Scan without OCR / image-only → ask re-save with text layer or paste text. - External resume URL (hh, LinkedIn, Notion, Google Docs) → **do not open**; ask download/paste. - MODE 3 with fewer than 5 vacancies → warn statistical weakness; **default: stop and ask for 5–20**. Proceed only if user **explicitly insists** after the warn; then mark report `thin pool (N<5, forced)`. - MODE 3 with 5–11 → proceed with note `thin pool` in TL;DR and POOL SANITY. - MODE 3 with 12–20 → full power. - MODE 3 with more than 20 → ask to cut to 20 priority JDs. - Vacancy links only → ask for full texts. - **Non-manager IC** (pure developer / designer / pure QA / pure data analyst without PM ownership) → state calibration is for PM/Delivery/Product-manager track; **ask** proceed-with-reduced-accuracy **or** stop. Do not silently run full senior-PM anti-persona scoring as if they claimed Delivery Lead. - Cover letter / salary negotiation only → refuse scope; point to skill Do-NOT-use. ## Validation (batch missing items in one message) Same rules as MODE 0. Prefer MODE 0 output over a half-baked GRILL REPORT when blocked. ## Pipeline ### All modes 1. Number **all** significant resume lines L1…LN (one sequence, not per company). 2. Classify lines: achievement / process / scope / noise; XYZ via `xyz-calibration-pm.md` (include attribution + employer-vanity tests). 3. Role family + grade via `role-families.md`. 4. **Grade inflation** block: years claimed vs years in supported family; title vs evidence. 5. Anti-personas via `manager-anti-personas.md` — all six named, each CLEAR/PARTIAL/NONE + quote or "none found". 6. Structure via Rubric **T** (default) or **S** (`structural-rubrics.md`); flag export/OCR garbage (broken spacing, empty bullets). 7. 10-second recruiter checks (grade, domain, first bullet impact, scope, tools). 8. Score global axes (`scoring.md`) with arithmetic shown. 9. Emit report (`output-templates.md`). Include **Top directions** (max 5): imperative, no sample wording. ### Mandatory sections (fail self-check if any missing) TL;DR · 10-SECOND READ · ROLE FAMILY · GRADE INFLATION · ANTI-PERSONAS (all 6) · EVIDENCE AUDIT with L# · STRUCTURE (state T or S) · SCORE (6 axes + Overall%) · VERDICT + Top directions MODE 2 also: CONTEXT · POSITIONING VS CONTEXT MODE 3 also: ARCHETYPES · per-archetype Match line `XX% = Core + Ach + Dom + Lang` · POOL SANITY · apply/retarget ### MODE 2 add - Extract context fields; if fewer than 3, stop and ask. - Positioning: what CV sells vs where they want to go; drift explicit. ### MODE 3 add - Follow `pipeline-pool.md` + Match formula in `scoring.md`. - Build **1–3 named archetypes** (not only a per-vacancy table). Map every vacancy id to an archetype or outliers. - Every archetype line must show: `Match XX% = 0.aa (Core) + 0.bb (Ach) + 0.cc (Dom) + 0.dd (Lang)`. - Per-archetype scores; do not average into one fake fit. - Pool sanity: does the vacancy set match context? ### Self-check (before send; not in output) - [ ] All mandatory sections for this MODE present (headers exact enough to grep) - [ ] Line coverage claimed N/N is honest - [ ] Score components sum to stated totals - [ ] Every hard verdict has a quote - [ ] No rewritten candidate bullets / no company-by-company replacement Experience - [ ] MODE matches available inputs - [ ] All six anti-personas listed - [ ] Grade inflation block present ## Constraints - No ghostwriting CV content. On rewrite pressure → **Pressure protocol** above. - Do not invent skills or terms absent from resume/pool. - Match/Overall always with component breakdown. - Report language = resume language. - Canonical terms in MODE 3 = majority form inside archetype. - Photo/salary rules: follow `hh-ats-norms.md` (photo disputed — do not dogmatic). ## Common mistakes (agent) | Mistake | Fix | |---------|-----| | Demanding 12 JDs for "прожарь резюме" | Run MODE 1 | | Softening verdict to be nice | Use bands; state breaks | | Writing better bullets | Directions only + Pressure protocol | | Skipping anti-personas | Name all six with CLEAR/PARTIAL/NONE | | Fake precision DomainMatch | Use 5-level rubric only | | Mixing Rubric T and S silently | State which rubric | | Praising big ARR without ownership | Attribution test; often WEAK/FAIL | | Free-form essay without L# / scores | Mandatory sections table | | MODE 3 as per-vacancy blog only | Named archetypes + Match formula lines | | Grilling a DOCX or URL without stop | MODE 0 intake | | Full PM scoring on pure IC dev CV without consent | Ask reduced-accuracy or stop | | MODE 3 on 2–3 JDs without thin-pool warn | Warn; stop unless user insists |