google-agents-cli-scaffold
Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
linkedin_job_resume_optimizer
Automates end-to-end job search workflow: searches LinkedIn for AI-related remote jobs, extracts job descriptions, reads base resume, generates ATS-optimized tailored resumes, performs skill gap analysis, suggests interview prep questions, and provides LinkedIn profile optimization recommendation...
Full skill instructions
Comprehensive job search automation with resume tailoring and interview preparation.
This skill orchestrates a complete job application workflow:
User Request
↓
Workflow Orchestrator
↓
┌─────────────────┬──────────────────┬─────────────────┐
│ LinkedIn │ Resume │ ATS │
│ Scraper │ Analyzer │ Optimizer │
│ (Playwright) │ (Pandoc+Docx) │ (NLP) │
└─────────────────┴──────────────────┴─────────────────┘
↓
Gap Analyzer (Compare skills)
↓
Question Generator (Interview prep)
↓
Final Report (Summary + File locations)
Start the server before running this skill:
bash /mnt/d/Ali_Home/Learning/AgenticAI/AI-P009/Assignments/ProjectA1/resume_optimizer/.claude/skills/browsing-with-playwright/scripts/start-server.sh
Ensure resume exists at configured path (default: /mnt/d/Ali_Home/Learning/AgenticAI/AI-P009/Assignments/ProjectA1/resume_optimizer/resume/resume06012026.docx)
# Core tools
sudo apt-get install pandoc python3 python3-pip nodejs npm
# Optional (for PDF export)
sudo apt-get install libreoffice poppler-utils
pip install python-docx spacy nltk pandas requests
python -m spacy download en_core_web_sm
python -m nltk.downloader punkt stopwords
npm install -g @playwright/mcp
python3 scripts/workflow_orchestrator.py \
--job-keywords "AI Engineer remote" \
--job-count 2
python3 scripts/workflow_orchestrator.py \
--resume-path "/path/to/your/resume.docx" \
--job-keywords "Machine Learning Engineer" \
--job-count 2 \
--output-dir "./custom_output"
bash /mnt/d/Ali_Home/Learning/AgenticAI/AI-P009/Assignments/ProjectA1/resume_optimizer/.claude/skills/browsing-with-playwright/scripts/start-server.sh
Verify server is running:
curl http://localhost:8808
python3 scripts/linkedin_scraper.py \
--keywords "AI Engineer remote" \
--count 2 \
--output jobs.json
Output: jobs.json containing:
[
{
"title": "Senior AI Engineer",
"company": "TechCorp",
"url": "https://linkedin.com/jobs/view/12345",
"description": "Full job description...",
"required_skills": ["Python", "TensorFlow", "MLOps"],
"preferred_skills": ["Kubernetes", "AWS"]
}
]
# Convert DOCX to markdown
pandoc --track-changes=accept /mnt/d/Ali_Home/Learning/AgenticAI/AI-P009/Assignments/ProjectA1/resume_optimizer/resume/resume06012026.docx -o resume.md
# Extract skills
python3 scripts/resume_analyzer.py --resume-md resume.md --output base_skills.json
Output: base_skills.json with skills inventory
For each job, generate ATS-optimized resume:
python3 scripts/ats_optimizer.py \
--base-resume /mnt/d/Ali_Home/Learning/AgenticAI/AI-P009/Assignments/ProjectA1/resume_optimizer/resume/resume06012026.docx \
--job-description jobs.json \
--job-index 0 \
--output "resume_tailored_Senior_AI_Engineer.docx"
python3 scripts/gap_analyzer.py \
--base-skills base_skills.json \
--job-requirements jobs.json \
--output gap_analysis.json
Output: gap_analysis.json
[
{
"job_title": "Senior AI Engineer",
"skill_gaps": [
{
"skill": "Kubernetes",
"gap_type": "missing",
"importance": "high",
"related_experience": ["Docker experience in current role"]
}
],
"interview_questions": [
"Explain your understanding of Kubernetes orchestration...",
"How would you design a Kubernetes deployment for ML models?",
"..."
],
"linkedin_updates": {
"about_section": "Add: 'Experienced in containerization with Docker, transitioning to Kubernetes for production ML deployments'",
"skills_to_add": ["Kubernetes", "Container Orchestration", "MLOps"]
}
}
]
python3 scripts/question_generator.py \
--gap-analysis gap_analysis.json \
--questions-per-gap 10 \
--output interview_prep.md
bash /mnt/d/Ali_Home/Learning/AgenticAI/AI-P009/Assignments/ProjectA1/resume_optimizer/.claude/skills/browsing-with-playwright/scripts/stop-server.sh
Edit config.json in skill directory:
{
"resume_path": "/mnt/d/Ali_Home/Learning/AgenticAI/AI-P009/Assignments/ProjectA1/resume_optimizer/resume/resume06012026.docx",
"output_directory": "./resume_optimizer/output",
"playwright_port": 8808,
"job_search": {
"default_keywords": "AI Engineer remote",
"default_count": 2,
"location": "Remote"
},
"ats_optimization": {
"keyword_density_target": 0.75,
"exact_match_priority": true,
"preserve_formatting": true
},
"interview_prep": {
"questions_per_gap": 10,
"include_behavioral": true,
"include_technical": true
}
}
See references/ats-optimization-guide.md for detailed strategies including:
Professional Summary (highest ATS weight)
Skills Section (exact match critical)
Experience Descriptions (context + keywords)
Action Verb + Keyword + Result:
Before: "Worked on machine learning projects"
After: "Developed TensorFlow-based ML models, reducing inference time by 30%"
Technology Stack Enumeration:
Before: "Built backend systems"
After: "Built scalable backend systems using Python, Docker, and Kubernetes on AWS infrastructure"
See references/linkedin-automation.md for:
Key Points:
--shared-browser-context flag for Playwright MCPSee references/interview-prep-patterns.md for:
Question Distribution:
if len(jobs) == 0:
print("No jobs found matching criteria. Suggestions:")
print("- Broaden search keywords")
print("- Remove 'remote' filter")
print("- Try alternative job titles")
sys.exit(1)
try:
resume_text = extract_resume(resume_path)
except FileNotFoundError:
print(f"Resume not found at {resume_path}")
print("Please provide valid resume path with --resume-path")
sys.exit(1)
except Exception as e:
print(f"Error reading resume: {e}")
print("Ensure resume is valid .docx format")
sys.exit(1)
# Implement exponential backoff
for attempt in range(3):
try:
job_data = scrape_job(url)
break
except RateLimitError:
wait_time = 2 ** attempt * 5 # 5s, 10s, 20s
time.sleep(wait_time)
| Issue | Solution |
|---|---|
| Playwright not responding | Restart: bash scripts/stop-server.sh && bash scripts/start-server.sh |
| LinkedIn blocks automation | Add wait times, use headless:false, rotate user agents |
| Resume conversion fails | Verify pandoc installed: pandoc --version |
| ATS optimization weak | Review keyword extraction, increase density target in config.json |
| No skill gaps detected | Lower similarity threshold in gap_analyzer.py |
| Python packages missing | Run: pip install python-docx spacy nltk pandas requests |
| spaCy model not found | Run: python -m spacy download en_core_web_sm |
After running the workflow, you'll receive a summary report:
# Job Search Results Summary
## Jobs Found: 2
### Job 1: Senior AI Engineer - TechCorp
- **LinkedIn URL**: https://linkedin.com/jobs/view/12345
- **Tailored Resume**: ./resume_optimizer/output/resume_tailored_Senior_AI_Engineer.docx
- **Key Requirements**: Python, TensorFlow, MLOps, Kubernetes
- **Skill Gaps**: Kubernetes (High priority), AWS Sagemaker (Medium)
- **Interview Prep Questions**: 20 questions generated (see interview_prep.md)
### Job 2: Machine Learning Engineer - AI Startup
- **LinkedIn URL**: https://linkedin.com/jobs/view/67890
- **Tailored Resume**: ./resume_optimizer/output/resume_tailored_Machine_Learning_Engineer.docx
- **Key Requirements**: PyTorch, Docker, CI/CD, Model deployment
- **Skill Gaps**: PyTorch (High priority - similar TensorFlow experience)
- **Interview Prep Questions**: 15 questions generated (see interview_prep.md)
## LinkedIn Profile Recommendations
### About Section Updates
- Add: "Specialized in MLOps with focus on production-scale deployments"
- Emphasize: Kubernetes orchestration experience
- Highlight: Cross-functional collaboration in AI product development
### Skills to Add
1. Kubernetes (High priority - both jobs)
2. MLOps (Critical keyword)
3. Model Deployment
4. CI/CD for ML
## Next Steps
1. Review tailored resumes in ./resume_optimizer/output/
2. Study interview prep questions in interview_prep.md
3. Update LinkedIn profile per recommendations above
4. Apply to jobs with tailored resumes
This skill leverages:
bash scripts/start-server.shbash scripts/stop-server.shpandoc --track-changes=accept resume.docx -o resume.mdIf you prefer to provide job URLs manually:
jobs_manual.json:[
{
"title": "AI Engineer",
"company": "CompanyName",
"url": "https://linkedin.com/jobs/view/12345",
"description": "Paste full job description here..."
}
]
python3 scripts/workflow_orchestrator.py \
--manual-jobs jobs_manual.json \
--skip-linkedin
Override automatic skill extraction:
python3 scripts/ats_optimizer.py \
--base-resume resume.docx \
--job-description jobs.json \
--job-index 0 \
--custom-keywords "Python,TensorFlow,Kubernetes,AWS" \
--output tailored_resume.docx
This skill is part of the Claude Code skills ecosystem.
Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
Set up tracing, logging, and monitoring for deployed ADK agents across Cloud Trace, BigQuery, and third-party platforms.
Enterprise Azure infrastructure architect generating Bicep or Terraform from workload descriptions.
Plan and configure production-ready Azure Kubernetes Service clusters with Day-0 and Day-1 best practices.
Raw mechanical interfaces fusing Swiss typographic print with military terminal aesthetics. Rigid grids, extreme type scale contrast, utilitarian color, analog degradation effects. For data-heavy dashboards, portfolios, or editorial sites that need to feel like declassified blueprints.
Web search, scraping, extraction, crawling, and monitoring via ScrapeGraph AI CLI.
Skill for working with Firebase Hosting (Classic). Use this when you want to deploy static web apps, Single Page Apps (SPAs), or simple microservices. Do NOT use for Firebase App Hosting.
Deploy and manage web apps with Firebase App Hosting. Use this skill when deploying Next.js/Angular apps with backends.
Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".
Build SEO-optimized pages at scale using templates, data, and proven playbook patterns.
Design and build isolated, reusable Convex backend components with clear boundaries and app-facing wrappers.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Opus.ai: Revolutionize Your Web Experience
Build a no-code AI app in minutes.
An IDE for code migration from legacy to modern frameworks through coding agents.
Automate CGI animation in live-action scenes
Branded artistic QR-code concepts
Launch a website in seconds with AI.
Streamline Your Coding Experience with AI Code Helper
Convert any screenshot or design to clean code.