AgentSkillsCN

application-materials-submission-handler

当用户需要根据带有特定格式要求的电子邮件指示,提交申请材料(如学术项目、职位、资助等)时,此技能会完整地完成工作流程:阅读包含提交指南的电子邮件指示,从记忆中提取个人信息,按照指定的文件夹结构整理文件,处理PDF文件(读取内容、合并多份文件),创建目录层级,将文件夹压缩为ZIP文件,并向指定收件人发送带有附件的格式化邮件。

SKILL.md
--- frontmatter
name: application-materials-submission-handler
description: When the user needs to submit application materials (for academic programs, jobs, grants, etc.) based on email instructions with specific formatting requirements. This skill handles the complete workflow reading email instructions with submission guidelines, retrieving personal information from memory, organizing files into specified folder structures, processing PDFs (reading content, merging multiple files), creating directory hierarchies, compressing folders into ZIP files, and sending formatted emails with attachments to specified recipients.

Instructions

1. Understand the Request

  • The user will ask you to submit application materials based on email instructions.
  • The request typically references an email from a specific sender (e.g., "kaiming") containing submission guidelines.
  • The subject line for the outgoing email is often specified (e.g., PhD Application Materials Submission (Student ID: {studentid})).
  • The user's personal information is stored in memory.

2. Retrieve Essential Information

  • Search for the instruction email: Use emails-search_emails with a query (e.g., sender name or relevant keywords) to find the email containing submission guidelines.
  • Read the instruction email: Use emails-read_email to get the full content. Extract:
    • Recipient email address for submission (e.g., myersj@mcp.com).
    • Required folder structure and naming conventions.
    • Any specific file processing instructions (e.g., "merge award certificates into a single PDF sorted by date").
  • Read user's personal information from memory: Use memory-read_graph to get:
    • Full name.
    • Student ID (or equivalent identifier).
    • Other relevant details (email, phone) for the email body.

3. Locate and Inspect Source Materials

  • List the workspace directory: Use filesystem-list_directory to see available files.
  • Examine key files if needed:
    • For recommendation letters: Use pdf-tools-read_pdf_pages to extract professor names from the first page for correct renaming.
    • For award certificates: Use pdf-tools-read_pdf_pages to confirm dates for sorting.

4. Create the Required Folder Structure

  • Construct the root folder name using the user's name and ID without spaces (e.g., Application_Materials_MaryCastillo_2201210606).
  • Create the full directory hierarchy as specified in the instructions using terminal-run_command with mkdir -p.
  • Typical structure includes:
    • 01_Personal_Information/ (ID_Card.pdf, Photo.jpg, Resume.pdf)
    • 02_Academic_Materials/ with Awards_Certificates/ subfolder
    • 03_Recommendation_Letters/
    • 04_Supplementary_Materials/

5. Organize and Process Files

  • Copy files to their target locations using terminal-run_command with cp.
  • Rename files according to conventions (e.g., Recommendation_Letter_[ProfessorName]-1.pdf). Professor names should have no spaces.
  • Merge PDFs when required: Use pdf-tools-merge_pdfs to combine multiple award certificates into All_Awards_Certificates.pdf. Sort by date (ascending).
  • Ensure all files use English names without special characters or spaces.

6. Verify and Compress

  • Verify the structure: Use filesystem-directory_tree to confirm the folder hierarchy and file placement.
  • Create a ZIP archive: Use the provided Python script (scripts/create_zip.py) if zip command is unavailable. The ZIP file should be named after the root folder (e.g., Application_Materials_MaryCastillo_2201210606.zip).

7. Send the Submission Email

  • Use emails-send_email with:
    • To: The recipient email from the instructions.
    • Subject: Exactly as specified, inserting the student ID (e.g., PhD Application Materials Submission (Student ID: 2201210606)).
    • Body: A professional email including the user's name, ID, contact information, and a brief description of the attached materials.
    • Attachments: The path to the created ZIP file.

8. Finalize

  • Provide a summary to the user confirming the email was sent, the structure created, and any special processing performed.
  • Use local-claim_done to indicate task completion.