بنقرة واحدة
import-cv
Import an existing CV into structured data files — additive merge with existing data, can be run repeatedly
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Import an existing CV into structured data files — additive merge with existing data, can be run repeatedly
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
Debrief a voice simulation — analyze transcript against coached answers, track anti-patterns, log session
Guided coaching conversation to discover your professional identity, strengths, values, and narrative patterns
Multi-perspective deep-dive CV review (recruiter, hiring manager, competitor, skeptic, copy editor, source data auditor)
Fast quality-gate review of a generated CV against its target role
Scan a job portal for matching projects/roles, assess fit against profile, track evaluated ads
Generate a recruiter simulation prompt for the Claude App (voice mode) from a CV and job ad URL
استنادا إلى تصنيف SOC المهني
| name | import-cv |
| description | Import an existing CV into structured data files — additive merge with existing data, can be run repeatedly |
| argument-hint | <path-to-cv-or-paste> |
| user-invocable | true |
| allowed-tools | Read(*), Glob(*), Grep(*), Write(data/**), Edit(data/**) |
Import professional experience from an existing CV (PDF, markdown, or pasted text) into the repository's structured data files. Designed to be run multiple times — each import merges with existing data rather than overwriting it.
This skill never destroys data. When run against a repository that already has data files:
This means a user can safely import an old 2018 CV first, then a newer 2024 CV, and the data accumulates correctly.
$ARGUMENTS (optional): Path to a CV file (PDF, .md, or .txt). If omitted or "paste", ask the user to paste their CV text into the conversation.If $ARGUMENTS is a file path:
files/ (the convention for dropped input files).CV_TEXT.If $ARGUMENTS is empty or "paste":
CV_TEXT.Detect language: Scan section headers and body text. Common header patterns — English: "Summary", "Experience", "Projects", "Skills", "Education"; German: "Kurzprofil", "Berufserfahrung", "Projekterfahrung", "Fachkenntnisse", "Ausbildung"; French: "Compétences", "Expérience", "Formation"; Dutch: "Vaardigheden", "Werkervaring", "Opleiding"; Spanish: "Habilidades", "Experiencia", "Formación"; other languages: infer from content. Note the language for later use but don't block on it.
Read all current data files to establish the merge baseline. Read these in parallel:
data/profile.mddata/skills.mddata/certifications.mddata/education.mddata/companies.mddata/project-index.mddata/projects/*.mdIf files don't exist (first run on a clean repo), that's fine — start from empty for those sections.
Parse CV_TEXT and merge with existing data for each file type below. For every field, apply the merge rule: new data fills gaps, enriches thin content, and never overwrites user-edited content.
data/profile.md)Extract and merge into this structure:
# Profile
- **Name:** [full name including academic titles]
- **Born:** [date/location if available]
- **Title:** [professional title/headline]
- **Company:** [own company, if applicable]
- **Address:** [if available]
- **Mobile:** [if available, or <!-- TODO: Add phone number -->]
- **E-Mail:** [if available, or <!-- TODO: Add email -->]
<!-- If the CV indicates freelance/self-employed status, add: -->
<!-- - **Independent since:** [year] -->
## Compensation
<!-- TODO: Add your compensation structure. Rarely on CVs — fill this in manually.
Use whichever section applies:
### Freelance / Contract
- **Daily:** [currency]XXX
- **Hourly:** [currency]XXX
### Employment
- **Salary expectation:** [currency]XXX,XXX/year
-->
## Languages
- **[Language]:** [Proficiency level]
## Availability
<!-- TODO: Describe your availability and work model preference -->
Merge rules:
data/skills.md)Extract skills and group by category using this table format:
# Skills
## [Category Name]
| Skill | Experience | Self-Rating |
|---|---|---|
| [Skill] | [X+ years] | [Expert/Advanced/Intermediate] |
Categories (adjust to match the candidate's actual skill domains — these are suggestions):
Merge rules:
— (unrated) and the CV doesn't provide a rating, leave it as —Experience estimation: If the CV doesn't list years per skill but does list project dates, estimate experience from the span of projects using that skill. Mark estimates: 3+ years <!-- estimated from project dates -->.
data/certifications.md)Extract into the table format grouped by vendor:
# Certifications
## [Vendor Name]
| Certification | Exam Code | Earned | Expires | Status |
|---|---|---|---|---|
| [Name] | [Code] | [Date] | [Date] | [Status] |
Merge rules:
<!-- TODO: Add date --># Certifications
<!-- No certifications found in the imported CV. Add yours here:
## Vendor Name
| Certification | Exam Code | Earned | Expires | Status |
|---|---|---|---|---|
| Cert Name | CODE | DD Mon YYYY | DD Mon YYYY | Active |
-->
data/education.md)Extract into the structured format:
## [Degree Name]
- **Institution:** [name]
- **Period:** [MM/YYYY – MM/YYYY]
- **Final grade:** [if available]
- **Majors:** [if available]
- **Thesis:** [if available]
For non-English degrees, add English equivalents in parentheses. Research the degree system of the candidate's country to provide accurate equivalencies — e.g. German "Diplom [Subject] (Master's equiv.)", French "Licence (Bachelor's equiv.)", Dutch "Doctoraal (Master's equiv.)", Japanese "学士 Gakushi (Bachelor's equiv.)".
Merge rules:
data/companies.md)Only relevant if the CV indicates freelance/self-employed status, own business entities, or founding/co-founding a company.
## [Company Name]
- **Type:** [LLC / Inc. / Ltd / GmbH / BV / Pty Ltd / S.A. / Sole Trader / etc.]
- **Period:** [Founded YYYY – active/liquidated]
- **Location:** [Country/city]
- **Purpose:** [one sentence]
Merge rules:
data/projects/*.md)This is the most important extraction. For each engagement/project on the CV, create or enrich a project file.
File naming: Slug from client name or project name — lowercase, hyphens for spaces, no special characters. Examples: acme-corp.md, flagship-project.md, summer-internship.md.
Target structure per file:
# [Project Title]
- **Period:** [MM/YYYY – MM/YYYY or "ongoing"]
- **Role:** [role title(s)]
- **Client:** [client name]
- **Industry:** [industry category]
- **Location:** [Country (CODE)]
- **Type:** [flagship | consulting | contract | co-founded | internship | employment | side-project]
## Description
[1-3 paragraphs]
## Responsibilities
- [bullet points]
## Key Achievements
- [bullet points, or TODO if not extractable]
## Technologies
[comma-separated list]
## Tags
[lowercase, hyphenated tags]
Type classification:
consultingcontractemploymentco-foundedinternshipside-projectNote:
flagshipis also a valid type (the candidate's single most significant role — typically multi-year, high-impact, central to professional identity), but never auto-assign it during import. Only the candidate can decide which project (if any) deserves this label. Mention it in Next Steps instead.
Merge rules — the key logic:
## Key Achievements
<!-- TODO: Add 2-3 key achievements. Think about:
- What measurable impact did you have?
- What problems did you solve?
- What would have happened without you?
-->
data/project-index.md)Regenerate entirely from all project files (both existing and newly created). Read every file in data/projects/ and compile the index in reverse-chronological order.
# Project Index
> Overview of all projects. For full details, see individual files in `data/projects/`.
## [filename].md
- **Period:** [from project file]
- **Role:** [from project file]
- **Client:** [from project file]
- **Industry:** [from project file]
- **Location:** [from project file]
- **Type:** [from project file]
- **Technologies:** [from project file]
- **Tags:** [from project file]
This is the one file that gets fully rewritten (not merged) because it's derived entirely from the project files.
Write all merged files. Go through them in this order:
data/profile.mddata/skills.mddata/certifications.mddata/education.mddata/companies.md (if applicable)data/projects/<slug>.md (new or enriched)data/project-index.md (regenerated)For files that already exist and are being enriched, use Edit where surgical changes suffice, or Write for larger rewrites. For new files, use Write.
After all files are written, present a summary:
## Import Complete
**Source:** [filename or "pasted text"] ([language detected])
### Changes
- **Profile:** [created | updated N fields | unchanged]
- **Skills:** [N new skills added, M updated | file created with N skills]
- **Certifications:** [N new certs added | file created with N certs | no certs found]
- **Education:** [N entries added | unchanged]
- **Companies:** [N entries added | skipped (not freelancer) | unchanged]
- **Projects:** [N new projects created, M existing projects enriched]
- **Project index:** Regenerated ([total] projects)
### TODO Items
[count] items need manual attention:
- `data/profile.md` — compensation, availability
- `data/projects/[name].md` — key achievements (×N projects)
- [etc.]
### Next Steps
- Fill in TODO items (highest impact: compensation and key achievements)
- Review your projects — if one stands out as your anchor (multi-year, high-impact, central to your identity), mark its type as `flagship`
- Import another CV to enrich further: `/onboard path/to/another-cv.pdf`
- Discover your professional identity: `/extract-identity`
- Generate your first CV: paste a job ad and ask for a targeted resume