[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KJS4KMGFZK0J7FRGHA42EP":3,"skill-same:01M6KJS4KMGFZK0J7FRGHA42EP":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":52,"install":53,"resources":66},"01M6KJS4KMGFZK0J7FRGHA42EP","pdf-calendar-extraction",null,"Extract appointments and time blocks from a calendar PDF. This skill helps parse calendar.pdf to identify appointment blocks, their positions on the timeline, duration, and color coding (including blue blocks that represent flexible\u002Foverwritable slots). Use this whenever you need to extract calendar data from a PDF document.","cxcscmu\u002FSkillLearnBench","cxcscmu","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F142838272?v=4","01M6KCQDFQWPDSN0MKZY96MSQP","01M6KCQDM7G70TKJ28NTSQC0RZ",93,"MIT","https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fb4-skill-creator-claude-haiku-4-5\u002Fschedule-planning\u002Fpdf-calendar-extraction\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"extraction","pdf calendar extraction","calendar","PDF","timeline","coding","extract","use","data","document","time","positions","color","blocks","you","slots","parse calendar","2026-11-10 10:12:30",false,"---\nname: pdf-calendar-extraction\ndescription: Extract appointments and time blocks from a calendar PDF. This skill helps parse calendar.pdf to identify appointment blocks, their positions on the timeline, duration, and color coding (including blue blocks that represent flexible\u002Foverwritable slots). Use this whenever you need to extract calendar data from a PDF document.\n---\n\n# PDF Calendar Extraction\n\n## Overview\n\nThis skill extracts appointment information from a calendar PDF by analyzing:\n- Appointment block positions and dimensions\n- Time slots based on 15-minute intervals between horizontal lines\n- Color coding (blue = flexible\u002Foverwritable, other colors = fixed appointments)\n- Start and end times calculated from vertical position relative to timeline\n\n## Extracting Calendar Data from PDF\n\n### Step 1: Read the PDF\n\nUse the Read tool to load the calendar PDF:\n\n```\nRead \u002Froot\u002Fcalendar.pdf\n```\n\nThe PDF will display as a visual image in the interface.\n\n### Step 2: Identify the Timeline Structure\n\nLook for:\n- **Vertical timeline axis** (usually on the left side) showing hours or time markers\n- **Horizontal grid lines** dividing the calendar into 15-minute intervals\n- **Time labels** indicating the start hour(s) of the day\n\nExample: If you see \"9:00 AM\" label and horizontal lines below it, each line represents 15 minutes.\n\n### Step 3: Locate and Measure Appointment Blocks\n\nFor each visible appointment block:\n\n1. **Identify the block**: Rectangular areas representing appointments\n2. **Determine color**: Note if the block is blue (flexible) or another color (fixed)\n3. **Measure vertical position**:\n   - Identify which horizontal lines the block spans\n   - Count lines from the start time to get duration\n   - Each line = 15 minutes\n4. **Calculate times**:\n   - Start time = position from top of timeline\n   - End time = start time + (number of 15-minute intervals)\n\n### Step 4: Record Appointment Data\n\nCreate a structured list of appointments:\n\n```json\n{\n  \"timezone\": \"[Extracted from PDF if visible]\",\n  \"appointments\": [\n    {\n      \"name\": \"Appointment Name\",\n      \"start_time\": \"HH:MM\",\n      \"end_time\": \"HH:MM\",\n      \"duration_minutes\": 30,\n      \"color\": \"blue|other\",\n      \"flexible\": true|false\n    }\n  ]\n}\n```\n\n## Color Coding Rules\n\n- **Blue blocks**: Flexible or low-priority tasks that can be overwritten by meeting requests\n- **Other colors** (gray, black, etc.): Fixed appointments that cannot be moved\n- When a meeting request overlaps with a blue block, treat it as available time and schedule the meeting\n\n## Tips for Accurate Extraction\n\n- If the PDF shows a full day view, identify the start and end hours clearly\n- Double-check time calculations by counting 15-minute intervals\n- Note any timezone information displayed on the calendar\n- If blocks are adjacent with no gap, verify they are separate appointments vs. one longer block\n\n## Output Format\n\nReturn extracted data as a structured list suitable for the meeting slot finder algorithm to process.\n","# PDF Calendar Extraction\n\n## Overview\n\nThis skill extracts appointment information from a calendar PDF by analyzing:\n- Appointment block positions and dimensions\n- Time slots based on 15-minute intervals between horizontal lines\n- Color coding (blue = flexible\u002Foverwritable, other colors = fixed appointments)\n- Start and end times calculated from vertical position relative to timeline\n\n## Extracting Calendar Data from PDF\n\n### Step 1: Read the PDF\n\nUse the Read tool to load the calendar PDF:\n\n```\nRead \u002Froot\u002Fcalendar.pdf\n```\n\nThe PDF will display as a visual image in the interface.\n\n### Step 2: Identify the Timeline Structure\n\nLook for:\n- **Vertical timeline axis** (usually on the left side) showing hours or time markers\n- **Horizontal grid lines** dividing the calendar into 15-minute intervals\n- **Time labels** indicating the start hour(s) of the day\n\nExample: If you see \"9:00 AM\" label and horizontal lines below it, each line represents 15 minutes.\n\n### Step 3: Locate and Measure Appointment Blocks\n\nFor each visible appointment block:\n\n1. **Identify the block**: Rectangular areas representing appointments\n2. **Determine color**: Note if the block is blue (flexible) or another color (fixed)\n3. **Measure vertical position**:\n   - Identify which horizontal lines the block spans\n   - Count lines from the start time to get duration\n   - Each line = 15 minutes\n4. **Calculate times**:\n   - Start time = position from top of timeline\n   - End time = start time + (number of 15-minute intervals)\n\n### Step 4: Record Appointment Data\n\nCreate a structured list of appointments:\n\n```json\n{\n  \"timezone\": \"[Extracted from PDF if visible]\",\n  \"appointments\": [\n    {\n      \"name\": \"Appointment Name\",\n      \"start_time\": \"HH:MM\",\n      \"end_time\": \"HH:MM\",\n      \"duration_minutes\": 30,\n      \"color\": \"blue|other\",\n      \"flexible\": true|false\n    }\n  ]\n}\n```\n\n## Color Coding Rules\n\n- **Blue blocks**: Flexible or low-priority tasks that can be overwritten by meeting requests\n- **Other colors** (gray, black, etc.): Fixed appointments that cannot be moved\n- When a meeting request overlaps with a blue block, treat it as available time and schedule the meeting\n\n## Tips for Accurate Extraction\n\n- If the PDF shows a full day view, identify the start and end hours clearly\n- Double-check time calculations by counting 15-minute intervals\n- Note any timezone information displayed on the calendar\n- If blocks are adjacent with no gap, verify they are separate appointments vs. one longer block\n\n## Output Format\n\nReturn extracted data as a structured list suitable for the meeting slot finder algorithm to process.\n",{"name":5,"description":7},"main","726e1f79b96b0cb3d729d0e55a1c847e0b5353ae","skills\u002Fb4-skill-creator-claude-haiku-4-5\u002Fschedule-planning\u002Fpdf-calendar-extraction",7,"https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench","https:\u002F\u002Fcxcscmu.github.io\u002FSkillLearnBench","https:\u002F\u002Fgithub.com\u002Fcxcscmu","2026-10-02 22:55:36",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add cxcscmu\u002FSkillLearnBench --skill pdf-calendar-extraction",{"tool":59,"command":60},"bunx","bunx skills add cxcscmu\u002FSkillLearnBench --skill pdf-calendar-extraction",{"tool":62,"command":63},"pnpm","pnpm dlx skills add cxcscmu\u002FSkillLearnBench --skill pdf-calendar-extraction","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fb4-skill-creator-claude-haiku-4-5\u002Fschedule-planning\u002Fpdf-calendar-extraction\u002FSKILL.md",true,[],[68,84,109,126,146,158],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":77,"publishedAt":40},"01M6KM5KH175P5ABP5JMX2SBDQ","object_counter","Count occurrences of an object in the image using computer vision algorithm.","https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fhuman_authored\u002Fvideo-object-counting\u002Fobject_counter\u002FSKILL.md",[74],{"categoryNo":75,"categoryName":76,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",[78,79,80,81,82,83],"object counter","object","vision","computer","Computer Vision","image",{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":93,"publishedAt":40},"01M6KM51TMVXG79MMPCS6Y8G86","travel-planning-workflow","Invoke this skill when performing travel planning. It defines a structured workflow for generating itineraries. Following this workflow is essential to ensure the final plan satisfies user requirements.","https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fhuman_authored\u002Ftravel-planning\u002Ftravel-planning-workflow\u002FSKILL.md",[90],{"categoryNo":91,"categoryName":92,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[94,95,96,97,98,99,100,101,102,103,104,105,106,107,108],"workflow","planning","planning workflow","travel","travel planning","travel planning workflow","structured","performing","plan","for","user","it","requirements","essential","itineraries",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":40},"01M6KM4DY820XHS9YTSK5QP5HD","bundled-dataset-search-tool","invoke this skill when you need to perform database search for travel planning. This skill provides some useful pre-packaged tools to look up accommodations, attractions, cities, driving distance, flights, and restaurants from the bundled dataset.","https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fhuman_authored\u002Ftravel-planning\u002Fbundled-dataset-search-tool\u002FSKILL.md",[],[116,117,118,119,120,121,122,97,123,124,98,37,103,125,95],"search","tool","dataset","bundled dataset search tool","restaurants","Tools","up","look","flights","database",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":40},"01M6KM465BB9PQ0B548HQSVAWZ","glm-output","Output-processing guidance for GLM tasks. Especially useful after glm-basics and glm-calibration when you need verifier-matching metrics from output.nc and a final \u002Froot\u002Fmetrics.json.","https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fhuman_authored\u002Ftemperature-simulation\u002Fglm-output\u002FSKILL.md",[],[133,134,135,103,136,137,138,139,140,141,142,143,37,144,145],"glm output","output","glm","tasks","metrics","json","basics","guidance","matching","verifier","processing","root","calibration",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":153,"publishedAt":40},"01M6KM40KY3QWDW5W97S39R2BC","glm-calibration","Calibration guidance for GLM tasks. Often most effective after glm-basics has clarified the setup; glm-output is the companion skill for exact final metric computation.","https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fhuman_authored\u002Ftemperature-simulation\u002Fglm-calibration\u002FSKILL.md",[152],{"categoryNo":91,"categoryName":92,"taxonomyType":20,"taxonomyTypeDesc":21},[154,145,135,134,140,139,136,155,156,103,157],"glm calibration","setup","companion","metric",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":164,"publishedAt":40},"01M6KM3VHHVSGMGHJQB3PPT6YG","glm-basics","A good starting point for GLM calibration tasks. Use to inspect glm3.nml, confirm how GLM runs, and identify the relevant files before moving on to calibration and output evaluation.","https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fhuman_authored\u002Ftemperature-simulation\u002Fglm-basics\u002FSKILL.md",[],[165,135,139,166,154,145,103,134,167,168,169,30,170,171,136],"glm basics","inspect","relevant","files","good","how","Evaluation"]