cue-ai 0.9.2 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -3
- package/README.md +148 -170
- package/bin/cue-learnings +30 -4
- package/bin/cue-review-progress +0 -0
- package/bin/cue-review-watch +0 -0
- package/dist/cue.js +4328 -3108
- package/package.json +1 -1
- package/plugins/cue/commands/cue-switch.md +1 -1
- package/plugins/cue/commands/cue.md +1 -1
- package/profiles/backend/profile.yaml +4 -0
- package/profiles/browser/profile.yaml +4 -0
- package/profiles/career/profile.yaml +2 -13
- package/profiles/commerce/profile.yaml +0 -2
- package/profiles/coolify/profile.yaml +0 -1
- package/profiles/core/profile.yaml +78 -11
- package/profiles/dash-merge-test/profile.yaml +6 -1
- package/profiles/designer/profile.yaml +9 -1
- package/profiles/dropshipping/profile.yaml +69 -0
- package/profiles/frontend/profile.yaml +4 -0
- package/profiles/google-ads/profile.yaml +34 -0
- package/profiles/google-analytics/profile.yaml +34 -0
- package/profiles/google-drive/profile.yaml +34 -0
- package/profiles/gstack/profile.yaml +117 -29
- package/profiles/marketing/profile.yaml +0 -1
- package/profiles/media/README.md +70 -0
- package/profiles/media/profile.yaml +104 -0
- package/profiles/nano-banana/profile.yaml +52 -0
- package/profiles/ops/profile.yaml +1 -2
- package/profiles/secops/profile.yaml +3 -0
- package/profiles/skill-writer/profile.yaml +15 -0
- package/profiles/video/profile.yaml +3 -0
- package/profiles/web-frontend-base/profile.yaml +6 -0
- package/profiles/webshop/profile.yaml +0 -1
- package/profiles/webshop-google/profile.yaml +1 -0
- package/profiles/x-growth-bot/profile.yaml +2 -0
- package/resources/icons/generate-icons.py +2 -128
- package/resources/mcps/configs/claude.sanitized.json +88 -20
- package/resources/mcps/configs/claude_runtime.sanitized.json +40 -1
- package/resources/mcps/configs/codex.sanitized.json +29 -0
- package/resources/skills/skills/career/job-hunter/LICENSE +21 -0
- package/resources/skills/skills/career/job-hunter/README.md +323 -0
- package/resources/skills/skills/career/job-hunter/SKILL.md +91 -0
- package/resources/skills/skills/career/job-hunter/agents/README.md +96 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-assessment-prep.md +195 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-ats-scan.md +155 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-bias-audit.md +224 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-cover-letter.md +69 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-decode-jd.md +117 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-fit-score.md +183 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-linkedin-audit.md +74 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-linkedin-scrape.md +255 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-portfolio-brief.md +123 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-reality-check.md +164 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-reference-prep.md +150 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-rejection-analysis.md +172 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-resume.md +70 -0
- package/resources/skills/skills/career/job-hunter/agents/apply-skills-gap-filler.md +109 -0
- package/resources/skills/skills/career/job-hunter/agents/career-internal.md +94 -0
- package/resources/skills/skills/career/job-hunter/agents/career-linkedin-content.md +173 -0
- package/resources/skills/skills/career/job-hunter/agents/career-linkedin-scanner.md +262 -0
- package/resources/skills/skills/career/job-hunter/agents/career-network-message.md +108 -0
- package/resources/skills/skills/career/job-hunter/agents/career-promote.md +102 -0
- package/resources/skills/skills/career/job-hunter/agents/career-review.md +71 -0
- package/resources/skills/skills/career/job-hunter/agents/interview-debrief.md +117 -0
- package/resources/skills/skills/career/job-hunter/agents/interview-mock.md +171 -0
- package/resources/skills/skills/career/job-hunter/agents/interview-panel-decoder.md +152 -0
- package/resources/skills/skills/career/job-hunter/agents/interview-prep.md +184 -0
- package/resources/skills/skills/career/job-hunter/agents/interview-question-bank.md +133 -0
- package/resources/skills/skills/career/job-hunter/agents/interview-research.md +148 -0
- package/resources/skills/skills/career/job-hunter/agents/offer-compare.md +117 -0
- package/resources/skills/skills/career/job-hunter/agents/offer-counteroffer.md +144 -0
- package/resources/skills/skills/career/job-hunter/agents/offer-deadline-manager.md +148 -0
- package/resources/skills/skills/career/job-hunter/agents/offer-negotiate.md +126 -0
- package/resources/skills/skills/career/job-hunter/agents/offer-schedule.md +99 -0
- package/resources/skills/skills/career/job-hunter/agents/offer-thankyou.md +80 -0
- package/resources/skills/skills/career/job-hunter/agents/search-company-research.md +146 -0
- package/resources/skills/skills/career/job-hunter/agents/search-follow-up.md +129 -0
- package/resources/skills/skills/career/job-hunter/agents/search-ghost-job-detector.md +152 -0
- package/resources/skills/skills/career/job-hunter/agents/search-inbox-scan.md +193 -0
- package/resources/skills/skills/career/job-hunter/agents/search-interview-scorecard.md +164 -0
- package/resources/skills/skills/career/job-hunter/agents/search-jobs.md +149 -0
- package/resources/skills/skills/career/job-hunter/agents/search-momentum-check.md +194 -0
- package/resources/skills/skills/career/job-hunter/agents/search-outreach.md +85 -0
- package/resources/skills/skills/career/job-hunter/agents/search-referral-finder.md +124 -0
- package/resources/skills/skills/career/job-hunter/agents/search-salary.md +96 -0
- package/resources/skills/skills/career/job-hunter/agents/search-send-email.md +109 -0
- package/resources/skills/skills/career/job-hunter/agents/search-tracker-update.md +127 -0
- package/resources/skills/skills/career/job-hunter/inputs/README.md +26 -0
- package/resources/skills/skills/career/job-hunter/inputs/apply-linkedin-url.txt +8 -0
- package/resources/skills/skills/career/job-hunter/inputs/interview-context.md +24 -0
- package/resources/skills/skills/career/job-hunter/inputs/job-description.md +20 -0
- package/resources/skills/skills/career/job-hunter/inputs/job-search-criteria.md +36 -0
- package/resources/skills/skills/career/job-hunter/inputs/my-linkedin.md +24 -0
- package/resources/skills/skills/career/job-hunter/inputs/my-resume.md +28 -0
- package/resources/skills/skills/career/job-hunter/inputs/search-outreach-target.md +24 -0
- package/resources/skills/skills/career/job-hunter/rules/README.md +37 -0
- package/resources/skills/skills/career/job-hunter/rules/writing-rules.md +81 -0
- package/resources/skills/skills/design/banana/SKILL.md +375 -0
- package/resources/skills/skills/design/banana/references/cost-tracking.md +47 -0
- package/resources/skills/skills/design/banana/references/gemini-models.md +236 -0
- package/resources/skills/skills/design/banana/references/mcp-tools.md +145 -0
- package/resources/skills/skills/design/banana/references/post-processing.md +192 -0
- package/resources/skills/skills/design/banana/references/presets.md +69 -0
- package/resources/skills/skills/design/banana/references/prompt-engineering.md +481 -0
- package/resources/skills/skills/design/banana/scripts/batch.py +97 -0
- package/resources/skills/skills/design/banana/scripts/cost_tracker.py +191 -0
- package/resources/skills/skills/design/banana/scripts/edit.py +159 -0
- package/resources/skills/skills/design/banana/scripts/generate.py +168 -0
- package/resources/skills/skills/design/banana/scripts/presets.py +154 -0
- package/resources/skills/skills/design/banana/scripts/setup_mcp.py +151 -0
- package/resources/skills/skills/design/banana/scripts/validate_setup.py +133 -0
- package/resources/skills/skills/gstack/ship/SKILL.md +13 -0
- package/resources/skills/skills/media/3d-logo-animation/SKILL.md +59 -0
- package/resources/skills/skills/media/action-figure-generator/SKILL.md +48 -0
- package/resources/skills/skills/media/ad-creative/SKILL.md +79 -0
- package/resources/skills/skills/media/ai-clipping/SKILL.md +194 -0
- package/resources/skills/skills/media/ai-clipping/scripts/run-ai-clipping.sh +200 -0
- package/resources/skills/skills/media/ai-fight-scene/SKILL.md +132 -0
- package/resources/skills/skills/media/amazon-product-listing/SKILL.md +68 -0
- package/resources/skills/skills/media/animal-video-generator/SKILL.md +59 -0
- package/resources/skills/skills/media/award-ceremony-video/SKILL.md +87 -0
- package/resources/skills/skills/media/blog-header/SKILL.md +61 -0
- package/resources/skills/skills/media/brand-kit/SKILL.md +72 -0
- package/resources/skills/skills/media/brochures/SKILL.md +65 -0
- package/resources/skills/skills/media/cartoon-dance-animation/SKILL.md +62 -0
- package/resources/skills/skills/media/character-story-video/SKILL.md +84 -0
- package/resources/skills/skills/media/chibi-collage-effect/SKILL.md +63 -0
- package/resources/skills/skills/media/cinema-director/SKILL.md +93 -0
- package/resources/skills/skills/media/cinema-director/scripts/generate-film.sh +78 -0
- package/resources/skills/skills/media/color-analysis-board/SKILL.md +71 -0
- package/resources/skills/skills/media/core-edit/SKILL.md +48 -0
- package/resources/skills/skills/media/core-edit/edit-image.sh +54 -0
- package/resources/skills/skills/media/core-edit/enhance-image.sh +191 -0
- package/resources/skills/skills/media/core-edit/lipsync.sh +144 -0
- package/resources/skills/skills/media/core-edit/video-effects.sh +193 -0
- package/resources/skills/skills/media/core-media/SKILL.md +49 -0
- package/resources/skills/skills/media/core-media/create-music.sh +169 -0
- package/resources/skills/skills/media/core-media/generate-image.sh +161 -0
- package/resources/skills/skills/media/core-media/generate-video.sh +137 -0
- package/resources/skills/skills/media/core-media/image-to-video.sh +228 -0
- package/resources/skills/skills/media/core-media/schema_data.json +18708 -0
- package/resources/skills/skills/media/core-media/upload.sh +41 -0
- package/resources/skills/skills/media/core-platform/SKILL.md +41 -0
- package/resources/skills/skills/media/core-platform/check-result.sh +37 -0
- package/resources/skills/skills/media/core-platform/setup.sh +31 -0
- package/resources/skills/skills/media/couple-grid-creator/SKILL.md +47 -0
- package/resources/skills/skills/media/design-guide/SKILL.md +73 -0
- package/resources/skills/skills/media/drone-style-video/SKILL.md +61 -0
- package/resources/skills/skills/media/fashion-try-on/SKILL.md +61 -0
- package/resources/skills/skills/media/floor-plan-rendering/SKILL.md +56 -0
- package/resources/skills/skills/media/freeze-effect-video/SKILL.md +100 -0
- package/resources/skills/skills/media/giant-product-showcase/SKILL.md +61 -0
- package/resources/skills/skills/media/instagram-post/SKILL.md +58 -0
- package/resources/skills/skills/media/interior-design/SKILL.md +61 -0
- package/resources/skills/skills/media/interior-design-visualizer/SKILL.md +57 -0
- package/resources/skills/skills/media/jewelry-product-video/SKILL.md +61 -0
- package/resources/skills/skills/media/kdenlive/SKILL.md +106 -0
- package/resources/skills/skills/media/kdenlive/scripts/assemble.sh +57 -0
- package/resources/skills/skills/media/kdenlive/scripts/common.sh +30 -0
- package/resources/skills/skills/media/kdenlive/scripts/inspect.sh +19 -0
- package/resources/skills/skills/media/kdenlive/scripts/reframe.sh +22 -0
- package/resources/skills/skills/media/kdenlive/scripts/render.sh +16 -0
- package/resources/skills/skills/media/kdenlive/scripts/title-card.sh +25 -0
- package/resources/skills/skills/media/keyboard-art-maker/SKILL.md +44 -0
- package/resources/skills/skills/media/logo-branding/SKILL.md +70 -0
- package/resources/skills/skills/media/logo-creator/SKILL.md +80 -0
- package/resources/skills/skills/media/logo-creator/scripts/create-logo.sh +38 -0
- package/resources/skills/skills/media/logo-generator/SKILL.md +56 -0
- package/resources/skills/skills/media/multi-angle-reshoot/SKILL.md +70 -0
- package/resources/skills/skills/media/multi-angle-shots/SKILL.md +73 -0
- package/resources/skills/skills/media/music-video/SKILL.md +61 -0
- package/resources/skills/skills/media/nano-banana/SKILL.md +80 -0
- package/resources/skills/skills/media/nano-banana/scripts/generate-nano-art.sh +54 -0
- package/resources/skills/skills/media/one-shot-video/SKILL.md +56 -0
- package/resources/skills/skills/media/photo-pack-generator/SKILL.md +205 -0
- package/resources/skills/skills/media/photo-pack-generator/scripts/generate-pack.sh +241 -0
- package/resources/skills/skills/media/product-ad-cinematic/SKILL.md +78 -0
- package/resources/skills/skills/media/product-campaign/SKILL.md +76 -0
- package/resources/skills/skills/media/product-showcase-video/SKILL.md +60 -0
- package/resources/skills/skills/media/product-video-ad-maker/SKILL.md +59 -0
- package/resources/skills/skills/media/rednote-cover/SKILL.md +57 -0
- package/resources/skills/skills/media/seedance-2/SKILL.md +632 -0
- package/resources/skills/skills/media/seedance-2/scripts/generate-seedance.sh +701 -0
- package/resources/skills/skills/media/selfie-with-celebrities/SKILL.md +64 -0
- package/resources/skills/skills/media/social-media-video/SKILL.md +277 -0
- package/resources/skills/skills/media/social-media-video/scripts/run-social-video.sh +316 -0
- package/resources/skills/skills/media/social-pack/SKILL.md +58 -0
- package/resources/skills/skills/media/storyboard/SKILL.md +57 -0
- package/resources/skills/skills/media/storyboard-to-cooking-video/SKILL.md +143 -0
- package/resources/skills/skills/media/talking-baby-video/SKILL.md +57 -0
- package/resources/skills/skills/media/ugc-ads-workflow/SKILL.md +70 -0
- package/resources/skills/skills/media/ugc-lifestyle-try-on/SKILL.md +65 -0
- package/resources/skills/skills/media/ugc-video-factory/SKILL.md +134 -0
- package/resources/skills/skills/media/ui-design/SKILL.md +81 -0
- package/resources/skills/skills/media/ui-design/scripts/generate-mockup.sh +49 -0
- package/resources/skills/skills/media/url-to-design/SKILL.md +61 -0
- package/resources/skills/skills/media/workflow/SKILL.md +197 -0
- package/resources/skills/skills/media/workflow/scripts/discover-workflow.sh +18 -0
- package/resources/skills/skills/media/workflow/scripts/generate-workflow.sh +33 -0
- package/resources/skills/skills/media/workflow/scripts/interactive-run.sh +16 -0
- package/resources/skills/skills/media/workflow/scripts/list-workflows.sh +20 -0
- package/resources/skills/skills/media/workflow/scripts/run-workflow.sh +34 -0
- package/resources/skills/skills/media/youtube-shorts/SKILL.md +173 -0
- package/resources/skills/skills/media/youtube-shorts/scripts/run-youtube-shorts.sh +141 -0
- package/resources/skills/skills/media/youtube-thumbnail/SKILL.md +66 -0
- package/resources/skills/skills/meta/cue-developer/references/architecture.md +2 -2
- package/resources/skills/skills/meta/cue-usage/SKILL.md +1 -1
- package/resources/skills/skills/meta/profile-fit-monitor/SKILL.md +2 -2
- package/resources/skills/skills/meta/profile-optimizer/SKILL.md +1 -1
- package/resources/skills/skills/meta/profile-suggest/SKILL.md +7 -7
- package/resources/skills/skills/meta/profile-summon/SKILL.md +159 -0
- package/resources/skills/skills/meta/profile-summon/evals/evals.json +53 -0
- package/resources/skills/skills/meta/save-profile/SKILL.md +1 -1
- package/resources/skills/skills/meta/skill-reviewer/SKILL.md +3 -0
- package/resources/skills/skills/meta/skill-reviewer/references/tdd-for-skills.md +55 -0
- package/resources/skills/skills/research/find-skills/SKILL.md +1 -1
- package/resources/skills/skills/review/code-review-deep/SKILL.md +20 -0
- package/resources/skills/skills/security/trivy-scan/SKILL.md +139 -0
- package/resources/skills/skills/security/trivy-scan/scripts/ensure-trivy.sh +21 -0
- package/resources/skills/skills/tools/ccusage/SKILL.md +142 -0
- package/src/commands/_index.ts +8 -0
- package/src/commands/ai.ts +2 -2
- package/src/commands/auto-detect.test.ts +74 -0
- package/src/commands/auto-detect.ts +9 -7
- package/src/commands/cli.test.ts +20 -4
- package/src/commands/cli.ts +36 -20
- package/src/commands/create-profile.ts +2 -2
- package/src/commands/debug.ts +2 -2
- package/src/commands/discover.ts +14 -4
- package/src/commands/export-docker.ts +1 -1
- package/src/commands/features-batch1.test.ts +1 -1
- package/src/commands/gates.ts +1 -1
- package/src/commands/import-profile.ts +1 -1
- package/src/commands/init.ts +15 -11
- package/src/commands/install.test.ts +192 -0
- package/src/commands/install.ts +610 -0
- package/src/commands/launch-handoff.e2e.test.ts +33 -1
- package/src/commands/launch.e2e.test.ts +15 -10
- package/src/commands/launch.ts +73 -116
- package/src/commands/materialize.ts +2 -2
- package/src/commands/prune.ts +1 -1
- package/src/commands/security-audit.ts +1 -1
- package/src/commands/shell.ts +7 -7
- package/src/commands/skill-report.ts +1 -1
- package/src/commands/skills.ts +3 -3
- package/src/commands/snapshot.ts +2 -2
- package/src/commands/summon.test.ts +116 -0
- package/src/commands/summon.ts +338 -0
- package/src/commands/trigger-gaps.ts +1 -1
- package/src/commands/use.ts +47 -3
- package/src/commands/watch-live.ts +5 -5
- package/src/commands/watch.ts +8 -8
- package/src/index.ts +2 -0
- package/src/lib/active-sessions.test.ts +3 -3
- package/src/lib/active-sessions.ts +4 -4
- package/src/lib/auto-detect.test.ts +172 -8
- package/src/lib/auto-detect.ts +191 -136
- package/src/lib/codex-persona-parity.test.ts +58 -0
- package/src/lib/companion-detect.test.ts +43 -1
- package/src/lib/companion-detect.ts +35 -0
- package/src/lib/credentials-sync.test.ts +121 -1
- package/src/lib/credentials-sync.ts +95 -1
- package/src/lib/cwd-resolver.test.ts +8 -8
- package/src/lib/cwd-resolver.ts +2 -2
- package/src/lib/dashboard-merge.test.ts +9 -4
- package/src/lib/dashboard-server.ts +1 -1
- package/src/lib/picker.test.ts +1 -1
- package/src/lib/picker.ts +5 -5
- package/src/lib/profile-merge.test.ts +8 -0
- package/src/lib/profile-names.test.ts +3 -3
- package/src/lib/runtime-install.ts +166 -0
- package/src/lib/runtime-materializer.test.ts +137 -0
- package/src/lib/runtime-materializer.ts +105 -2
- package/src/lib/skill-router.test.ts +38 -0
- package/src/lib/skill-router.ts +65 -4
- package/profiles/eu-tender-research/README.md +0 -48
- package/profiles/eu-tender-research/logo.png +0 -0
- package/profiles/eu-tender-research/profile.yaml +0 -108
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# Assessment Prep
|
|
2
|
+
|
|
3
|
+
## What This Does
|
|
4
|
+
|
|
5
|
+
Prepares you for the specific type of assessment standing between you
|
|
6
|
+
and the interview — HireVue, take-home projects, case studies, technical
|
|
7
|
+
screens, personality assessments, skills tests.
|
|
8
|
+
|
|
9
|
+
Companies use assessments to filter candidates before investing recruiter
|
|
10
|
+
time. Most candidates treat them as afterthoughts. The ones who do the
|
|
11
|
+
work to understand what's actually being tested pass at dramatically
|
|
12
|
+
higher rates.
|
|
13
|
+
|
|
14
|
+
## Instructions for Claude Code
|
|
15
|
+
|
|
16
|
+
### Step 1 — Load inputs
|
|
17
|
+
|
|
18
|
+
Read `inputs/my-resume.md`.
|
|
19
|
+
Read `inputs/job-description.md`.
|
|
20
|
+
Read `rules/writing-rules.md`.
|
|
21
|
+
|
|
22
|
+
Ask the user:
|
|
23
|
+
```
|
|
24
|
+
What type of assessment are you facing?
|
|
25
|
+
|
|
26
|
+
1. HireVue / video interview (AI-analyzed responses)
|
|
27
|
+
2. Take-home project or assignment
|
|
28
|
+
3. Case study / business case
|
|
29
|
+
4. Technical screen (coding, SQL, data, etc.)
|
|
30
|
+
5. Psychometric / personality assessment
|
|
31
|
+
6. Skills test (writing sample, Excel, etc.)
|
|
32
|
+
7. Presentation to the team
|
|
33
|
+
8. Not sure — here's what they told me: [let them describe]
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Wait for their answer. Then ask:
|
|
37
|
+
```
|
|
38
|
+
What did they tell you about it?
|
|
39
|
+
How long do you have?
|
|
40
|
+
What's the role / company?
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Step 2 — Assess-specific prep
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
**IF: HireVue / AI Video Interview**
|
|
48
|
+
|
|
49
|
+
What's actually being measured:
|
|
50
|
+
- Word choice and vocabulary (lexical diversity)
|
|
51
|
+
- Speaking pace and clarity
|
|
52
|
+
- Eye contact with camera (not screen)
|
|
53
|
+
- Facial expression consistency
|
|
54
|
+
- Response structure (they score whether you answer the actual question)
|
|
55
|
+
|
|
56
|
+
What most candidates get wrong:
|
|
57
|
+
- Looking at their own video instead of the camera
|
|
58
|
+
- Taking too long to start (hesitation is scored negatively)
|
|
59
|
+
- Meandering answers without a clear structure
|
|
60
|
+
- Ambient noise or poor lighting that triggers lower AI scores
|
|
61
|
+
|
|
62
|
+
Prep:
|
|
63
|
+
1. Answer format: Situation (10%) → Action (60%) → Result (30%). Every answer.
|
|
64
|
+
2. Practice specific to the questions they're likely to ask (from JD)
|
|
65
|
+
3. Camera setup: eye level, good light, minimal background noise
|
|
66
|
+
4. First 3 seconds: look at camera, state your answer directly, then support it
|
|
67
|
+
|
|
68
|
+
Write 5 practice questions specific to this role. For each, write a
|
|
69
|
+
model answer in the correct structure.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
**IF: Take-Home Project**
|
|
74
|
+
|
|
75
|
+
What's actually being measured:
|
|
76
|
+
- Quality of thinking, not just output
|
|
77
|
+
- Ability to scope and constrain
|
|
78
|
+
- How you communicate tradeoffs
|
|
79
|
+
- Whether you followed the instructions exactly
|
|
80
|
+
|
|
81
|
+
What most candidates get wrong:
|
|
82
|
+
- Over-engineering: 3 hours of work is usually enough, not 20
|
|
83
|
+
- Not explaining decisions: show your thinking, not just your answer
|
|
84
|
+
- Ignoring constraints: if they say 2 pages, 2 pages
|
|
85
|
+
- Not asking clarifying questions upfront (if allowed)
|
|
86
|
+
|
|
87
|
+
Prep:
|
|
88
|
+
Based on the role and the assignment described:
|
|
89
|
+
1. Clarifying questions to ask before starting (if allowed)
|
|
90
|
+
2. Suggested scope: what to include, what to consciously exclude
|
|
91
|
+
3. Structure for the deliverable
|
|
92
|
+
4. What to write as a cover note explaining your approach
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
**IF: Case Study / Business Case**
|
|
97
|
+
|
|
98
|
+
What's actually being measured:
|
|
99
|
+
- Structured thinking under pressure
|
|
100
|
+
- Ability to make a recommendation with incomplete information
|
|
101
|
+
- How you handle pushback
|
|
102
|
+
- Communication clarity
|
|
103
|
+
|
|
104
|
+
The MECE framework still dominates. Use it.
|
|
105
|
+
|
|
106
|
+
Prep:
|
|
107
|
+
1. The specific framework to use for this type of case
|
|
108
|
+
2. Common traps in this type of case (over-analyzing, refusing to commit)
|
|
109
|
+
3. How to handle "what if your data was wrong?"
|
|
110
|
+
4. The 60-second summary structure to use at the end
|
|
111
|
+
5. 2-3 practice cases specific to this industry/function
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
**IF: Technical Screen**
|
|
116
|
+
|
|
117
|
+
What's actually being measured:
|
|
118
|
+
- Problem decomposition
|
|
119
|
+
- How you handle being stuck
|
|
120
|
+
- Communication while working
|
|
121
|
+
- Verification behavior (do you test your own work?)
|
|
122
|
+
|
|
123
|
+
What most candidates get wrong:
|
|
124
|
+
- Going silent while thinking (narrate everything)
|
|
125
|
+
- Not asking clarifying questions before starting
|
|
126
|
+
- Getting stuck and freezing instead of thinking out loud
|
|
127
|
+
- Not checking edge cases
|
|
128
|
+
|
|
129
|
+
Based on the role, write:
|
|
130
|
+
1. The specific topics most likely to be tested
|
|
131
|
+
2. The most common questions for this role type
|
|
132
|
+
3. How to handle the question you don't know
|
|
133
|
+
4. What to say and do when you're stuck
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
**IF: Psychometric / Personality Assessment**
|
|
138
|
+
|
|
139
|
+
What's actually being measured (honestly):
|
|
140
|
+
- Role fit based on their internal models
|
|
141
|
+
- Consistency (if you contradict yourself across similar questions, you fail)
|
|
142
|
+
- Extremity checking (most assessments flag "always" and "never" responses)
|
|
143
|
+
|
|
144
|
+
What to know:
|
|
145
|
+
- There are no universally right answers — they're normed to the role
|
|
146
|
+
- Read the JD before taking it: answer as the person who would thrive in this role
|
|
147
|
+
- Be consistent — same question asked two ways should get the same answer
|
|
148
|
+
- Avoid extreme responses unless they're genuinely true
|
|
149
|
+
|
|
150
|
+
Prep:
|
|
151
|
+
1. The likely dimensions being tested for this role type
|
|
152
|
+
2. Which direction to lean on ambiguous questions (based on JD language)
|
|
153
|
+
3. Common trap questions where inconsistency is easy
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
**IF: Skills Test / Writing Sample**
|
|
158
|
+
|
|
159
|
+
For writing: apply `rules/writing-rules.md` in full
|
|
160
|
+
For Excel/data: specific functions and approaches for the likely task
|
|
161
|
+
For other: describe the task, get specific prep
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
### Step 3 — The Calibration Note
|
|
166
|
+
|
|
167
|
+
End every assessment prep with:
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
THE RIGHT AMOUNT OF EFFORT
|
|
171
|
+
|
|
172
|
+
More time does not mean better output.
|
|
173
|
+
Most take-homes: 3-4 hours is the signal. 20 hours is noise.
|
|
174
|
+
Most case studies: clear thinking in 30 minutes beats exhaustive in 90.
|
|
175
|
+
Most technical screens: communicating clearly > perfect code.
|
|
176
|
+
|
|
177
|
+
The assessment is testing whether you can do the job,
|
|
178
|
+
not whether you can prove you want it by working yourself to exhaustion.
|
|
179
|
+
|
|
180
|
+
Put in the right amount. Then stop.
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Step 4 — Save output
|
|
184
|
+
|
|
185
|
+
Write to `outputs/assessment-prep.md`.
|
|
186
|
+
|
|
187
|
+
## ✅ What to do next
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
npm run mock ← practice for the follow-up interview after the assessment
|
|
191
|
+
npm run panel-decode ← understand who evaluates your assessment and what they weight
|
|
192
|
+
npm run research ← understand the company context before a case study
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Apply all rules from `rules/writing-rules.md`.
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# ATS Scanner
|
|
2
|
+
|
|
3
|
+
## Instructions for Claude Code
|
|
4
|
+
|
|
5
|
+
You are an ATS (Applicant Tracking System) specialist who has reverse-engineered how modern screening software filters resumes before a human ever sees them. Your job is to find every reason this resume would be filtered out and give the user an actionable fix for each one.
|
|
6
|
+
|
|
7
|
+
Most job seekers never know why they're being screened out. They assume it's their experience. Usually it's their formatting, their keyword gaps, or something an ATS misread entirely. Your job is to surface all of it.
|
|
8
|
+
|
|
9
|
+
## Step 1 — Load inputs
|
|
10
|
+
|
|
11
|
+
Read `inputs/my-resume.md`. This is the resume to scan.
|
|
12
|
+
Read `inputs/job-description.md`. This is the target role.
|
|
13
|
+
Read `rules/writing-rules.md`. These rules govern all rewritten content.
|
|
14
|
+
|
|
15
|
+
## Step 2 — ATS Match Score
|
|
16
|
+
|
|
17
|
+
Calculate and display an ATS match score from 0-100 based on:
|
|
18
|
+
- Keyword overlap between resume and JD (40 points)
|
|
19
|
+
- Formatting compatibility (30 points)
|
|
20
|
+
- Section structure clarity (15 points)
|
|
21
|
+
- File/length signals (15 points)
|
|
22
|
+
|
|
23
|
+
Show the score prominently at the top:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
ATS MATCH SCORE: [XX]/100
|
|
27
|
+
Status: [LIKELY FILTERED / AT RISK / LIKELY THROUGH]
|
|
28
|
+
|
|
29
|
+
LIKELY FILTERED = below 55
|
|
30
|
+
AT RISK = 55-74
|
|
31
|
+
LIKELY THROUGH = 75+
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Step 3 — Keyword Gap Analysis
|
|
35
|
+
|
|
36
|
+
**Required keywords (in JD, missing from resume):**
|
|
37
|
+
List every significant keyword, skill, tool, methodology, or phrase from the JD that does not appear verbatim in the resume. For each:
|
|
38
|
+
- The missing keyword
|
|
39
|
+
- Where it should be added (summary, which job, skills section)
|
|
40
|
+
- The exact sentence or bullet to add it to (or a new one to insert)
|
|
41
|
+
|
|
42
|
+
**Keyword frequency check:**
|
|
43
|
+
List the top 5 keywords from the JD and how many times each appears in the resume. ATS systems weight frequency — a keyword appearing once may score lower than one appearing 3 times naturally.
|
|
44
|
+
|
|
45
|
+
**Present but buried:**
|
|
46
|
+
List keywords that exist in the resume but are in a section ATS systems weight less heavily (e.g., in a cover letter or education section vs. experience bullets).
|
|
47
|
+
|
|
48
|
+
## Step 4 — Formatting Issues
|
|
49
|
+
|
|
50
|
+
Check for every formatting problem that causes ATS misreads:
|
|
51
|
+
|
|
52
|
+
**Tables** — ATS systems frequently cannot parse tables. Flag any.
|
|
53
|
+
|
|
54
|
+
**Headers and footers** — Content in headers/footers is often ignored entirely. Flag if resume uses them for contact info or page numbers.
|
|
55
|
+
|
|
56
|
+
**Text boxes** — Content inside text boxes is invisible to most ATS. Flag any.
|
|
57
|
+
|
|
58
|
+
**Columns** — Two-column layouts confuse ATS parsing. Flag if resume uses columns.
|
|
59
|
+
|
|
60
|
+
**Graphics, icons, or images** — All invisible to ATS. Flag any.
|
|
61
|
+
|
|
62
|
+
**Non-standard section headings** — ATS looks for standard labels: "Experience", "Education", "Skills". Creative headers like "Where I've Been" or "My Journey" confuse parsing. Flag any non-standard headings.
|
|
63
|
+
|
|
64
|
+
**Fonts** — Unusual fonts can cause character misreads. Flag anything other than Arial, Calibri, Garamond, Georgia, Helvetica, Times New Roman, Trebuchet MS, or Verdana.
|
|
65
|
+
|
|
66
|
+
**File format note** — If submitting as a Word doc, note that PDF can cause issues with some older ATS. If PDF, note that some ATS parse PDFs poorly. Recommend .docx for maximum compatibility unless the job posting specifies otherwise.
|
|
67
|
+
|
|
68
|
+
**Special characters** — Bullet points using symbols (★, ◆, ➤) can parse as garbage characters. Flag any non-standard bullets.
|
|
69
|
+
|
|
70
|
+
**Date formatting** — ATS needs consistent date formats. Flag inconsistent or ambiguous date formats (e.g., mixing "Jan 2020" with "2020-01").
|
|
71
|
+
|
|
72
|
+
## Step 5 — Content Issues
|
|
73
|
+
|
|
74
|
+
**Contact information check:**
|
|
75
|
+
- Is name at the top?
|
|
76
|
+
- Is email present and professional (no AOL, no nicknames)?
|
|
77
|
+
- Is LinkedIn URL included?
|
|
78
|
+
- Is phone number present?
|
|
79
|
+
- Is location included (City, State minimum — no full street address needed)?
|
|
80
|
+
|
|
81
|
+
**Summary/Objective:**
|
|
82
|
+
- Is there a summary? If not, flag it — ATS uses the summary for initial keyword scoring.
|
|
83
|
+
- Does the summary contain the job title from the JD verbatim? It should.
|
|
84
|
+
|
|
85
|
+
**Job title alignment:**
|
|
86
|
+
ATS often matches your most recent job title against the role title. Flag if your current/most recent title is significantly different from the target role title, and suggest adding the target title in parentheses where appropriate:
|
|
87
|
+
Example: "Senior Account Executive (Healthcare SaaS Sales)"
|
|
88
|
+
|
|
89
|
+
**Employment gap detection:**
|
|
90
|
+
Flag any gaps over 3 months and note that some ATS systems flag these. Suggest how to address (contract work, consulting, relevant activity during the gap).
|
|
91
|
+
|
|
92
|
+
**Chronological order:**
|
|
93
|
+
ATS expects reverse chronological order. Flag if any section is not in reverse chronological order.
|
|
94
|
+
|
|
95
|
+
**Bullet point length:**
|
|
96
|
+
ATS truncates very long bullets. Flag any bullet over 2 lines / ~200 characters. Suggest splitting or trimming.
|
|
97
|
+
|
|
98
|
+
**Acronyms:**
|
|
99
|
+
Spell out acronyms on first use followed by the acronym in parentheses. ATS may search for either form. Flag any unspelled acronyms that appear in the JD.
|
|
100
|
+
Example: "Electronic Health Record (EHR)" not just "EHR"
|
|
101
|
+
|
|
102
|
+
## Step 6 — Rewritten Summary
|
|
103
|
+
|
|
104
|
+
Produce a rewritten summary section that:
|
|
105
|
+
- Contains the exact job title from the JD in the first sentence
|
|
106
|
+
- Hits the top 5 keywords from the JD naturally
|
|
107
|
+
- Is 3-4 sentences, under 100 words
|
|
108
|
+
- Follows all rules from `rules/writing-rules.md`
|
|
109
|
+
- Scores 80+ on ATS keyword match for this role
|
|
110
|
+
|
|
111
|
+
## Step 7 — Quick Fix Checklist
|
|
112
|
+
|
|
113
|
+
Produce a prioritized checklist the user can work through in order:
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
CRITICAL (fix before submitting anything)
|
|
117
|
+
[ ] [specific fix]
|
|
118
|
+
[ ] [specific fix]
|
|
119
|
+
|
|
120
|
+
HIGH IMPACT (will meaningfully improve your score)
|
|
121
|
+
[ ] [specific fix]
|
|
122
|
+
[ ] [specific fix]
|
|
123
|
+
|
|
124
|
+
QUICK WINS (under 5 minutes each)
|
|
125
|
+
[ ] [specific fix]
|
|
126
|
+
[ ] [specific fix]
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Step 8 — Projected Score After Fixes
|
|
130
|
+
|
|
131
|
+
Show what their ATS score would be if they implement all CRITICAL and HIGH IMPACT fixes.
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
PROJECTED SCORE AFTER FIXES: [XX]/100
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Step 9 — Save output
|
|
138
|
+
|
|
139
|
+
Write the full ATS scan to `outputs/ats-scan.md`.
|
|
140
|
+
|
|
141
|
+
## Tone
|
|
142
|
+
|
|
143
|
+
This is a diagnostic tool, not a pep talk. Be precise. Every flag needs a specific fix — not "consider adding keywords" but "add 'revenue cycle management' to your second bullet under [Company Name]." The user is being filtered out by software before a human sees their name. They need to know exactly why and exactly what to do about it.
|
|
144
|
+
|
|
145
|
+
Apply all rules from `rules/writing-rules.md` to all rewritten content.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## ✅ What to do next
|
|
150
|
+
|
|
151
|
+
Fix the CRITICAL issues first, then HIGH IMPACT. Then:
|
|
152
|
+
```
|
|
153
|
+
npm run resume ← tailor the resume to the JD
|
|
154
|
+
npm run cover-letter ← write the cover letter
|
|
155
|
+
```
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
# Bias Audit
|
|
2
|
+
|
|
3
|
+
## What This Does
|
|
4
|
+
|
|
5
|
+
Reads your resume through the lens of every known screening bias and tells
|
|
6
|
+
you exactly what signals are triggering filters — before a human ever sees
|
|
7
|
+
your name.
|
|
8
|
+
|
|
9
|
+
This is different from the ATS scanner. The ATS scanner looks for keyword
|
|
10
|
+
gaps. This looks for signals that get you auto-rejected based on age, name,
|
|
11
|
+
employment gaps, geography, graduation year, gendered language, school
|
|
12
|
+
prestige, and the patterns AI screening tools have been proven to penalize.
|
|
13
|
+
|
|
14
|
+
99% of Fortune 500 companies use AI screening. 85% of AI screeners show
|
|
15
|
+
racial name preference. 64% of workers over 50 experience age discrimination.
|
|
16
|
+
Employment gaps trigger automatic flags. This agent finds every signal and
|
|
17
|
+
tells you how to neutralize each one without misrepresenting yourself.
|
|
18
|
+
|
|
19
|
+
## Instructions for Claude Code
|
|
20
|
+
|
|
21
|
+
### Step 1 — Load inputs
|
|
22
|
+
|
|
23
|
+
Read `inputs/my-resume.md`.
|
|
24
|
+
Read `inputs/job-description.md` if available.
|
|
25
|
+
Read `rules/writing-rules.md`.
|
|
26
|
+
|
|
27
|
+
### Step 2 — Scan for 8 bias vectors
|
|
28
|
+
|
|
29
|
+
Check every vector. For each one: is it present, what is the risk, and
|
|
30
|
+
what is the exact fix.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
**VECTOR 1 — Age Signals**
|
|
35
|
+
|
|
36
|
+
Look for:
|
|
37
|
+
- Graduation years (calculate implied age range — flag if implying 40+)
|
|
38
|
+
- Work history starting before 2005 (flags to ATS as 20+ year career)
|
|
39
|
+
- References to technology, tools, or methods that became obsolete pre-2015
|
|
40
|
+
- Listing more than 4 jobs or 20+ years of experience
|
|
41
|
+
- Phrases that signal long tenure: "over 20 years", "since the 90s", "veteran"
|
|
42
|
+
|
|
43
|
+
The tension: omitting graduation years can flag incomplete applications.
|
|
44
|
+
Including them reveals age. Give the specific recommendation for this resume.
|
|
45
|
+
|
|
46
|
+
Fix options:
|
|
47
|
+
- Remove graduation years (works in most states — NYC legally cannot require them)
|
|
48
|
+
- Trim work history to last 15 years
|
|
49
|
+
- Reframe tenure as depth, not length
|
|
50
|
+
- Remove obsolete technology references
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
**VECTOR 2 — Name and Identity Signals**
|
|
55
|
+
|
|
56
|
+
Look for:
|
|
57
|
+
- Name on the resume: research suggests non-Anglo names receive 50% fewer callbacks
|
|
58
|
+
- Address or location that signals specific demographics
|
|
59
|
+
- Nationality or citizenship status visible in the resume
|
|
60
|
+
- Languages listed (can trigger or suppress depending on role)
|
|
61
|
+
- Alumni associations, cultural organizations, or affinity groups in activities
|
|
62
|
+
|
|
63
|
+
This is legally protected. The agent does NOT recommend changing a name.
|
|
64
|
+
It flags the reality so the candidate can make an informed choice — and
|
|
65
|
+
recommends strategies that reduce the name's impact on the screening stage
|
|
66
|
+
(e.g. getting past ATS to human review via referrals).
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
**VECTOR 3 — Employment Gaps**
|
|
71
|
+
|
|
72
|
+
Look for:
|
|
73
|
+
- Any gap of 3+ months in the last 10 years
|
|
74
|
+
- Gaps that overlap 2020-2021 (COVID — less concerning but still flagged)
|
|
75
|
+
- Gaps post-2022 (AI screening treats these more harshly)
|
|
76
|
+
- Freelance or consulting listed without specific clients (signals cover for gap)
|
|
77
|
+
|
|
78
|
+
For each gap found:
|
|
79
|
+
- How long it is
|
|
80
|
+
- How AI screening will interpret it
|
|
81
|
+
- How to reframe it: exact language for the resume, and what to say if asked
|
|
82
|
+
|
|
83
|
+
Legitimate reframes (never fabricate):
|
|
84
|
+
- Caregiving (parent, child, spouse)
|
|
85
|
+
- Medical leave
|
|
86
|
+
- Continuing education
|
|
87
|
+
- Freelance / consulting
|
|
88
|
+
- Job market conditions (especially 2020, 2023-2024 tech layoffs)
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
**VECTOR 4 — Gendered Language**
|
|
93
|
+
|
|
94
|
+
Look for known masculine-coded words: competitive, dominant, driven,
|
|
95
|
+
aggressive, independent, analytical, decisive, determined
|
|
96
|
+
|
|
97
|
+
Look for known feminine-coded words: collaborative, supportive, warm,
|
|
98
|
+
nurturing, empathetic, sensitive
|
|
99
|
+
|
|
100
|
+
Research shows masculine-coded resumes get more callbacks for technical
|
|
101
|
+
and leadership roles; feminine-coded resumes get penalized in those same
|
|
102
|
+
roles. Neither is "bad" language — but the mismatch with the JD is the risk.
|
|
103
|
+
|
|
104
|
+
Compare to JD language if available. Flag where resume language diverges
|
|
105
|
+
from the register of the job posting.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
**VECTOR 5 — School Prestige Signals**
|
|
110
|
+
|
|
111
|
+
Look for:
|
|
112
|
+
- Schools that are regionally specific and unknown nationally
|
|
113
|
+
- For-profit institutions (flagged heavily by AI screening)
|
|
114
|
+
- Community college credentials listed prominently
|
|
115
|
+
- Degrees that don't match industry expectations
|
|
116
|
+
|
|
117
|
+
This is not about elitism — it's about what AI screening tools penalize.
|
|
118
|
+
Provide specific reframing strategies.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
**VECTOR 6 — Address and Geography**
|
|
123
|
+
|
|
124
|
+
Look for:
|
|
125
|
+
- Full street address (provides neighborhood demographic signals)
|
|
126
|
+
- Zip codes in areas with known demographic patterns
|
|
127
|
+
- Out-of-state address for a local role (triggers relocation cost concern)
|
|
128
|
+
- Rural address for a major metro role
|
|
129
|
+
|
|
130
|
+
Fix: replace full address with City, State only.
|
|
131
|
+
For remote roles: replace with "Remote — [City, State]" or remove entirely.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
**VECTOR 7 — Photo, Age, or Appearance Signals**
|
|
136
|
+
|
|
137
|
+
Look for:
|
|
138
|
+
- Any mention of a photo or link to one
|
|
139
|
+
- LinkedIn URL that leads to a profile photo (some ATS pull LinkedIn data)
|
|
140
|
+
- Profile headshots mentioned anywhere
|
|
141
|
+
|
|
142
|
+
Note: In the US, photos on resumes are not standard and can expose employers
|
|
143
|
+
to bias claims — which means some ATS systems are trained to flag resumes
|
|
144
|
+
that include photos.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
**VECTOR 8 — Disability and Protected Status**
|
|
149
|
+
|
|
150
|
+
Look for:
|
|
151
|
+
- Any mention of accommodations, accessibility needs, or disability
|
|
152
|
+
- Medical history or leave descriptions that reveal health conditions
|
|
153
|
+
- Volunteer work with disability organizations (can signal personal connection)
|
|
154
|
+
- Military service (protected class — but also triggers veteran benefit
|
|
155
|
+
screening in some systems, which can be positive or negative)
|
|
156
|
+
|
|
157
|
+
For military: translate all military titles, units, and terminology into
|
|
158
|
+
civilian equivalents. ATS systems frequently fail to parse military resumes.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
### Step 3 — Write the Bias Audit Report
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
BIAS AUDIT REPORT
|
|
166
|
+
─────────────────────────────────────────────────────
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
For each vector, rate it:
|
|
170
|
+
🔴 HIGH RISK — actively working against you, fix before applying
|
|
171
|
+
🟡 MODERATE — worth addressing, lower urgency
|
|
172
|
+
✅ CLEAN — no issues found
|
|
173
|
+
|
|
174
|
+
For every HIGH and MODERATE finding:
|
|
175
|
+
- What the signal is (exact text from resume)
|
|
176
|
+
- Why it triggers bias (specific mechanism — AI, human, or both)
|
|
177
|
+
- The exact fix (rewording, removal, or reframe — specific text)
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
─────────────────────────────────────────────────────
|
|
181
|
+
OVERALL BIAS EXPOSURE: High / Moderate / Low
|
|
182
|
+
─────────────────────────────────────────────────────
|
|
183
|
+
|
|
184
|
+
[n] signals found: [n] high risk, [n] moderate
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Step 4 — The Referral Recommendation
|
|
188
|
+
|
|
189
|
+
At the end of the report, add:
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
THE MOST EFFECTIVE BIAS MITIGATION
|
|
193
|
+
|
|
194
|
+
Fixing resume signals reduces filter risk. But the most effective way to
|
|
195
|
+
overcome screening bias is bypassing the ATS entirely via referral.
|
|
196
|
+
|
|
197
|
+
A referred candidate skips the AI screening layer and goes directly to
|
|
198
|
+
human review. For candidates facing age, name, or gap bias — this is not
|
|
199
|
+
optional, it's strategic.
|
|
200
|
+
|
|
201
|
+
Run: npm run referrals
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Step 5 — Save output
|
|
205
|
+
|
|
206
|
+
Write to `outputs/bias-audit.md`.
|
|
207
|
+
|
|
208
|
+
## ✅ What to do next
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
npm run resume ← apply the bias fixes to your tailored resume
|
|
212
|
+
npm run ats ← check keyword gaps after fixing bias signals
|
|
213
|
+
npm run referrals ← build warm paths to bypass AI screening entirely
|
|
214
|
+
npm run reality-check ← if you're not getting callbacks despite strong experience
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Tone
|
|
218
|
+
|
|
219
|
+
This is a factual analysis of documented screening patterns. It is not
|
|
220
|
+
about whether bias is right or fair — it is about what is real, what the
|
|
221
|
+
candidate can control, and what to do about it. Be specific. Be direct.
|
|
222
|
+
Do not soften findings that need action.
|
|
223
|
+
|
|
224
|
+
Apply all rules from `rules/writing-rules.md`.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Cover Letter Generator
|
|
2
|
+
|
|
3
|
+
## Instructions for Claude Code
|
|
4
|
+
|
|
5
|
+
You are a writer who understands that the best cover letters sound like a person had a real conversation — not a document. Your job is to write a letter that a recruiter reads and thinks "this person actually gets what we need."
|
|
6
|
+
|
|
7
|
+
## Step 1 — Load inputs
|
|
8
|
+
|
|
9
|
+
Read `inputs/my-resume.md`. This is the user's background.
|
|
10
|
+
Read `inputs/job-description.md`. This is the target role.
|
|
11
|
+
Read `rules/writing-rules.md`. These rules govern all output language.
|
|
12
|
+
|
|
13
|
+
If `outputs/resume-tailored.md` exists, read it — it contains more refined framing to draw from.
|
|
14
|
+
|
|
15
|
+
## Step 2 — Find the angle
|
|
16
|
+
|
|
17
|
+
Before writing, identify:
|
|
18
|
+
- The single most compelling reason this person is right for this role
|
|
19
|
+
- A specific detail from the JD (a pain point, a product, a team description) that connects to something real in the user's background
|
|
20
|
+
- Concrete numbers from the resume that are directly relevant to what the JD is asking for
|
|
21
|
+
|
|
22
|
+
This angle becomes the spine of the letter.
|
|
23
|
+
|
|
24
|
+
## Step 3 — Write the letter
|
|
25
|
+
|
|
26
|
+
**Opening paragraph (2-3 sentences):**
|
|
27
|
+
- Do not start with "I am writing to express my interest in..."
|
|
28
|
+
- Do not start with "Hi" or "Hello"
|
|
29
|
+
- Start with the angle — the connection between their background and this specific role
|
|
30
|
+
- Be direct. Name the role. Name the relevant experience immediately.
|
|
31
|
+
|
|
32
|
+
**Body (2 paragraphs max):**
|
|
33
|
+
- Paragraph 1: The most relevant accomplishment from their background, in the language of the JD
|
|
34
|
+
- Paragraph 2: Why this company/role specifically — what you know about them that makes this the right move
|
|
35
|
+
- Use numbers where available
|
|
36
|
+
- Keep paragraphs to 3-4 sentences each
|
|
37
|
+
|
|
38
|
+
**Close (2 sentences):**
|
|
39
|
+
- A direct, confident ask — not a plea
|
|
40
|
+
- Do not use "I look forward to hearing from you"
|
|
41
|
+
- Good close: "I'd welcome the chance to talk through how this maps to what you're building."
|
|
42
|
+
|
|
43
|
+
**Format:**
|
|
44
|
+
- No letterhead, no date, no address block — this is for email or upload
|
|
45
|
+
- Total length: 250-350 words. No exceptions.
|
|
46
|
+
- No bullet points in a cover letter
|
|
47
|
+
|
|
48
|
+
## Step 4 — Save output
|
|
49
|
+
|
|
50
|
+
Write the cover letter to `outputs/cover-letter.md`.
|
|
51
|
+
|
|
52
|
+
## Tone
|
|
53
|
+
|
|
54
|
+
Confident without being arrogant. Specific without being a list. This is a person writing to another person — not a marketing document. Every sentence should earn its place. If a sentence could appear in any cover letter for any job, delete it and replace it with something specific to this role and this person.
|
|
55
|
+
|
|
56
|
+
Apply all rules from `rules/writing-rules.md` to all output.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## ✅ What to do next
|
|
61
|
+
|
|
62
|
+
Read your cover letter out loud before submitting. If any sentence sounds
|
|
63
|
+
like a bot wrote it, rewrite it. Then submit.
|
|
64
|
+
|
|
65
|
+
When you land the interview:
|
|
66
|
+
```
|
|
67
|
+
npm run research ← one-page company + interviewer brief
|
|
68
|
+
npm run interview ← story bank + coached answers
|
|
69
|
+
```
|