Agent Skill
2/7/2026

auto-cover

Generates tailored, professional cover letters from job postings by analyzing the role category, extracting relevant experience from specialized resumes, and formatting according to industry best practices. This skill should be used when the user provides a job posting and requests a cover letter.

T
tahasabir0
0GitHub Stars
1Views
npx skills add TahaSabir0/application-worflow

SKILL.md

Nameauto-cover
DescriptionGenerates tailored, professional cover letters from job postings by analyzing the role category, extracting relevant experience from specialized resumes, and formatting according to industry best practices. This skill should be used when the user provides a job posting and requests a cover letter.

name: auto-cover description: Generates tailored, professional cover letters from job postings by analyzing the role category, extracting relevant experience from specialized resumes, and formatting according to industry best practices. This skill should be used when the user provides a job posting and requests a cover letter.

Cover Letter Writer

This skill generates professional, tailored cover letters for job applications by analyzing job postings, categorizing the role, and extracting relevant experience from category-specific resumes.

Purpose

Automate the creation of compelling cover letters that:

  • Follow a proven format optimized for technical roles
  • Highlight relevant projects and experience from the appropriate specialized resume
  • Demonstrate genuine interest through company-specific research and connections
  • Maintain professional styling and consistent formatting
  • Stand out while adhering to industry standards

When to Use This Skill

Invoke this skill when:

  • User provides a job posting and requests a cover letter
  • User asks to generate, write, or create a cover letter for a specific role
  • User mentions applying to a job and needs application materials

Workflow

Step 1: Analyze the Job Posting

When the user provides a job posting, carefully analyze:

  1. Job title - Primary indicator of role category
  2. Required skills and qualifications - Technical requirements
  3. Responsibilities - Day-to-day work expectations
  4. Company information - Products, mission, technology stack
  5. Location - City and state for cover letter header

Step 2: Categorize the Role

Classify the job into one of five categories:

  • IT - Information Technology / Infrastructure / Operations
  • AI - Artificial Intelligence / Machine Learning
  • SWE - Software Engineering (general/full-stack)
  • PM - Program Manager / Product Manager
  • DS - Data Science / Analytics

Reference: Load references/job_categories.md for detailed classification guidelines.

Classification tips:

  • Job title is usually the strongest signal
  • Look for category-specific keywords in requirements
  • Consider what the role will spend most time doing
  • When ambiguous, default to SWE as the most general category

Step 3: Load the Appropriate Resume

Based on the category determined in Step 2, read the corresponding resume PDF from the current working directory:

  • IT → Taha_Sabir_IT.pdf
  • AI → Taha_Sabir_AI.pdf
  • SWE → Taha_Sabir_SWE.pdf
  • PM → Taha_Sabir_PM.pdf
  • DS → Taha_Sabir_DS.pdf

If the resume file is not found:

  • Inform the user which file is missing
  • Explain that the file should be in the current working directory
  • Ask the user to provide the resume or confirm the correct location

Step 4: Extract Key Information

From the resume and job posting, extract:

From Resume:

  • Contact information (phone, email)
  • Current status (university, major, year)
  • Relevant projects that match the job requirements
  • Technical skills and tools
  • Work experience and context

From Job Posting:

  • Company name
  • Company location (city, state)
  • Job title (for PDF filename)
  • Specific products, technologies, or initiatives mentioned
  • Key requirements that can be addressed with resume projects

Step 5: Generate the Cover Letter Content

Create the cover letter following the exact format specified in references/cover_letter_format.md.

Load the format reference:

Read references/cover_letter_format.md for detailed section formulas
Read references/contact_info.md for contact links

Structure:

  1. Header - Name and contact information
  2. Date - Current date in format: Month Day, Year
  3. Company Address - Company name and location
  4. Salutation - "Dear Hiring Manager,"
  5. Hook - Mission-driven opening (not "I am writing to apply...")
  6. Bridge - Connection to company's specific work
  7. Introduction - Current status and expertise summary
  8. Evidence Block 1 - Research/Data project
  9. Evidence Block 2 - Engineering/Hard skills project
  10. Evidence Block 3 - Current/Modern tech project
  11. Closing Summary - Core technical competencies
  12. Call to Action - Specific contribution to company goals
  13. Sign-off - "Thank you for your time and consideration.\n\nSincerely,\n\nTaha Sabir"

Critical requirements:

  • Select 3 projects from the resume that best match the job requirements
  • Include specific technical details (languages, frameworks, metrics)
  • Reference company-specific details from the job posting at least 2-3 times
  • Maintain professional but confident tone
  • Each evidence block should be 3-5 sentences
  • Total length: 350-500 words (roughly 3/4 to 1 page)

