Skip to content

feat: AI resume authoring skills (JD → tailored resume.json)#1

Merged
opariffazman merged 14 commits into
mainfrom
feat/ai-resume-skills
Jun 11, 2026
Merged

feat: AI resume authoring skills (JD → tailored resume.json)#1
opariffazman merged 14 commits into
mainfrom
feat/ai-resume-skills

Conversation

@opariffazman

@opariffazman opariffazman commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Summary

Adds an AI authoring layer on top of the existing JSON Resume publisher. Two Claude Code skills turn a job description into a tailored, schema-valid resume.json, backed by a machine-enforced honesty gate. The existing build/deploy/delete pipeline is untouched.

  • intake-profile skill — builds the canonical profile/master.json (full career history) by interviewing the user or importing an old PDF/CV/LinkedIn export.
  • tailor-resume skill — reads master.json + a JD and writes resumes/<company>/resume.json as a pruned, JD-ranked view of the master, reporting JD gaps in chat.
  • Honesty policy (suggest-but-mark) — skills never fabricate facts; plausible-but-unconfirmed additions are tagged [VERIFY]. scripts/validate.mjs fails on schema errors and on any surviving [VERIFY] marker, so unverified claims can't deploy. Canonical behavior lives in one shared tailoring-rules.md.
  • Validation — hand-authored lenient schema/resume.schema.json (accepts the repo's legacy company/website fields), validate-core.mjs (unit-tested), validate.mjs CLI, plus a CI validate job gating build and a PR validate.yml.
  • Scaffold for newcomersprofile/master.example.json, an examples/ worked example (master → JD → tailored output, faithful & [VERIFY]-free), CLAUDE.md conventions, and a README "AI Authoring" section.

Design spec and implementation plan included under docs/superpowers/.

Why master-as-source-of-truth: a single canonical history prevents drift across per-company resumes; each tailored file is derived, never the origin.

Test Plan

  • npm test — 6/6 unit tests pass (validate-core: schema validation + [VERIFY] path scanning, incl. root-string and multi-marker cases)
  • npm run validate — 3/3 documents valid (sample, master.example, expected-resume), exit 0
  • [VERIFY] gate verified: a resume with a surviving marker fails validation (exit 1) with the offending path reported
  • Pipeline untouched: only ci.yml change is the new validate job + build needs: edit; deploy/delete and all scripts/*.sh unchanged
  • examples/expected-resume.json lives outside resumes/ so the deploy trigger never publishes it
  • Reviewer: skim the two SKILL.md files + tailoring-rules.md for the honesty policy wording

🤖 Generated with Claude Code

opariffazman and others added 14 commits June 11, 2026 23:42
Skill-only authoring layer atop the existing publisher: intake-profile
bootstraps profile/master.json (interview or PDF/CV/LinkedIn import),
tailor-resume produces JD-ranked resumes/<co>/resume.json views with a
suggest-but-mark [VERIFY] policy enforced by validate.mjs. Build/deploy
pipeline untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@opariffazman
opariffazman merged commit 80d7885 into main Jun 11, 2026
1 check passed
@opariffazman
opariffazman deleted the feat/ai-resume-skills branch June 11, 2026 16:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant