review-software-engineer-cv · diff
git:20260709.763dbe9 to git:20260801.53c3686
31 added, 76 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.
+ 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.
+ 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.
+ > 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` |
- 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.
+ 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.
+ 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` |
+ | 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).
+ 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.
+ 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 |
## 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 |
- 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.
+ 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.
+ 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.
+ 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:
+ 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.
+ 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.
+ 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`.
+ 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`.
+ 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.
+ 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?"
+ 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.
+ 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.
+ 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.
+ 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.