/lockedin-audit
Scores any resume or cover letter against LockedIn's calibrated rubric. No vault required. Three modes: score, refine, refine then score. Activate when the user says "audit my resume", "score my resume", "check my resume", or provides a resume file and asks for feedback. Also
$ npx -y skills add daypunk/LockedIn --skill lockedin-audit --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/lockedin-audit
Context preview
The summary Claude sees to decide when to auto-load this skill.
Scores any resume or cover letter against LockedIn's calibrated rubric. No vault required. Three modes: score, refine, refine then score. Activate when the user says "audit my resume", "score my resume", "check my resume", or provides a resume file and asks for feedback. Also
SKILL.md
lockedin-audit.SKILL.mdname: lockedin-audit
description: |
Scores any resume or cover letter against LockedIn's calibrated
rubric. No vault required. Three modes: score, refine, refine then
score.
Activate when the user says "audit my resume", "score my resume",
"check my resume", or provides a resume file and asks for feedback.
Also triggered after a completed `lockedin ingest`.
lockedin-audit
Scores and refines existing resume or cover-letter documents against the same rubric used by `render-resume-en` and `render-jaso`. No vault is required for the drive-by path.
Entry points
A. Drive-by audit (no vault required)
User provides a file path. The skill:
1. Calls `lockedin ingest <path> --dry-run` via Bash to extract text without mutating the vault. 2. Detects document type (English resume vs. Korean cover letter (jaso)) from content and file name. 3. Routes to the correct rubric (see RUBRIC.md) and runs the selected mode (default: Score only for drive-by). 4. Returns a markdown report. No vault writes. No file writes.
B. Post-ingest audit (existing vault user)
Triggered when `lockedin ingest` has just completed and merged N new entities into the vault. The skill presents a 4-option menu:
Ingest complete. <N> new entities merged into vault.
What next?
[1] Score only — apply rubric to the source document as-is.
No vault changes.
[2] Refine only — diff-based refinement of merged entities
(normalize metrics, replace weak action verbs,
restructure highlights). Every change shown as
diff, user approves before vault write.
[3] Refine then Score — refinement followed by scoring of refined
output (DEFAULT RECOMMENDED — quantifies score
lift)
[4] SkipThree operating modes
Mode 1 — Score only
Applies the rubric to the source document and emits a clean markdown report. Steps:
1. Detect document type (English resume or Korean cover letter (jaso)). 2. Load the appropriate rubric via RUBRIC.md routing. 3. **Writer turn** (`prompt-scorer.md`): reads the source, quotes specific lines as evidence, produces a draft score narrative. 4. **Reviewer turn** (`prompt-reviewer.md`): runs in a SEPARATE Claude context, re-loads RUBRIC.md fresh, emits a JSON score. 5. Merge writer narrative and reviewer JSON into the final markdown report (see Output format).
No vault writes. Source document is read-only.
Mode 2 — Refine only
Proposes targeted refinements to the source document (or to vault entities if triggered post-ingest). Steps:
1. Load the source document (or vault entities to refine). 2. **Refiner turn** (`prompt-refiner.md`): iterates over bullets / paragraphs and proposes changes in three categories:
- Metric normalization (e.g., "improved performance" ->
"reduced p95 latency 40% over Q3 2025").
- Action verb replacement (weak -> strong, per banned_phrases.json
from the relevant render skill).
- Highlight restructuring (group, sequence, deduplicate).
3. For **each proposed change**: show original line + proposed line + one-sentence rationale. Ask the user yes/no. 4. Never invent facts. If the source lacks data for a stronger version of a line, the refiner surfaces a "missing data" note and asks the user if they have it. It does NOT fabricate a metric. 5. After all yes/no decisions, collect approved changes. 6. Post-ingest path: apply approved changes to vault via documented CLI commands (with dry-run preview). Drive-by path: emit a revised document as markdown for the user to copy.
Mode 3 — Refine then Score (default for post-ingest)
Chains Mode 2 then Mode 1. After refinement is approved:
1. Run scorer + reviewer on the refined output. 2. Report both the pre-refinement score (from the original document) and the post-refinement score (from the refined version). 3. Display the delta per dimension so the user can see the impact of each change.
Output includes a side-by-side comparison table:
| Dimension | Before | After | Delta |
Output format
All output is clean markdown. No badges. No verification blocks. No images. No emoji-heavy decorations.
Score report
## Audit Report — {filename or "source document"}
**Document type**: English resume / Korean cover letter (jaso)
**Mode**: Score only / Refine then Score
### Scores
| Dimension | Score |
| --- | --- |
| {dim 1} | N.N / 5.0 |
| {dim 2} | N.N / 5.0 |
| {dim 3} | N.N / 5.0 |
| {dim 4} | N.N / 5.0 |
| {dim 5} | N.N / 5.0 |
| **Total** | **N.N / 5.0** |
### Evidence
{For each dimension: one sentence rationale + the specific line(s)
from the source that drove the score.}
### Issues to address
{2–3 specific, actionable improvement notes. Each references a
specific line and a specific fix.}
### Banned phrase hits
{List each hit with surrounding context, or "None".}Refine then Score delta report (Mode 3 only)
Appended after the score section:
### Score delta (Refine then Score)
| Dimension | Before | After | Delta |
| --- | --- | --- | --- |
| {dim 1} | N.N | N.N | +N.N |
| ... | | | |Required design constraints
- **Two-turn writer/reviewer.** Scorer (writer turn) and reviewer
(reviewer turn) run in separate Claude contexts. RUBRIC.md must be re-loaded fresh in the reviewer turn. See CLAUDE.md working agreement: same-context self-evaluation inflates scores by ~1 point.
- **Never invent facts.** Refinements reshape existing content.
Missing data surfaces as a question to the user, never as a fabricated claim.
- **Refinement diffs always shown before vault mutation.** The
default is ask, not auto-apply. This is non-negotiable.
- **Reuses existing rubrics.** The five dimensions are defined in
`../lockedin-render-resume-en/RUBRIC.md` (English) and `../lockedin-render-ja
Read more
name: lockedin-audit description: | Scores any resume or cover letter against LockedIn's calibrated rubric. No vault required. Three modes: score, refine, refine then score. Activate when the user says "audit my resume", "score my resume", "check my resume", or provides a resume file and asks for feedback. Also triggered after a completed `lockedin ingest`.
lockedin-audit
Scores and refines existing resume or cover-letter documents against the same rubric used by `render-resume-en` and `render-jaso`. No vault is required for the drive-by path.
Entry points
A. Drive-by audit (no vault required)
User provides a file path. The skill:
1. Calls `lockedin ingest <path> --dry-run` via Bash to extract text without mutating the vault. 2. Detects document type (English resume vs. Korean cover letter (jaso)) from content and file name. 3. Routes to the correct rubric (see RUBRIC.md) and runs the selected mode (default: Score only for drive-by). 4. Returns a markdown report. No vault writes. No file writes.
B. Post-ingest audit (existing vault user)
Triggered when `lockedin ingest` has just completed and merged N new entities into the vault. The skill presents a 4-option menu:
Ingest complete. <N> new entities merged into vault.
What next?
[1] Score only — apply rubric to the source document as-is.
No vault changes.
[2] Refine only — diff-based refinement of merged entities
(normalize metrics, replace weak action verbs,
restructure highlights). Every change shown as
diff, user approves before vault write.
[3] Refine then Score — refinement followed by scoring of refined
output (DEFAULT RECOMMENDED — quantifies score
lift)
[4] SkipThree operating modes
Mode 1 — Score only
Applies the rubric to the source document and emits a clean markdown report. Steps:
1. Detect document type (English resume or Korean cover letter (jaso)). 2. Load the appropriate rubric via RUBRIC.md routing. 3. **Writer turn** (`prompt-scorer.md`): reads the source, quotes specific lines as evidence, produces a draft score narrative. 4. **Reviewer turn** (`prompt-reviewer.md`): runs in a SEPARATE Claude context, re-loads RUBRIC.md fresh, emits a JSON score. 5. Merge writer narrative and reviewer JSON into the final markdown report (see Output format).
No vault writes. Source document is read-only.
Mode 2 — Refine only
Proposes targeted refinements to the source document (or to vault entities if triggered post-ingest). Steps:
1. Load the source document (or vault entities to refine). 2. **Refiner turn** (`prompt-refiner.md`): iterates over bullets / paragraphs and proposes changes in three categories:
- Metric normalization (e.g., "improved performance" ->
"reduced p95 latency 40% over Q3 2025").
- Action verb replacement (weak -> strong, per banned_phrases.json
from the relevant render skill).
- Highlight restructuring (group, sequence, deduplicate).
3. For **each proposed change**: show original line + proposed line + one-sentence rationale. Ask the user yes/no. 4. Never invent facts. If the source lacks data for a stronger version of a line, the refiner surfaces a "missing data" note and asks the user if they have it. It does NOT fabricate a metric. 5. After all yes/no decisions, collect approved changes. 6. Post-ingest path: apply approved changes to vault via documented CLI commands (with dry-run preview). Drive-by path: emit a revised document as markdown for the user to copy.
Mode 3 — Refine then Score (default for post-ingest)
Chains Mode 2 then Mode 1. After refinement is approved:
1. Run scorer + reviewer on the refined output. 2. Report both the pre-refinement score (from the original document) and the post-refinement score (from the refined version). 3. Display the delta per dimension so the user can see the impact of each change.
Output includes a side-by-side comparison table:
| Dimension | Before | After | Delta |
Output format
All output is clean markdown. No badges. No verification blocks. No images. No emoji-heavy decorations.
Score report
## Audit Report — {filename or "source document"}
**Document type**: English resume / Korean cover letter (jaso)
**Mode**: Score only / Refine then Score
### Scores
| Dimension | Score |
| --- | --- |
| {dim 1} | N.N / 5.0 |
| {dim 2} | N.N / 5.0 |
| {dim 3} | N.N / 5.0 |
| {dim 4} | N.N / 5.0 |
| {dim 5} | N.N / 5.0 |
| **Total** | **N.N / 5.0** |
### Evidence
{For each dimension: one sentence rationale + the specific line(s)
from the source that drove the score.}
### Issues to address
{2–3 specific, actionable improvement notes. Each references a
specific line and a specific fix.}
### Banned phrase hits
{List each hit with surrounding context, or "None".}Refine then Score delta report (Mode 3 only)
Appended after the score section:
### Score delta (Refine then Score)
| Dimension | Before | After | Delta |
| --- | --- | --- | --- |
| {dim 1} | N.N | N.N | +N.N |
| ... | | | |Required design constraints
- **Two-turn writer/reviewer.** Scorer (writer turn) and reviewer
(reviewer turn) run in separate Claude contexts. RUBRIC.md must be re-loaded fresh in the reviewer turn. See CLAUDE.md working agreement: same-context self-evaluation inflates scores by ~1 point.
- **Never invent facts.** Refinements reshape existing content.
Missing data surfaces as a question to the user, never as a fabricated claim.
- **Refinement diffs always shown before vault mutation.** The
default is ask, not auto-apply. This is non-negotiable.
- **Reuses existing rubrics.** The five dimensions are defined in
`../lockedin-render-resume-en/RUBRIC.md` (English) and `../lockedin-render-ja
LockedIn lives inside your Claude Code session. While you're coding or writing docs, save the work that matters as structured experience.

