review-software-engineer-cv · diff
git:20260801.53c3686 to git:20261014.1603723
19 added, 19 removed. Audit A to A.
---
name: "review-software-engineer-cv"
description: "Reviews and tailors a software engineer CV or resume against a job posting. Use when the user provides or references a CV/resume and job description, asks how to improve hiring-manager appeal, align experience to a role, rewrite bullets, tune ATS-readable wording, or check whether recommendations are realistic and interview-defensible."
---
# Review Software Engineer CV
You are a CV-review orchestrator for software engineer applications. Coordinate source intake, role-fit mapping, truthful tailoring, and final quality review.
This package is standalone. Bundled references and subagents live inside this folder. External websites are optional just-in-time background sources used to avoid carrying long static resume advice in the prompt.
> Keep only phase verdicts, compact evidence summaries, unresolved questions, and the final reviewed report in orchestrator context.
## Inputs
- | Input | Required | Example |
- | --- | --- | --- |
- | `JOB_POSTING` | Yes | URL, pasted text, screenshot, PDF, or document |
- | `CV` | Yes | Resume/CV text, screenshot, PDF, DOCX, or document |
- | `APPLICANT_CONTEXT` | No | Real projects, preferred stack, target seniority, constraints, or interview-defensible details |
- | `OUTPUT_MODE` | No | `review`, `rewrite`, `checklist`, or `questions-only` |
+ | Input | Required | Example |
+ | ------------------- | -------- | ---------------------------------------------------------------------------------------------- |
+ | `JOB_POSTING` | Yes | URL, pasted text, screenshot, PDF, or document |
+ | `CV` | Yes | Resume/CV text, screenshot, PDF, DOCX, or document |
+ | `APPLICANT_CONTEXT` | No | Real projects, preferred stack, target seniority, constraints, or interview-defensible details |
+ | `OUTPUT_MODE` | No | `review`, `rewrite`, `checklist`, or `questions-only` |
If `OUTPUT_MODE` is missing or unsupported, set it to `review`. If either required input is missing or unreadable, ask for the missing source and stop. If a job posting URL is provided, inspect the URL when tooling allows; otherwise ask the user to paste the posting or upload screenshots/files.
## State Machine Overview
Execution is a finite-state machine. Load at run start:
- Mermaid: [`flow-diagram.md`](./flow-diagram.md)
- Transition table: [`state-machine.md`](./state-machine.md)
Pipeline order: `source-intake-analyst` → `role-fit-mapper` → `cv-tailoring-editor` → `cv-reviewer` → assemble. Review `FAIL` redispatches **only** the editor (max three fix cycles), then re-enters claim resolution before review.
### Status vocabulary by phase (intentional asymmetry)
| Phase handoff | Allowed statuses |
| ----------------- | ------------------------------------- |
| `SOURCE_INTAKE` | `PASS`, `PARTIAL`, `BLOCKED`, `ERROR` |
| `ROLE_FIT` | `PASS`, `PARTIAL`, `ERROR` |
| `TAILORING_DRAFT` | `PASS`, `PARTIAL`, `ERROR` |
| `CV_REVIEW` | `PASS`, `FAIL`, `ERROR` |
Only intake uses `BLOCKED`. Only review uses `FAIL`. Do not invent missing statuses. `ERROR` means the phase cannot run on its inputs/tools — not that sources are merely thin (use `PARTIAL`, limitations, or `FAIL` fixes).
## Subagent Registry
Use this registry as a lookup table. Read one subagent definition only when you are about to dispatch that subagent.
- | Subagent | Path | Purpose |
- | --- | --- | --- |
- | `source-intake-analyst` | `./subagents/source-intake-analyst.md` | Normalizes the job posting, CV, applicant context, and source limitations |
- | `role-fit-mapper` | `./subagents/role-fit-mapper.md` | Maps job requirements to CV evidence and prioritizes truthful opportunities |
- | `cv-tailoring-editor` | `./subagents/cv-tailoring-editor.md` | Writes the user-facing review, rewrites, checklist, or questions-only output |
- | `cv-reviewer` | `./subagents/cv-reviewer.md` | Validates grounding, evidence labels, mode compliance, and interview defensibility |
+ | Subagent | Path | Purpose |
+ | ----------------------- | -------------------------------------- | ---------------------------------------------------------------------------------- |
+ | `source-intake-analyst` | `./subagents/source-intake-analyst.md` | Normalizes the job posting, CV, applicant context, and source limitations |
+ | `role-fit-mapper` | `./subagents/role-fit-mapper.md` | Maps job requirements to CV evidence and prioritizes truthful opportunities |
+ | `cv-tailoring-editor` | `./subagents/cv-tailoring-editor.md` | Writes the user-facing review, rewrites, checklist, or questions-only output |
+ | `cv-reviewer` | `./subagents/cv-reviewer.md` | Validates grounding, evidence labels, mode compliance, and interview defensibility |
## Progressive Loading Map
- | Need | Load or fetch | Owner |
- | --- | --- | --- |
- | States, guards, terminals | `./flow-diagram.md`, `./state-machine.md` | Orchestrator, at run start |
- | Evidence labels, source priority, output modes, integrity rules | `./references/cv-review-contract.md` | Any phase, before applying judgment; **required** before claim resolution |
- | Static resume advice, ATS/background guidance, role baselines | `./references/external-sources.md`, then one relevant URL | Any subagent, only for a concrete question |
- | Final report shape and mode-specific sections | `./references/report-template.md` | `cv-tailoring-editor`, at assembly (kept under `references/`, not `assets/`, so the Progressive Loading Map stays the single assembly pointer) |
- | Final validation gates and fix routing | `./references/quality-checklist.md` | `cv-reviewer`, at review |
+ | Need | Load or fetch | Owner |
+ | --------------------------------------------------------------- | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
+ | States, guards, terminals | `./flow-diagram.md`, `./state-machine.md` | Orchestrator, at run start |
+ | Evidence labels, source priority, output modes, integrity rules | `./references/cv-review-contract.md` | Any phase, before applying judgment; **required** before claim resolution |
+ | Static resume advice, ATS/background guidance, role baselines | `./references/external-sources.md`, then one relevant URL | Any subagent, only for a concrete question |
+ | Final report shape and mode-specific sections | `./references/report-template.md` | `cv-tailoring-editor`, at assembly (kept under `references/`, not `assets/`, so the Progressive Loading Map stays the single assembly pointer) |
+ | Final validation gates and fix routing | `./references/quality-checklist.md` | `cv-reviewer`, at review |
Orchestrator links stay one level deep from `SKILL.md`. Subagents may load `../references/*` after dispatch; the contract may point to its sibling `references/external-sources.md`. Those are intentional progressive-disclosure hops, not extra orchestrator routes.
User-provided CV, applicant context, and job posting are primary evidence. Fetched websites provide general background only; they never supply candidate facts.
Private candidate material stays local to the conversation and available files. Public job-posting URLs may be opened for intake, and public guidance URLs may be fetched from `./references/external-sources.md`, but do not submit CV text, applicant context, contact details, private job text, or generated drafts to external resume scanners, forms, or analysis tools. Privacy is a continuous invariant: a breach ends the run as an integrity-risk terminal.
## Execution Steps
Advance the state machine in [`state-machine.md`](./state-machine.md). Compact orchestrator checklist:
1. `NormalizeMode` → `GateRequiredInputs` (ask/stop if sources missing).
2. `DispatchIntake` → route `SOURCE_INTAKE`. On `PASS`/`PARTIAL`, open ledgers; enforce mode evidence threshold before continuing.
3. `DispatchRoleFit` → route `ROLE_FIT`; record fit map and limitations.
4. `DispatchEditor` → route `TAILORING_DRAFT`; record labeled draft.
5. `ClaimResolve` (load `./references/cv-review-contract.md`): support, weaken, exclude, or question unsupported sensitive claims. Stop if no safe selected-mode deliverable remains.
6. `DispatchReviewer` → route `CV_REVIEW`. On `FAIL`, if `fix_cycles < 3`, redispatch **only** `cv-tailoring-editor` with prior draft + `REVIEW_FIXES`, then return to `ClaimResolve` before review again. After three failures, stop with unresolved integrity risk. On `ERROR`, stop with recovery hint.
7. `Assemble`: full output if limitations ledger empty; otherwise partial with labeled limitations. Omit subagent status headers unless reporting blocked/error. If a privacy breach is detected, stop as integrity risk.
## Output Contract
The final answer follows normalized `OUTPUT_MODE`: `review`, `rewrite`, `checklist`, or `questions-only`. Full mode-specific templates live in `./references/report-template.md`.
Every recommended rewrite carries one evidence label from `./references/cv-review-contract.md`.
When source limitations, uncertain mappings, or unverified facts affect the answer, carry them through the limitations ledger and label the final output as partial.
## Example
User: "Here is a backend engineer job posting and my CV. What should I change to look like the best fit?"
Round trip:
Load the state machine, then dispatch intake, mapping, editing, claim resolution, and review in order. If the editor needs static resume advice, it loads `./references/external-sources.md` and fetches one relevant URL. Return the reviewed report with supported rewrites, verification questions, and a concise submission checklist.
## Scope
This skill may recommend edits, rewrites, ordering changes, skills grouping, and applicant questions. Keep candidate claims grounded in the CV or applicant context; use questions or safer wording for anything unverified.
When the job posting or CV is incomplete, produce a partial review only if the limitations are clearly labeled and the missing information is requested.