Analyze laboratory alumni career trajectories and outcomes to provide data-driven career guidance for current students and postdocs. Tracks industry vs academia distribution, identifies career pathways, and generates personalized recommendations based on degree level and research interests.
Install with Tessl CLI
npx tessl i github:aipoch/medical-research-skills --skill alumni-career-trackerOverall
score
17%
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Career analytics tool that tracks and analyzes the professional destinations of laboratory alumni, providing evidence-based guidance for trainees navigating career transitions.
Key Capabilities:
✅ Use this skill when:
❌ Do NOT use when:
salary-negotiation-prepmedical-cv-resume-builderinterview-mock-partnerIntegration:
mentorship-meeting-agenda (career discussion prep), linkedin-optimizer (profile data)cover-letter-drafter (application materials), networking-email-drafter (alumni outreach)Collect and organize career outcome data:
from scripts.tracker import AlumniTracker
tracker = AlumniTracker()
# Add single alumni record
alumni = {
"name": "Dr. Sarah Chen",
"graduation_year": 2023,
"degree": "PhD",
"current_status": "industry",
"organization": "Genentech",
"position": "Senior Scientist",
"location": "San Francisco, CA",
"field": "Immuno-oncology",
"salary_range": "$140k-$160k",
"linkedin": "linkedin.com/in/sarahchen"
}
tracker.add_alumni(alumni)
# Batch import from CSV
tracker.import_csv("alumni_2020_2024.csv")Data Fields:
| Field | Required | Description |
|---|---|---|
| name | Yes | Full name |
| graduation_year | Yes | Year completed degree |
| degree | Yes | PhD/Master/Bachelor/Postdoc |
| current_status | Yes | industry/academia/startup/gov/other |
| organization | Yes | Company/University/Institution |
| position | Yes | Job title or rank |
| location | No | City/Country |
| field | No | Research/industry area |
| salary_range | No | Optional compensation |
| No | Profile for tracking updates |
Generate comprehensive statistics and visualizations:
# Analyze by degree level
analysis = tracker.analyze(
degree_filter=["PhD", "Master"],
year_range=(2020, 2024),
metrics=["sector_distribution", "geographic_spread", "salary_trends"]
)
# Generate report
report = analysis.generate_report(format="pdf")
report.save("lab_career_outcomes_2024.pdf")Analysis Dimensions:
Visualize common career trajectories:
# Map career pathways
pathways = tracker.map_pathways(
start_degree="PhD",
target_years=[0, 2, 5, 10],
min_samples=5
)
# Visualize as Sankey diagram
pathways.visualize(output="career_flows.html")Visualization Types:
Generate tailored advice for current trainees:
# Get recommendations for a student
recommendations = tracker.get_recommendations(
current_degree="PhD",
research_area="Cancer Biology",
interests=["industry", "translational research"],
years_to_graduation=2
)
print(recommendations.top_pathways)
print(recommendations.skill_gaps)
print(recommendations.network_contacts)Recommendation Categories:
Scenario: First-year PhD student exploring career options.
# Generate career landscape overview
python scripts/main.py \
--analyze \
--degree PhD \
--last-5-years \
--output new_student_briefing.pdf
# Show specific pathways for their research area
python scripts/main.py \
--pathways \
--field "Cancer Immunotherapy" \
--visualize \
--output immunotherapy_careers.htmlOutput Includes:
Scenario: Lab needs career outcome data for NIH T32 renewal.
# Generate NIH-compliant report
report = tracker.generate_training_report(
grant_type="T32",
years=(2019, 2024),
include_placements=True,
include_salaries=False, # Optional for privacy
format="docx"
)
# Key metrics for NIH
print(f"Placement rate: {report.placement_rate}%") # >95% target
print(f"Research-related jobs: {report.research_related}%") # >80% target
print(f"Underrepresented minorities: {report.urm_percentage}%")NIH Requirements Met:
Scenario: Lab wants to identify companies for collaboration.
# Analyze industry destinations
python scripts/main.py \
--analyze \
--filter-status industry \
--group-by company \
--output industry_partners.pdf
# Identify senior alumni for advisory roles
python scripts/main.py \
--filter "position:Director,VP,Senior Manager" \
--export contacts_for_outreach.csvInsights Generated:
Scenario: Third-year PhD student deciding between industry and academia.
# Personalized analysis for the student
student_profile = {
"degree": "PhD",
"research_area": "CRISPR gene editing",
"publications": 3,
"interests": ["startup", "gene therapy"]
}
comparison = tracker.compare_pathways(
profile=student_profile,
options=["industry", "startup", "academia"],
metrics=["salary", "job_security", "work_life_balance", "availability"]
)
comparison.generate_personalized_report("career_comparison.pdf")Comparison Includes:
From data collection to actionable insights:
# Step 1: Import existing alumni data
python scripts/main.py \
--import alumni_survey_2024.csv \
--validate \
--output clean_alumni.json
# Step 2: Update LinkedIn profiles
python scripts/main.py \
--update-linkedin \
--input clean_alumni.json \
--output updated_alumni.json
# Step 3: Generate comprehensive report
python scripts/main.py \
--full-analysis \
--years 2019-2024 \
--output-dir career_report_2024/
# Step 4: Create visualization dashboard
python scripts/main.py \
--dashboard \
--serve \
--port 8080Python API:
from scripts.tracker import AlumniTracker
from scripts.analyzer import CareerAnalyzer
from scripts.recommender import CareerRecommender
# Initialize
tracker = AlumniTracker(data_path="alumni_db.json")
analyzer = CareerAnalyzer()
recommender = CareerRecommender()
# Load and clean data
tracker.import_csv("alumni_2024.csv")
tracker.clean_data()
# Generate analysis
analysis = analyzer.analyze(tracker.data)
print(f"Industry rate: {analysis.industry_ratio:.1%}")
print(f"Median PhD salary (Year 1): ${analysis.salary_stats['phd_y1']['median']:,}")
# Generate recommendations for a student
recs = recommender.recommend(
current_student={
"year": 3,
"degree": "PhD",
"field": "Neuroscience"
},
alumni_data=tracker.data
)
print("Top 3 career paths:")
for i, path in enumerate(recs.top_paths[:3], 1):
print(f"{i}. {path.name} ({path.probability:.0%} match)")Data Collection:
Analysis Accuracy:
Reporting:
Before Sharing:
Data Quality Issues:
❌ Low response rate → Biased sample (only successful alumni respond)
❌ Outdated information → Tracking 5-year-old data
❌ Small sample size → Drawing conclusions from n<10
Privacy Issues:
❌ Sharing individual salaries → Violates privacy expectations
❌ Identifiable case studies without consent → Privacy breach
Interpretation Issues:
❌ Comparing to top-tier labs only → Unrealistic expectations
❌ Attributing success to lab alone → Ignores individual factors
Communication Issues:
❌ Discouraging academia based on low placement rates → Biased counseling
❌ Over-promising industry salaries → Unrealistic expectations
Available in references/ directory:
nih_training_requirements.md - NIH career outcome reporting standardsdata_privacy_guide.md - GDPR and FERPA compliance for alumni trackingsurvey_templates.md - Questionnaires for alumni data collectionbenchmark_data.md - National career outcome statistics by fieldvisualization_best_practices.md - Ethical data visualization guidelinescareer_counseling_ethics.md - Professional standards for advisingLocated in scripts/ directory:
main.py - CLI interface for all operationstracker.py - Alumni database managementanalyzer.py - Statistical analysis and reportingvisualizer.py - Charts, graphs, and network mapsrecommender.py - Personalized career guidanceimporters.py - CSV, LinkedIn, survey data importexporters.py - PDF, Word, HTML report generationprivacy_guard.py - Data anonymization and compliance checking🎓 Remember: Career tracking is a service to trainees, not a performance metric. Use data to empower informed decisions, not to pressure specific outcomes. Respect privacy and present all viable career paths without bias.
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.