Resume team
Run the capability-isolated native Researcher, Writer, Auditor, and Editor runtime to publish a verified Markdown resume draft. Use when Codex is asked to tailor or generate a resume from a job description with strict provenance, human-voice, canonical-integrity, and draft-publication gates using the Codex subscription rather than external model APIs.From its SKILL.md
npx -y skills add jananthan30/Resume-Builder --skill resume-teamAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
7.8 KB, as published. Nobody here has run it
Resume Team
-
Resolve the plugin root two directories above this file. Require macOS or Linux,
candidate_fit_preflight.py,native_resume_team.py,config.json, and the configured master resume. Fail closed if any is unavailable. Put the exact job description in a private temporary UTF-8 file, and generate a saferun_id, safecase_id, and strict ISOas_of_date. Before invoking the native team or creating an output directory, screen onlymaster_resume_pathfromconfig.json(never a previous tailored resume):python candidate_fit_preflight.py --resume <CONFIGURED_MASTER> --job-description <PRIVATE_EXACT_JD.txt> --run-id <RUN_ID> --case-id <CASE_ID> --as-of-date <YYYY-MM-DD> --jsonContinue only on exit
0and a valid digest-boundcandidate-fit-policy-v3report with threshold70.0, score at least70, trustworthy extraction, zero hard knockouts,passed: true, and no codes. Canonically hash the exact report ascandidate_fit_report_digest. Exit1, any score below 70 (including 60–69), or any hard knockout isREJECTED:CANDIDATE_FIT; report it and create no output, draft, DOCX, or tracker row. Exit2or an unavailable, malformed, stale, non-canonical, or digest-mismatched report isFAILED:CANDIDATE_FIT_PREFLIGHT. Neither condition has a bypass. ATS/HR scores are advisory and cannot override candidate fit. -
Only after candidate fit passes, run the non-model host preflight. Windows is not supported by the hardened runtime; its host preflight returns
POSIX_RUNTIME_REQUIRED:python native_resume_team.py --host codex --check-host --config config.jsonContinue only when it exits
0and returnsready: truewith every check passing. -
Choose only a prospective new output path. Use a user-supplied path only when it does not exist; otherwise derive a sanitized, non-existing
applications/<Company> - <Role>path from the job description. Do not create it. Never reuse, replace, or clobber an existing output orresume.md; the runtime intentionally has no replacement mode. -
Capture the runtime's exact stdout in a private temporary result file so the result-provided authorization sidecar path and digest remain available to finalization:
runtime_result_file="$(mktemp)"; python native_resume_team.py --host codex --job-description-file <PRIVATE_EXACT_JD.txt> --output-dir <APP_DIR> --config config.json --run-id <RUN_ID> --case-id <CASE_ID> --as-of-date <YYYY-MM-DD> >"$runtime_result_file"Preserve and check the Python process exit status before parsing the single JSON result from that file. Do not reconstruct result fields from logs or filenames. The runtime independently recomputes the same fit report before constructing an output or role adapter. Require its report and canonical digest to exactly match the caller-validated preflight. Only then does it create
<APP_DIR>and atomically bind that exact text to<APP_DIR>/job_description.txt; it accepts only a byte-identical pre-existing regular file and never clobbers a different one. The Researcher contract admits only nonblank, alphanumeric requirements that each cover one exact, unique, complete non-separator JD line; substrings are rejected so surrounding negation, scope, bounds, and qualification cannot be trimmed before the Writer or Auditor sees the rubric.Omit
--modeland--reasoning-effortby default. The hardened subprocess ignores user configuration and transient parent-session settings, so report its effective model/reasoning selection as the isolated managed CLI default and unknown—not as an inherited model, Ultra setting, or profile. Only when the user explicitly requests a Codex pin may you append--model <exact-model>and/or--reasoning-effort ultra. There is no runtime profile or replacement option; always choose a new output directory and fail closed rather than clobber an existing artifact. -
Accept draft-stage success only when the process exits
0, the captured result isresume-team-result/v2withterminal_class: PUBLISHED, itscandidate_fit_reportandcandidate_fit_report_digestexactly match the independently validated preflight, and<APP_DIR>/resume.mdexists with the reportedfinal_draft_digest. Independently hashresume.md. Resolve the exactauthorization_receipt_pathfrom that result against<APP_DIR>when relative and require the resolved path's parent to equal the resolved output directory. Then invoke the code-bound acceptance gate with the exact result-provided digest and require exit0plusverified: true:python final_receipt_verifier.py --resume <APP_DIR>/resume.md --receipt <RESOLVED_RECEIPT_PATH> --expected-receipt-digest <authorization_receipt_digest-from-captured-runtime-result> --config config.jsonThis verifier reads only regular, non-symlink artifacts, validates the
resume-team-final-receipt/v2sidecar againstschemas/resume-team-final-receipt.schema.json, enforces canonical receipt bytes and digest, and binds the receipt to the actual resume, current configured master, and fixed siblingjob_description.txt. Its checks include the exact passing candidate-fit report and digest; matching run/case IDs;draft_digest,source_digest,job_description_digest, andverified_target_digest; a SHA-256 Researcher artifact; distinct same-host native Researcher/Auditor identities; an exact same-draft PASSauditor_attestation; and the exact passingauthorization_reportwith three ordered namedevidence,human_voice, andcanonical_integrityvotes, no codes, no findings, distinct invocation IDs,canonical_digest(authorization_report) == authorization_digest, matching vote-ID order, and a non-empty publication ID. Manual inspection may explain these properties but may not replace the verifier. Any missing, malformed, stale, or mismatched value fails closed. On any failure, report the stable failure class and do not create a replacement, DOCX, tracker update, or success message. -
State explicitly that
PUBLISHEDmeans only an authorized, digest-verifiedresume.mddraft-stage artifact. It is not DOCX generation, tracker completion, cleanup, or a completed application package. If this skill was called standalone, report the draft as ready for finalization. Only a caller implementing/resumeor/tailor-resumemay continue its existing ordered DOCX, tracker, artifact-verification, cleanup, and final-report gates. That caller must retain the captured result, use onlycreate_resume_from_md_authorized,create_cover_letter_from_md_authorized, andadd_application_authorized, and pass the exact resolved sidecar path and result-provided digest to every wrapper. Invokefinal_receipt_verifier.pyagain immediately before each finalization boundary; the wrappers also revalidate at the side-effect boundary. Preserve the durable receipt during transient cleanup. Advance state only after a verified non-empty regular DOCX or a tracker return value that is literallyTrue, propagate every exception, and do not report package completion until all gates pass.
Do not manually spawn role agents as a fallback. The CLI runtime isolates Codex roles in empty temporary working directories, disables interactive tool surfaces, verifies unique native invocation identities, runs the three deterministic votes, and performs receipt/readback-bound draft publication.