Step 6: Format as Markdown

Format the cover letter content as clean markdown:

  • Use # Name for the header
  • Plain text for contact line and body paragraphs
  • No extra formatting or bullet points in the main body
  • Separate paragraphs with blank lines

Example markdown structure:

# Taha Sabir

[Phone] | [Email] | https://tahasabir.netlify.app/ | https://www.linkedin.com/in/tahasabir/ | https://github.com/TahaSabir0

January 19, 2026

[Company Name]
[City, State]

Dear Hiring Manager,

[Hook paragraph...]

[Bridge paragraph...]

[Introduction paragraph...]

[Evidence Block 1...]

[Evidence Block 2...]

[Evidence Block 3...]

[Closing summary...]

[Call to action...]

Thank you for your time and consideration.

Sincerely,

Taha Sabir

Step 7: Save Markdown File

Save the markdown content to a temporary file in the current working directory:

temp_cover_letter.md

Step 8: Generate Styled PDF

Execute the PDF generation script:

python auto-cover/scripts/generate_cover_letter_pdf.py temp_cover_letter.md "Taha_Sabir_Cover_Letter_[JobTitle].pdf"

Filename format:

  • Replace [JobTitle] with the actual job title from the posting
  • Remove special characters and replace spaces with underscores
  • Example: "Taha_Sabir_Cover_Letter_Machine_Learning_Engineer.pdf"

Dependencies: The script requires:

  • reportlab - For PDF generation

If the script fails due to missing dependencies, inform the user:

The PDF generation requires additional Python packages.
Install them with: pip install reportlab

Step 9: Clean Up and Confirm

  1. Delete the temporary markdown file (temp_cover_letter.md)
  2. Confirm to the user:
    • The PDF filename and location
    • The job category that was detected
    • Which resume was used

Example confirmation:

✓ Cover letter generated successfully!

Job Category: AI (Machine Learning)
Resume Used: Taha_Sabir_AI.pdf
Output: Taha_Sabir_Cover_Letter_Machine_Learning_Engineer.pdf

The cover letter is ready in your current directory.

Best Practices

Content Quality

  1. Be specific: Use exact technology names, frameworks, and metrics
  2. Show relevance: Explicitly connect each project to job requirements
  3. Demonstrate research: Reference specific company products or initiatives
  4. Quantify impact: Include scale, performance metrics, or outcomes
  5. Maintain authenticity: Only include projects and skills from the resume

Technical Writing

  1. Active voice: "I built" not "I was responsible for building"
  2. Strong verbs: developed, implemented, designed, optimized, architected
  3. Concrete details: Mention specific algorithms, patterns, or architectures
  4. Industry terminology: Use terms that appear in the job description

Format Compliance

  1. Follow the formula: Each section has a specific structure in the format reference
  2. Respect length: Keep evidence blocks to 3-5 sentences each
  3. Company integration: Mention company name 2-3 times throughout
  4. Professional tone: Confident but not arrogant, specific but not verbose

Troubleshooting

Resume Not Found

If the resume PDF is missing, provide clear guidance:

Error: Resume file not found: Taha_Sabir_[Category].pdf

Please ensure the resume is in the current working directory:
[Current Working Directory Path]

The file should be named exactly: Taha_Sabir_[Category].pdf

Category Unclear

If the job posting doesn't clearly fit a category:

  1. Explain the ambiguity to the user
  2. State which category you're leaning toward and why
  3. Ask if the user would prefer a different category
  4. Default to SWE if no preference provided

Missing Job Information

If the job posting lacks key details (company location, specific requirements):

  1. Generate the cover letter with available information
  2. Mark missing sections with [FILL IN: description]
  3. Alert the user to fill in these details before submitting

Example Usage

User: "Help me write a cover letter for this ML Engineer position at OpenAI..."

Skill workflow:

  1. Analyze the job posting → Category: AI
  2. Read Taha_Sabir_AI.pdf from current directory
  3. Load format and contact references
  4. Extract relevant ML projects from resume
  5. Generate cover letter highlighting AI/ML experience
  6. Save as markdown, convert to styled PDF
  7. Output: Taha_Sabir_Cover_Letter_ML_Engineer.pdf

Notes

  • This skill assumes all 5 resume PDFs exist in the current working directory
  • The skill will only work if the resume for the detected category is available
  • The PDF generation requires Python dependency: reportlab
  • The output PDF is formatted for standard US letter size paper
  • Contact links are hardcoded in references/contact_info.md
Skills Info
Original Name:auto-coverAuthor:tahasabir0