From career-navigator
Ingests a resume, CV, or portfolio document into the ExperienceLibrary. Extracts structured experience units and merges them into CareerNavigator/ExperienceLibrary.json. Fires when the user uploads or references a new source document. Also invocable via /career-navigator:add-source.
npx claudepluginhub tmargolis/career-navigator --plugin career-navigatorThis skill uses the workspace's default tool permissions.
Extract structured experience units from a source document and merge them into the user's ExperienceLibrary.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Builds scalable data pipelines, modern data warehouses, and real-time streaming architectures using Spark, dbt, Airflow, Kafka, and cloud platforms like Snowflake, BigQuery.
Builds production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. For data pipelines, workflow orchestration, and batch job scheduling.
Extract structured experience units from a source document and merge them into the user's ExperienceLibrary.
If the user has provided a file path or uploaded a document — use it directly.
If no document is in context, ask:
"Which file should I add? Provide the path or paste the content directly."
Supported formats: PDF, DOCX, TXT, MD, plain text paste.
Read {user_dir}/CareerNavigator/ExperienceLibrary.json. Note:
If the file does not exist, create it with an empty units array before proceeding.
Read the source document in full. For each distinct role, education entry, publication, award, or recognition, extract a structured unit:
{
"id": "exp-{next_available_number}",
"type": "role",
"company": "...",
"title": "...",
"dates": "...",
"summary": "1–2 sentence description of scope and context",
"achievements": [
{
"id": "exp-{n}-a1",
"theme": "impact | leadership | technical | commercial | operational",
"text": "exact achievement text, preserved from source"
}
],
"skills": ["skill1", "skill2"],
"performance_weight": 0.5,
"source_document": "{filename of source}"
}
Extraction rules:
theme to each achievement based on what it primarily demonstrates.performance_weight to 0.5 (neutral) for all new units. The analyst agent adjusts weights from outcomes.Before appending, check each extracted unit against existing ExperienceLibrary entries:
"I see an existing entry for {Role} at {Company} ({dates}) in your ExperienceLibrary. Should I replace it, merge the achievements, or add this as a separate entry?"
Append the new units to the units array in CareerNavigator/ExperienceLibrary.json. Update the meta.updated field to today's date.
Also add the source document to artifacts-index.json if it is not already listed:
{
"id": "{uuid}",
"type": "resume",
"filename": "{filename}",
"path": "{full path}",
"target_company": null,
"target_role": null,
"date_created": "{file date or today}",
"source": "existing",
"notes": "Source document added to ExperienceLibrary"
}
Added to ExperienceLibrary: {n} experience unit(s) from {filename}
{Role} at {Company} ({dates})
{Role} at {Company} ({dates})
...
ExperienceLibrary total: {total unit count} units
If duplicates were merged or skipped, note that inline. Keep the confirmation concise.