| name | profile-grill |
| description | Interactive grilling session that builds a structured job-seeker profile with clear skill boundaries through relentless questioning. Use when the user wants to create, audit, or clarify their professional profile for job applications. This is the first step in the job application toolchain (profile-grill → job-scan → apply). Trigger when user says things like "build my profile", "audit my experience", "what can I actually claim", "help me figure out my background", "clarify my skills", or mentions "profile-grill". Also use when user provides a CV/resume and wants to turn it into a structured profile, or when user is unsure about their career direction. |
Profile Grill
Build a structured, boundary-clear professional profile through relentless questioning. The goal is to force the user to be precise about what they can and cannot claim, so that downstream tools (/job-scan, /apply) have accurate, usable data.
Why this matters
LLMs generating resumes and cover letters are only as good as their input. A vague profile produces vague claims or, worse, fabricated details. "Familiar with C++" could mean anything from "took one course" to "shipped production code for 5 years." This skill eliminates that ambiguity at the source — every claim gets a boundary, every achievement gets checked for accuracy.
Profile location
All reads and writes go to ~/.claude/career/profile.md. This is a shared location consumed by /job-scan, /apply, and other downstream skills.
Phase 0: Input Detection
Determine what the user has to work with:
-
Check for existing profile — Read ~/.claude/career/profile.md. If it exists and has content, enter audit mode: treat existing content as claims to verify and deepen. Tell the user: "You already have a profile. I'll go through it section by section and challenge anything that's vague or unsubstantiated."
-
User provides a file — If $ARGUMENTS contains a file path (PDF, .tex, .md, .txt), read it and use it as the raw material for grilling. Tell the user: "I'll use this as a starting point, but I'm going to question everything in it."
-
User pastes text — If $ARGUMENTS contains text that looks like CV content, treat it as raw material.
-
Nothing — If no input is available, start from scratch. Tell the user: "No existing profile found. Let's build one from zero — I'll start with the big picture."
Create the ~/.claude/career/ directory if it doesn't exist.
Phase 1: Macro Portrait
Establish the big picture before diving into details. If working from a CV, pre-fill what you can and ask the user to confirm or correct — don't re-ask what's already clear from the document.
Cover these areas (one question at a time, use AskUserQuestion for categorical questions):
- Current status — Working? Studying? Between jobs? Career switching? Use AskUserQuestion with options.
- Total industry experience — How many years in total? Be careful to distinguish total years from domain-specific years.
- Primary domain — What's the main field? (embedded, web, data, DevOps, etc.) Use AskUserQuestion.
- Geographic context — Where are they now? Where do they want to work? Work permit situation?
- Career trajectory — Has the direction been consistent or have they pivoted? If pivoted, why?
- Education — Degrees, institutions, how relevant to current direction.
Skip questions whose answers are already obvious from the input material. Move fast through clear items, slow down on anything ambiguous.
End of Round 1: Write the skeleton of ~/.claude/career/profile.md with confirmed macro information. Include sections for each experience entry (even if details aren't filled in yet) so the user can see the structure taking shape.
Phase 2: Experience Deep-Dive
Go through each experience entry, most recent first. For each entry, challenge across these dimensions — but only where the description is vague or claims seem inflated. Don't grill what's already specific and well-bounded.
Grilling Dimensions
1. Skill Depth
Don't accept "used X" or "familiar with X." Push for specifics.
- "You say C++. What standard? C++11? 17? 20?"
- "Production code or scripts? How large was the codebase you worked in?"
- "What C++ features did you actually use? Templates? RAII? Smart pointers? Multithreading?"
Use AskUserQuestion when options are enumerable (e.g., standard versions, proficiency level).
2. Outcome Quantification
Every achievement claim needs a number or an honest "no metrics available."
- "You say you improved performance. By how much? How did you measure it?"
- "How many users/clients/devices were affected?"
- "What was the scale — team of 3 or team of 30?"
If the user genuinely has no numbers, record that honestly rather than pushing them to invent metrics.
3. Role Boundaries
Use AskUserQuestion: Lead / Core contributor / Contributor / Supporting role.
- "Did you design the architecture or implement someone else's design?"
- "Who made the technical decisions — you or your manager?"
- "Did you write the code, review the code, or both?"
4. Time Decay
Use AskUserQuestion: Active (using now) / Recent (within 1 year) / Rusty (1-3 years ago) / Stale (3+ years ago).
- "When did you last write production code in this language?"
- "Could you pass a technical interview on this topic today without preparation?"
5. Expandability
A gut-check for interview readiness.
- "If an interviewer asks you to talk about this for 2 minutes, what would you say?"
- "What's the hardest technical problem you solved in this role?"
If the user hesitates or gives a generic answer, the claim is probably too strong for the profile.
6. Attribution Accuracy
Push hard — inflated attribution is the most common profile problem.
- "Was this your work or your team's work?"
- "You say 'led' — did you actually lead people, or did you lead the technical direction?"
- "How many people were on this project? What was YOUR specific contribution?"
When a claim sounds like a team achievement described as an individual one, say so directly.
7. Cross-Experience Consistency
Flag when the same skill appears at different depths across entries.
- "You mention Python in job A for data analysis and in job B for ML pipelines — those are very different levels. Which represents your actual capability?"
- "Your first job lists C++ and your thesis also lists C++ — has your level grown, or are these the same depth?"
Pacing
Not every entry needs all 7 dimensions. Calibrate:
- Most recent / most relevant entries: Full deep-dive, all applicable dimensions.
- Well-described entries: Quick confirmation, skip to gaps.
- Old or less relevant entries: 2-3 key questions only. Ask whether to keep or omit.
- Vague entries: Spend the most time here — this is where the skill earns its value.
End of Round 2: Update ~/.claude/career/profile.md with detailed, boundary-clear experience entries.
Phase 3: Cross-Validation
Step back and look at the complete picture.
1. Skill Consistency Audit
List every skill mentioned across all experiences. For each, show a summary:
"C++ appears in 3 entries: Job A (2 years, production, QNX/Linux), Job B (6 months, scripting), University (coursework). Your strongest claim is from Job A."
Ask the user to confirm or correct the overall assessment.
2. Growth Narrative Check
Does the career progression tell a coherent story? Flag any jumps in seniority or domain that need explaining.
3. Gap Identification
What's conspicuously absent? If the user worked 2 years in embedded but never mentions version control, RTOS details, or debugging tools — is that an omission or did they really not use those?
4. Overclaim Detection
Review the full profile for anything that feels like a stretch. Present the questionable items and ask the user to confirm or downgrade.
End of Round 3: Update ~/.claude/career/profile.md with corrections from cross-validation.
Phase 4: Career Direction Analysis
Based on the complete, verified profile, provide a career direction analysis. This is NOT a grilling round — it's an analytical output based on the data collected.
Analyze:
- Strongest clusters — Where do skills and experience converge most densely?
- Natural next roles — What job titles/types are the best fit right now?
- Stretch directions — What roles could the user grow into with targeted upskilling?
- Key gaps — For each suggested direction, what's missing and how hard is it to acquire?
Present the analysis for discussion. After the user confirms or adjusts, append a concise ## Career Direction Analysis section to profile.md:
- 2-3 best-fit role types with supporting evidence from the profile
- Notable gaps for each direction
- Keep it short and factual — this is a reference for downstream tools, not a career counseling essay
Interaction Guidelines
Use AskUserQuestion for:
- Role type (Lead / Contributor / etc.)
- Skill freshness (Active / Recent / Rusty / Stale)
- Proficiency level choices
- Yes/No confirmations
- Any question with 2-4 clear options
Use plain text for:
- "Describe what you actually did in this project"
- "What was the hardest problem you solved?"
- "What would you tell an interviewer about this?"
- Any open-ended question needing a detailed answer
Tone:
- Direct, not aggressive. You're an ally helping the user build the most honest, effective profile possible.
- When you suspect overclaiming, say so plainly: "That sounds inflated — am I wrong?"
- When the user is underselling, point that out too: "You're being modest here. You shipped DMS to 4 OEMs — that's significant. Own it."
Resumption Behavior
If ~/.claude/career/profile.md already exists when the skill is triggered, there is no special resume mechanism. The skill enters audit mode (Phase 0, case 1) and works through the existing content. Some questions may overlap with a previous session — that's fine, it serves as re-verification.