[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KFGFVTZMCRXVMQTJ05A3KB":3,"skill-same:01M6KFGFVTZMCRXVMQTJ05A3KB":51},{"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":17,"publishedAt":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":29,"commitSha":30,"skillDirectory":31,"forksCount":32,"repositoryHtmlUrl":33,"repositoryHomepageUrl":34,"ownerHtmlUrl":35,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":36,"install":37,"resources":50},"01M6KFGFVTZMCRXVMQTJ05A3KB","run2_plate-boundary-analysis",null,"Finding earthquakes within tectonic plates and computing distances to plate boundaries using PB2002 data.","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\u002Fb2-self-feedback-claude-opus-4-6\u002Fearthquake-plate-calculation\u002Frun2_plate-boundary-analysis\u002FSKILL.md",[],[18,19,20,21,22,23],"analysis","boundary","run2 plate boundary analysis","data","earthquakes","tectonic","2026-11-10 10:12:30",false,"---\nname: run2_plate-boundary-analysis\ndescription: Finding earthquakes within tectonic plates and computing distances to plate boundaries using PB2002 data.\n---\n\n# Plate Boundary Analysis with PB2002\n\n## Data Files\n- **PB2002_plates.json**: GeoJSON with plate polygons. Key fields: `Code` (e.g., \"PA\"), `PlateName` (e.g., \"Pacific\").\n- **PB2002_boundaries.json**: GeoJSON with boundary LineStrings. Key fields: `PlateA`, `PlateB` (two-letter plate codes).\n\n## Step-by-Step: Finding Furthest Earthquake from Boundary\n\n### 1. Load and filter\n```python\nplates = gpd.read_file(\"PB2002_plates.json\").set_crs(\"EPSG:4326\", allow_override=True)\nboundaries = gpd.read_file(\"PB2002_boundaries.json\").set_crs(\"EPSG:4326\", allow_override=True)\nearthquakes = gpd.read_file(\"earthquakes_2024.json\").set_crs(\"EPSG:4326\", allow_override=True)\n\npacific_plate = plates[plates[\"Code\"] == \"PA\"]\npa_boundaries = boundaries[(boundaries[\"PlateA\"] == \"PA\") | (boundaries[\"PlateB\"] == \"PA\")]\n```\n\n### 2. Spatial join for containment\n```python\neq_in_pacific = gpd.sjoin(earthquakes, pacific_plate, predicate=\"within\")\n```\n\n### 3. Compute distances in projected CRS\n```python\nfrom shapely.ops import unary_union\n\ncrs = \"+proj=aeqd +lat_0=0 +lon_0=-160 +datum=WGS84 +units=m\"\npa_boundary_union = unary_union(pa_boundaries.geometry)\npa_boundary_proj = gpd.GeoSeries([pa_boundary_union], crs=\"EPSG:4326\").to_crs(crs).iloc[0]\neq_proj = eq_in_pacific.to_crs(crs)\ndistances_km = eq_proj.geometry.distance(pa_boundary_proj) \u002F 1000.0\n```\n\n### 4. Find maximum\n```python\nmax_idx = distances_km.idxmax()\nresult = eq_in_pacific.loc[max_idx]\n```\n\n## USGS Earthquake Time Format\n```python\nfrom datetime import datetime, timezone\nepoch_ms = result[\"time\"]\niso = datetime.fromtimestamp(epoch_ms \u002F 1000, tz=timezone.utc).strftime(\"%Y-%m-%dT%H:%M:%SZ\")\n```\n\n## Expected Result\nHawaii earthquakes are typically furthest from the Pacific plate boundary (~3500+ km), as Hawaii sits in the interior of the Pacific plate.\n","# Plate Boundary Analysis with PB2002\n\n## Data Files\n- **PB2002_plates.json**: GeoJSON with plate polygons. Key fields: `Code` (e.g., \"PA\"), `PlateName` (e.g., \"Pacific\").\n- **PB2002_boundaries.json**: GeoJSON with boundary LineStrings. Key fields: `PlateA`, `PlateB` (two-letter plate codes).\n\n## Step-by-Step: Finding Furthest Earthquake from Boundary\n\n### 1. Load and filter\n```python\nplates = gpd.read_file(\"PB2002_plates.json\").set_crs(\"EPSG:4326\", allow_override=True)\nboundaries = gpd.read_file(\"PB2002_boundaries.json\").set_crs(\"EPSG:4326\", allow_override=True)\nearthquakes = gpd.read_file(\"earthquakes_2024.json\").set_crs(\"EPSG:4326\", allow_override=True)\n\npacific_plate = plates[plates[\"Code\"] == \"PA\"]\npa_boundaries = boundaries[(boundaries[\"PlateA\"] == \"PA\") | (boundaries[\"PlateB\"] == \"PA\")]\n```\n\n### 2. Spatial join for containment\n```python\neq_in_pacific = gpd.sjoin(earthquakes, pacific_plate, predicate=\"within\")\n```\n\n### 3. Compute distances in projected CRS\n```python\nfrom shapely.ops import unary_union\n\ncrs = \"+proj=aeqd +lat_0=0 +lon_0=-160 +datum=WGS84 +units=m\"\npa_boundary_union = unary_union(pa_boundaries.geometry)\npa_boundary_proj = gpd.GeoSeries([pa_boundary_union], crs=\"EPSG:4326\").to_crs(crs).iloc[0]\neq_proj = eq_in_pacific.to_crs(crs)\ndistances_km = eq_proj.geometry.distance(pa_boundary_proj) \u002F 1000.0\n```\n\n### 4. Find maximum\n```python\nmax_idx = distances_km.idxmax()\nresult = eq_in_pacific.loc[max_idx]\n```\n\n## USGS Earthquake Time Format\n```python\nfrom datetime import datetime, timezone\nepoch_ms = result[\"time\"]\niso = datetime.fromtimestamp(epoch_ms \u002F 1000, tz=timezone.utc).strftime(\"%Y-%m-%dT%H:%M:%SZ\")\n```\n\n## Expected Result\nHawaii earthquakes are typically furthest from the Pacific plate boundary (~3500+ km), as Hawaii sits in the interior of the Pacific plate.\n",{"name":5,"description":7},"main","726e1f79b96b0cb3d729d0e55a1c847e0b5353ae","skills\u002Fb2-self-feedback-claude-opus-4-6\u002Fearthquake-plate-calculation\u002Frun2_plate-boundary-analysis",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":38,"prompt":48,"zipAvailable":49},[39,42,45],{"tool":40,"command":41},"npx","npx skills add cxcscmu\u002FSkillLearnBench --skill run2_plate-boundary-analysis",{"tool":43,"command":44},"bunx","bunx skills add cxcscmu\u002FSkillLearnBench --skill run2_plate-boundary-analysis",{"tool":46,"command":47},"pnpm","pnpm dlx skills add cxcscmu\u002FSkillLearnBench --skill run2_plate-boundary-analysis","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fb2-self-feedback-claude-opus-4-6\u002Fearthquake-plate-calculation\u002Frun2_plate-boundary-analysis\u002FSKILL.md",true,[],[52,70,95,113,133,145],{"skillNo":53,"name":54,"nameZh":6,"description":55,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":56,"categories":57,"keywords":63,"publishedAt":24},"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",[58],{"categoryNo":59,"categoryName":60,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[64,65,66,67,68,69],"object counter","object","vision","computer","Computer Vision","image",{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":79,"publishedAt":24},"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",[76],{"categoryNo":77,"categoryName":78,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000023","Skill与智能体开发",[80,81,82,83,84,85,86,87,88,89,90,91,92,93,94],"workflow","planning","planning workflow","travel","travel planning","travel planning workflow","structured","performing","plan","for","user","it","requirements","essential","itineraries",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":24},"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",[],[102,103,104,105,106,107,108,83,109,110,84,111,89,112,81],"search","tool","dataset","bundled dataset search tool","restaurants","Tools","up","look","flights","you","database",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":24},"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",[],[120,121,122,89,123,124,125,126,127,128,129,130,111,131,132],"glm output","output","glm","tasks","metrics","json","basics","guidance","matching","verifier","processing","root","calibration",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":140,"publishedAt":24},"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",[139],{"categoryNo":77,"categoryName":78,"taxonomyType":61,"taxonomyTypeDesc":62},[141,132,122,121,127,126,123,142,143,89,144],"glm calibration","setup","companion","metric",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":151,"publishedAt":24},"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",[],[152,122,126,153,141,132,89,121,154,155,156,157,158,159,123],"glm basics","inspect","relevant","files","good","use","how","Evaluation"]