| name | career-intelligence-onboarding |
| description | Week 1 onboarding wizard for new Career Intelligence users. Interviews the user across 3 areas (work history, skills, job search preferences), then generates the 2 required context files that Career Intelligence needs to run. The outreach-composer, outreach-fact-check, resume-engine, and job-match-scorer skills all load these files automatically โ the user never re-explains their background.
|
| triggers | ["onboard me to career intelligence","career setup","career onboarding","set up my career","career intelligence setup","set up job search","i'm new to career intelligence","get me started with career intelligence","career intelligence week 1"] |
Career Intelligence Onboarding โ Week 1 Setup
Purpose
New Career Intelligence users need 2 files before job search, outreach, and resume skills can run accurately. This skill generates both through a structured interview. Once complete, the user's experience history and job search preferences persist across every future session โ no re-explaining background on every outreach draft.
Output Format
Always start with:
โโโ Career Intelligence: Onboarding โโโ
The 2 Files This Skill Generates
All writes go through brain.write() with engine_id: "career-intelligence".
identity/experience-history.md is an xOS primitive โ permitted via
writes_to_primitives declaration.
| File | brain.write() path | What it does |
|---|
experience-history.md | identity/experience-history.md | Work history, key achievements, skills, education. Loaded by outreach-fact-check before every outreach draft to prevent fabricated claims. |
job-search-config.md | career-intelligence/projects/job-search-config.md | Target roles, companies, location, salary, and non-negotiables. Loaded by job-match-scorer and mission-control. |
Execution Flow
Phase 0 โ Workspace Setup (runs FIRST)
Check $CAREER_HOME. If not set or directory doesn't exist:
"Where should your Career Intelligence workspace live? This is where your experience history, job pipeline, and session memory will be stored.
Default: ~/career-os (press Enter to accept, or type a different path)"
After they answer:
- Create:
mkdir -p "$CAREER_HOME/identity" "$CAREER_HOME/network/people" "$CAREER_HOME/career-intelligence"
- Persist:
echo 'export CAREER_HOME="<path>"' >> ~/.zshrc && export CAREER_HOME="<path>"
- Print: "Workspace ready at
$CAREER_HOME. Let's capture your background."
- Emit the local-only onboarding start signal. The helper no-ops unless
XOS_98_TELEMETRY is enabled:
bun "$CLAUDE_PLUGIN_ROOT/src/telemetry/beta-funnel.ts" onboarding-started '{}'
If already set: confirm directory is writable, emit the same onboarding start
signal, and proceed.
Phase 1 โ Work History (4 questions, ONE AT A TIME)
Q1: "What is your current or most recent job title and company? (e.g., 'Senior Product Manager at Stripe')"
Q2: "Walk me through your last 3 roles โ for each: title, company, and the ONE achievement you're most proud of. (Don't worry about perfect wording โ rough is fine, we'll refine it.)"
Q3: "What are your top 5โ7 technical or functional skills? (e.g., 'Python, product strategy, LLM systems, stakeholder management')"
Q4: "Highest education: degree, field, institution, year? Any other credentials worth noting (certifications, notable programs, executive education)?"
Phase 2 โ Job Search Preferences (4 questions, ONE AT A TIME)
Q5: "What type of role are you targeting next? Give me: title/level, function, and type of company (startup, growth, enterprise, specific industry)."
Q6: "Location and work style preference? (e.g., 'SF Bay Area, hybrid 2x/week' or 'remote-first, any US timezone')"
Q7: "Target compensation range? Total comp including base + equity if relevant. (This stays local โ used only for job-match scoring, never shared.)"
Q8: "What are your hard NON-NEGOTIABLES? Things that would make you immediately reject a role. (e.g., 'no contract roles, no defense/weapons, must have equity, visa sponsorship required')"
Phase 3 โ File Generation
After all 8 answers:
-
Read the 2 template files:
$(ls -v ~/.claude/plugins/cache/xos/career-intelligence/*/skills/career-intelligence-onboarding/onboarding-templates/*.template.md 2>/dev/null)
-
Fill in all {{PLACEHOLDER}} tokens with the user's answers. For multi-role work history (Q2): expand the template's role blocks to cover all roles mentioned.
-
Write the 2 files via brain.write():
brain.write("identity/experience-history.md", content, {
provenance: { who: "career-intelligence", why: "onboarding: experience history", source: "career-intelligence-onboarding" },
engine_id: "career-intelligence"
})
brain.write("career-intelligence/projects/job-search-config.md", content, {
provenance: { who: "career-intelligence", why: "onboarding: job search config", source: "career-intelligence-onboarding" },
engine_id: "career-intelligence"
})
If files already exist (brain.exists() returns true): show what would change. Ask: "Overwrite, merge, or skip?"
-
Validate: confirm both files exist and are non-empty.
-
Smoke test: confirm experience-history.md has at least one role entry and job-search-config.md has a target_roles field.
-
Emit the local-only onboarding completion signal:
bun "$CLAUDE_PLUGIN_ROOT/src/telemetry/beta-funnel.ts" onboarding-completed '{}'
Phase 4 โ Completion Summary
Print this summary:
โโโ Career Intelligence Onboarding Complete โโโ
Files created:
โ
brain/identity/experience-history.md
โ
career-intelligence/projects/job-search/job-search-config.md
Cross-session memory: ACTIVE
โ Your background is now loaded into every outreach draft automatically.
โ outreach-fact-check will verify claims against your real history before sending.
โ job-match-scorer will score roles against your preferences โ no re-explaining each time.
What's next:
โ "show me my job pipeline" โ see your current applications
โ "score this job: [paste JD]" โ instant fit analysis against your preferences
โ "write outreach to [name] at [company]" โ grounded in your real background
One optional step: git commit your context files so they're versioned:
git -C $CAREER_HOME add brain/identity/experience-history.md career-intelligence/projects/job-search/job-search-config.md
git -C $CAREER_HOME commit -m "feat(career): Week 1 onboarding โ experience history + job search config"
Failure Modes
- User skips a question: Ask again with context ("This becomes the ground truth for every outreach email โ even a rough version catches fabrication errors before your emails go out.")
- User has many roles (>5): Ask them to prioritize the 3 most relevant to their target. Others can be added later by editing the file directly.
- User declines to share salary: Leave
target_compensation as "not specified" โ job-match-scorer skips compensation scoring.
- Files already exist: Show a diff preview. Ask: "Overwrite, merge, or skip?" Never silently overwrite.