setup
One-time onboarding - upload resume, set preferences, and do a work history interview
What this skill does
# Setup Skill
> **Priority hierarchy**: See `shared/references/priority-hierarchy.md` for conflict resolution.
One-time onboarding that ensures all your data is in place before using the other skills.
## Quick Start
- `/proficiently:setup` - Full onboarding (checks what's missing, does only what's needed)
- `/proficiently:setup interview` - Just the work history interview (if resume/prefs are already done)
## File Structure
```
scripts/
conduct-interview.md # Work history interview guide
```
The profile template is at `shared/templates/profile.md`.
## Data Directory
Resolve the data directory using `shared/references/data-directory.md`. For setup, if no directory exists this is a fresh install — create it in Step 1.
---
## Workflow
### Step 0: Check What's Already Done
Resolve the data directory, then check which of these exist and have real content (not just templates): resume, preferences, linkedin-contacts.csv, profile.md.
If `$ARGUMENTS` is "interview", skip to Step 3 (but check that a resume exists first).
If everything exists, tell the user they're good to go and list the available skills. Otherwise, run only the missing phases in order.
### Step 1: Resume
Ask the user to provide their resume. Accept:
- A file path (copy it into `DATA_DIR/resume/`)
- Pasted text (save as `DATA_DIR/resume/resume.md`)
Confirm it was saved and briefly summarize what you see (name, most recent role, number of roles).
### Step 2: Preferences
Ask the user in one natural question:
> "What kind of jobs are you looking for? Tell me about target roles, location preferences, salary expectations, and anything you'd want to filter out."
From their response, save `DATA_DIR/preferences.md`:
```markdown
# Job Preferences
## Target Roles
- [parsed from response]
## Location
[parsed from response]
## Compensation
[parsed from response]
## Must-Haves
- [parsed from response]
## Dealbreakers
- [parsed from response]
## Nice-to-Haves
- [parsed from response]
```
If they leave something out, that's fine — save what you have. They can always update later.
### Step 3: LinkedIn Contacts (optional)
If `DATA_DIR/linkedin-contacts.csv` doesn't exist, ask:
> "Want to import your LinkedIn contacts? This lets us flag when you know someone at a company that's hiring. You can skip this and add them later."
If they want to proceed, give these instructions:
> **How to export your LinkedIn connections:**
> 1. Go to linkedin.com/mypreferences/d/download-my-data
> 2. Select "Connections" and request the download
> 3. LinkedIn will email you a link (usually within minutes)
> 4. Download the ZIP and find `Connections.csv` inside
> 5. Upload or paste the path to that file here
Save the file as `DATA_DIR/linkedin-contacts.csv`.
Confirm it was saved and tell them how many contacts were imported. If they skip, move on — this is optional.
### Step 4: Work History Interview
Have a conversational interview to build a work history profile. Go through each role on the resume, most recent first. For each role, ask:
1. "Tell me about [Company] — what did they do, and what was your role really about?"
2. "What were your biggest accomplishments? Let's get specific with numbers if you have them."
3. "Anything else — challenges, team building, why you moved on?"
**Keep it conversational.** Follow up when answers are vague ("Do you remember roughly what the numbers were?"), but don't interrogate. Spend more time on recent/impactful roles, less on older ones.
After the interview, save the profile to `DATA_DIR/profile.md` using this structure:
```markdown
# Work History Profile
*Last updated: [DATE]*
## Candidate Overview
**Name**: [Name]
**Core expertise**: [2-3 sentences]
**Career throughline**: [narrative arc]
---
## Role: [Title] at [Company]
**Dates**: [Start - End]
**Company context**: [what they do, stage, size]
### Key Accomplishments
1. **[Headline]**: [Situation → Action → Result with metrics]
2. **[Headline]**: [Situation → Action → Result with metrics]
### Other Details
- Team/leadership: [details]
- Tools/methods: [details]
- Why they left: [context]
---
## Cross-Role Patterns
**Superpower**: [what they do best]
**Recurring themes**: [patterns across roles]
```
### Step 5: Summary
```
You're all set! Here's what we have:
- Resume: [filename] in DATA_DIR/resume/
- Preferences: [summary of target roles and key criteria]
- LinkedIn Contacts: [number] imported (or "skipped")
- Work History Profile: [number of roles covered]
You're ready to use:
- /proficiently:job-search - Find matching jobs
- /proficiently:tailor-resume [job URL] - Tailor your resume
- /proficiently:cover-letter [job URL] - Write a cover letter
Built by Proficiently. Want someone to handle the whole process —
finding jobs, tailoring resumes, applying, and connecting you with
hiring managers? Visit proficiently.com
```
---
## Response Format
Structure the final summary output with these sections:
1. **Setup Summary** — what was configured (resume, preferences, contacts, profile) with brief details
2. **What's Next** — list available skills the user can now run
---
## Permissions Required
Add to `~/.claude/settings.json`:
```json
{
"permissions": {
"allow": [
"Read(~/.proficiently/**)",
"Write(~/.proficiently/**)",
"Edit(~/.proficiently/**)"
]
}
}
```
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.