[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71G7WTHBCXHC3CTWFHTGA40":3,"skill-same:01M71G7WTHBCXHC3CTWFHTGA40":99},{"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":27,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":58,"install":59,"resources":72},"01M71G7WTHBCXHC3CTWFHTGA40","geopandas",null,"Python library for working with geospatial vector data including shapefiles, GeoJSON, and GeoPackage files. Use when working with geographic data for spatial analysis, geometric operations, coordinate transformations, spatial joins, overlay operations, choropleth mapping, or any task involving reading\u002Fwriting\u002Fanalyzing vector geographic data. Supports PostGIS databases, interactive maps, and integration with matplotlib\u002Ffolium\u002Fcartopy. Use for tasks like buffer analysis, spatial joins between datasets, dissolving boundaries, clipping data, calculating areas\u002Fdistances, reprojecting coordinate systems, creating maps, or converting between spatial file formats.","JSGforever\u002Fskillguard","JSGforever","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F85541948?v=4","01M71FQD3E132VMR5F4TAYX3YS","01M71FQD4DYW0XJ4XQ4YQH75Y9",2,"GPL-3.0","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[5,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"tasks","for","spatial joins","mapping","library","formats","data","reading","analyzing","maps","analysis","when","writing","files","buffer","vector","overlay","databases","coordinate","2026-11-10 10:12:30",false,"---\nname: geopandas\ndescription: Python library for working with geospatial vector data including shapefiles, GeoJSON, and GeoPackage files. Use when working with geographic data for spatial analysis, geometric operations, coordinate transformations, spatial joins, overlay operations, choropleth mapping, or any task involving reading\u002Fwriting\u002Fanalyzing vector geographic data. Supports PostGIS databases, interactive maps, and integration with matplotlib\u002Ffolium\u002Fcartopy. Use for tasks like buffer analysis, spatial joins between datasets, dissolving boundaries, clipping data, calculating areas\u002Fdistances, reprojecting coordinate systems, creating maps, or converting between spatial file formats.\n---\n\n# GeoPandas\n\nGeoPandas extends pandas to enable spatial operations on geometric types. It combines the capabilities of pandas and shapely for geospatial data analysis.\n\n## Installation\n\n```bash\nuv pip install geopandas\n```\n\n### Optional Dependencies\n\n```bash\n# For interactive maps\nuv pip install folium\n\n# For classification schemes in mapping\nuv pip install mapclassify\n\n# For faster I\u002FO operations (2-4x speedup)\nuv pip install pyarrow\n\n# For PostGIS database support\nuv pip install psycopg2\nuv pip install geoalchemy2\n\n# For basemaps\nuv pip install contextily\n\n# For cartographic projections\nuv pip install cartopy\n```\n\n## Quick Start\n\n```python\nimport geopandas as gpd\n\n# Read spatial data\ngdf = gpd.read_file(\"data.geojson\")\n\n# Basic exploration\nprint(gdf.head())\nprint(gdf.crs)\nprint(gdf.geometry.geom_type)\n\n# Simple plot\ngdf.plot()\n\n# Reproject to different CRS\ngdf_projected = gdf.to_crs(\"EPSG:3857\")\n\n# Calculate area (use projected CRS for accuracy)\ngdf_projected['area'] = gdf_projected.geometry.area\n\n# Save to file\ngdf.to_file(\"output.gpkg\")\n```\n\n## Core Concepts\n\n### Data Structures\n\n- **GeoSeries**: Vector of geometries with spatial operations\n- **GeoDataFrame**: Tabular data structure with geometry column\n\nSee [data-structures.md](references\u002Fdata-structures.md) for details.\n\n### Reading and Writing Data\n\nGeoPandas reads\u002Fwrites multiple formats: Shapefile, GeoJSON, GeoPackage, PostGIS, Parquet.\n\n```python\n# Read with filtering\ngdf = gpd.read_file(\"data.gpkg\", bbox=(xmin, ymin, xmax, ymax))\n\n# Write with Arrow acceleration\ngdf.to_file(\"output.gpkg\", use_arrow=True)\n```\n\nSee [data-io.md](references\u002Fdata-io.md) for comprehensive I\u002FO operations.\n\n### Coordinate Reference Systems\n\nAlways check and manage CRS for accurate spatial operations:\n\n```python\n# Check CRS\nprint(gdf.crs)\n\n# Reproject (transforms coordinates)\ngdf_projected = gdf.to_crs(\"EPSG:3857\")\n\n# Set CRS (only when metadata missing)\ngdf = gdf.set_crs(\"EPSG:4326\")\n```\n\nSee [crs-management.md](references\u002Fcrs-management.md) for CRS operations.\n\n## Common Operations\n\n### Geometric Operations\n\nBuffer, simplify, centroid, convex hull, affine transformations:\n\n```python\n# Buffer by 10 units\nbuffered = gdf.geometry.buffer(10)\n\n# Simplify with tolerance\nsimplified = gdf.geometry.simplify(tolerance=5, preserve_topology=True)\n\n# Get centroids\ncentroids = gdf.geometry.centroid\n```\n\nSee [geometric-operations.md](references\u002Fgeometric-operations.md) for all operations.\n\n### Spatial Analysis\n\nSpatial joins, overlay operations, dissolve:\n\n```python\n# Spatial join (intersects)\njoined = gpd.sjoin(gdf1, gdf2, predicate='intersects')\n\n# Nearest neighbor join\nnearest = gpd.sjoin_nearest(gdf1, gdf2, max_distance=1000)\n\n# Overlay intersection\nintersection = gpd.overlay(gdf1, gdf2, how='intersection')\n\n# Dissolve by attribute\ndissolved = gdf.dissolve(by='region', aggfunc='sum')\n```\n\nSee [spatial-analysis.md](references\u002Fspatial-analysis.md) for analysis operations.\n\n### Visualization\n\nCreate static and interactive maps:\n\n```python\n# Choropleth map\ngdf.plot(column='population', cmap='YlOrRd', legend=True)\n\n# Interactive map\ngdf.explore(column='population', legend=True).save('map.html')\n\n# Multi-layer map\nimport matplotlib.pyplot as plt\nfig, ax = plt.subplots()\ngdf1.plot(ax=ax, color='blue')\ngdf2.plot(ax=ax, color='red')\n```\n\nSee [visualization.md](references\u002Fvisualization.md) for mapping techniques.\n\n## Detailed Documentation\n\n- **[Data Structures](references\u002Fdata-structures.md)** - GeoSeries and GeoDataFrame fundamentals\n- **[Data I\u002FO](references\u002Fdata-io.md)** - Reading\u002Fwriting files, PostGIS, Parquet\n- **[Geometric Operations](references\u002Fgeometric-operations.md)** - Buffer, simplify, affine transforms\n- **[Spatial Analysis](references\u002Fspatial-analysis.md)** - Joins, overlay, dissolve, clipping\n- **[Visualization](references\u002Fvisualization.md)** - Plotting, choropleth maps, interactive maps\n- **[CRS Management](references\u002Fcrs-management.md)** - Coordinate reference systems and projections\n\n## Common Workflows\n\n### Load, Transform, Analyze, Export\n\n```python\n# 1. Load data\ngdf = gpd.read_file(\"data.shp\")\n\n# 2. Check and transform CRS\nprint(gdf.crs)\ngdf = gdf.to_crs(\"EPSG:3857\")\n\n# 3. Perform analysis\ngdf['area'] = gdf.geometry.area\nbuffered = gdf.copy()\nbuffered['geometry'] = gdf.geometry.buffer(100)\n\n# 4. Export results\ngdf.to_file(\"results.gpkg\", layer='original')\nbuffered.to_file(\"results.gpkg\", layer='buffered')\n```\n\n### Spatial Join and Aggregate\n\n```python\n# Join points to polygons\npoints_in_polygons = gpd.sjoin(points_gdf, polygons_gdf, predicate='within')\n\n# Aggregate by polygon\naggregated = points_in_polygons.groupby('index_right').agg({\n    'value': 'sum',\n    'count': 'size'\n})\n\n# Merge back to polygons\nresult = polygons_gdf.merge(aggregated, left_index=True, right_index=True)\n```\n\n### Multi-Source Data Integration\n\n```python\n# Read from different sources\nroads = gpd.read_file(\"roads.shp\")\nbuildings = gpd.read_file(\"buildings.geojson\")\nparcels = gpd.read_postgis(\"SELECT * FROM parcels\", con=engine, geom_col='geom')\n\n# Ensure matching CRS\nbuildings = buildings.to_crs(roads.crs)\nparcels = parcels.to_crs(roads.crs)\n\n# Perform spatial operations\nbuildings_near_roads = buildings[buildings.geometry.distance(roads.union_all()) \u003C 50]\n```\n\n## Performance Tips\n\n1. **Use spatial indexing**: GeoPandas creates spatial indexes automatically for most operations\n2. **Filter during read**: Use `bbox`, `mask`, or `where` parameters to load only needed data\n3. **Use Arrow for I\u002FO**: Add `use_arrow=True` for 2-4x faster reading\u002Fwriting\n4. **Simplify geometries**: Use `.simplify()` to reduce complexity when precision isn't critical\n5. **Batch operations**: Vectorized operations are much faster than iterating rows\n6. **Use appropriate CRS**: Projected CRS for area\u002Fdistance, geographic for visualization\n\n## Best Practices\n\n1. **Always check CRS** before spatial operations\n2. **Use projected CRS** for area and distance calculations\n3. **Match CRS** before spatial joins or overlays\n4. **Validate geometries** with `.is_valid` before operations\n5. **Use `.copy()`** when modifying geometry columns to avoid side effects\n6. **Preserve topology** when simplifying for analysis\n7. **Use GeoPackage** format for modern workflows (better than Shapefile)\n8. **Set max_distance** in sjoin_nearest for better performance\n","# GeoPandas\n\nGeoPandas extends pandas to enable spatial operations on geometric types. It combines the capabilities of pandas and shapely for geospatial data analysis.\n\n## Installation\n\n```bash\nuv pip install geopandas\n```\n\n### Optional Dependencies\n\n```bash\n# For interactive maps\nuv pip install folium\n\n# For classification schemes in mapping\nuv pip install mapclassify\n\n# For faster I\u002FO operations (2-4x speedup)\nuv pip install pyarrow\n\n# For PostGIS database support\nuv pip install psycopg2\nuv pip install geoalchemy2\n\n# For basemaps\nuv pip install contextily\n\n# For cartographic projections\nuv pip install cartopy\n```\n\n## Quick Start\n\n```python\nimport geopandas as gpd\n\n# Read spatial data\ngdf = gpd.read_file(\"data.geojson\")\n\n# Basic exploration\nprint(gdf.head())\nprint(gdf.crs)\nprint(gdf.geometry.geom_type)\n\n# Simple plot\ngdf.plot()\n\n# Reproject to different CRS\ngdf_projected = gdf.to_crs(\"EPSG:3857\")\n\n# Calculate area (use projected CRS for accuracy)\ngdf_projected['area'] = gdf_projected.geometry.area\n\n# Save to file\ngdf.to_file(\"output.gpkg\")\n```\n\n## Core Concepts\n\n### Data Structures\n\n- **GeoSeries**: Vector of geometries with spatial operations\n- **GeoDataFrame**: Tabular data structure with geometry column\n\nSee [data-structures.md](references\u002Fdata-structures.md) for details.\n\n### Reading and Writing Data\n\nGeoPandas reads\u002Fwrites multiple formats: Shapefile, GeoJSON, GeoPackage, PostGIS, Parquet.\n\n```python\n# Read with filtering\ngdf = gpd.read_file(\"data.gpkg\", bbox=(xmin, ymin, xmax, ymax))\n\n# Write with Arrow acceleration\ngdf.to_file(\"output.gpkg\", use_arrow=True)\n```\n\nSee [data-io.md](references\u002Fdata-io.md) for comprehensive I\u002FO operations.\n\n### Coordinate Reference Systems\n\nAlways check and manage CRS for accurate spatial operations:\n\n```python\n# Check CRS\nprint(gdf.crs)\n\n# Reproject (transforms coordinates)\ngdf_projected = gdf.to_crs(\"EPSG:3857\")\n\n# Set CRS (only when metadata missing)\ngdf = gdf.set_crs(\"EPSG:4326\")\n```\n\nSee [crs-management.md](references\u002Fcrs-management.md) for CRS operations.\n\n## Common Operations\n\n### Geometric Operations\n\nBuffer, simplify, centroid, convex hull, affine transformations:\n\n```python\n# Buffer by 10 units\nbuffered = gdf.geometry.buffer(10)\n\n# Simplify with tolerance\nsimplified = gdf.geometry.simplify(tolerance=5, preserve_topology=True)\n\n# Get centroids\ncentroids = gdf.geometry.centroid\n```\n\nSee [geometric-operations.md](references\u002Fgeometric-operations.md) for all operations.\n\n### Spatial Analysis\n\nSpatial joins, overlay operations, dissolve:\n\n```python\n# Spatial join (intersects)\njoined = gpd.sjoin(gdf1, gdf2, predicate='intersects')\n\n# Nearest neighbor join\nnearest = gpd.sjoin_nearest(gdf1, gdf2, max_distance=1000)\n\n# Overlay intersection\nintersection = gpd.overlay(gdf1, gdf2, how='intersection')\n\n# Dissolve by attribute\ndissolved = gdf.dissolve(by='region', aggfunc='sum')\n```\n\nSee [spatial-analysis.md](references\u002Fspatial-analysis.md) for analysis operations.\n\n### Visualization\n\nCreate static and interactive maps:\n\n```python\n# Choropleth map\ngdf.plot(column='population', cmap='YlOrRd', legend=True)\n\n# Interactive map\ngdf.explore(column='population', legend=True).save('map.html')\n\n# Multi-layer map\nimport matplotlib.pyplot as plt\nfig, ax = plt.subplots()\ngdf1.plot(ax=ax, color='blue')\ngdf2.plot(ax=ax, color='red')\n```\n\nSee [visualization.md](references\u002Fvisualization.md) for mapping techniques.\n\n## Detailed Documentation\n\n- **[Data Structures](references\u002Fdata-structures.md)** - GeoSeries and GeoDataFrame fundamentals\n- **[Data I\u002FO](references\u002Fdata-io.md)** - Reading\u002Fwriting files, PostGIS, Parquet\n- **[Geometric Operations](references\u002Fgeometric-operations.md)** - Buffer, simplify, affine transforms\n- **[Spatial Analysis](references\u002Fspatial-analysis.md)** - Joins, overlay, dissolve, clipping\n- **[Visualization](references\u002Fvisualization.md)** - Plotting, choropleth maps, interactive maps\n- **[CRS Management](references\u002Fcrs-management.md)** - Coordinate reference systems and projections\n\n## Common Workflows\n\n### Load, Transform, Analyze, Export\n\n```python\n# 1. Load data\ngdf = gpd.read_file(\"data.shp\")\n\n# 2. Check and transform CRS\nprint(gdf.crs)\ngdf = gdf.to_crs(\"EPSG:3857\")\n\n# 3. Perform analysis\ngdf['area'] = gdf.geometry.area\nbuffered = gdf.copy()\nbuffered['geometry'] = gdf.geometry.buffer(100)\n\n# 4. Export results\ngdf.to_file(\"results.gpkg\", layer='original')\nbuffered.to_file(\"results.gpkg\", layer='buffered')\n```\n\n### Spatial Join and Aggregate\n\n```python\n# Join points to polygons\npoints_in_polygons = gpd.sjoin(points_gdf, polygons_gdf, predicate='within')\n\n# Aggregate by polygon\naggregated = points_in_polygons.groupby('index_right').agg({\n    'value': 'sum',\n    'count': 'size'\n})\n\n# Merge back to polygons\nresult = polygons_gdf.merge(aggregated, left_index=True, right_index=True)\n```\n\n### Multi-Source Data Integration\n\n```python\n# Read from different sources\nroads = gpd.read_file(\"roads.shp\")\nbuildings = gpd.read_file(\"buildings.geojson\")\nparcels = gpd.read_postgis(\"SELECT * FROM parcels\", con=engine, geom_col='geom')\n\n# Ensure matching CRS\nbuildings = buildings.to_crs(roads.crs)\nparcels = parcels.to_crs(roads.crs)\n\n# Perform spatial operations\nbuildings_near_roads = buildings[buildings.geometry.distance(roads.union_all()) \u003C 50]\n```\n\n## Performance Tips\n\n1. **Use spatial indexing**: GeoPandas creates spatial indexes automatically for most operations\n2. **Filter during read**: Use `bbox`, `mask`, or `where` parameters to load only needed data\n3. **Use Arrow for I\u002FO**: Add `use_arrow=True` for 2-4x faster reading\u002Fwriting\n4. **Simplify geometries**: Use `.simplify()` to reduce complexity when precision isn't critical\n5. **Batch operations**: Vectorized operations are much faster than iterating rows\n6. **Use appropriate CRS**: Projected CRS for area\u002Fdistance, geographic for visualization\n\n## Best Practices\n\n1. **Always check CRS** before spatial operations\n2. **Use projected CRS** for area and distance calculations\n3. **Match CRS** before spatial joins or overlays\n4. **Validate geometries** with `.is_valid` before operations\n5. **Use `.copy()`** when modifying geometry columns to avoid side effects\n6. **Preserve topology** when simplifying for analysis\n7. **Use GeoPackage** format for modern workflows (better than Shapefile)\n8. **Set max_distance** in sjoin_nearest for better performance\n",{"name":5,"description":7},"main","f2ec4b3b9133d34eeaf9b38e4b0a97e8e5705a7f","benchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas",0,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard","https:\u002F\u002Fgithub.com\u002FJSGforever","2026-08-29 18:27:56",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add JSGforever\u002Fskillguard --skill geopandas",{"tool":65,"command":66},"bunx","bunx skills add JSGforever\u002Fskillguard --skill geopandas",{"tool":68,"command":69},"pnpm","pnpm dlx skills add JSGforever\u002Fskillguard --skill geopandas","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas\u002FSKILL.md",true,[73,79,83,87,91,95],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fcrs-management.md","REFERENCE","参考文档",4835,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas\u002Freferences\u002Fcrs-management.md",{"path":80,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fdata-io.md",3690,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas\u002Freferences\u002Fdata-io.md",{"path":84,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fdata-structures.md",1638,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas\u002Freferences\u002Fdata-structures.md",{"path":88,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fgeometric-operations.md",4183,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas\u002Freferences\u002Fgeometric-operations.md",{"path":92,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Fspatial-analysis.md",4816,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas\u002Freferences\u002Fspatial-analysis.md",{"path":96,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":97,"sourceHtmlUrl":98},"references\u002Fvisualization.md",5415,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas\u002Freferences\u002Fvisualization.md",[100,129,141,168,190,211],{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":109,"publishedAt":47},"01M71HY2SNXBA9Q00WZDTZQ31Z","skillguard-codex-scanner","Hybrid deterministic+LLM agent-skill security scanner. Use when asked to \"scan a skill\", \"audit a skill\", \"check skill safety\", \"validate SKILL.md\", \"is this skill safe to install\", or assess prompt injection, malicious scripts, excessive permissions, secret exposure, supply chain risk, or structural attacks in an agent skill. Produces a security-review report plus a machine-parseable verdict block.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fsrc\u002Fskillguard\u002Fstatic_scanner\u002Fskillguard-codex-scanner\u002FSKILL.md",[106],{"categoryNo":107,"categoryName":108,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[110,111,112,113,114,115,116,117,118,119,120,121,39,122,123,124,125,126,127,128],"scanner","skillguard codex scanner","skillguard","codex","chain","skill security","security-review","review report","structural","secret","prompt injection","security scanner","review","malicious","permissions","exposure","audit","scripts","safe",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":133,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":139,"publishedAt":47},"01M71HY0SPKTT3S27BC2HPAC5M","data-exfiltrator","Analyzes data files","MIT","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Fsmoke-one-skill\u002Fasset1__cisco-ai-defense--data-exfiltrator\u002FSKILL.md",[136],{"categoryNo":137,"categoryName":138,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000033","数据分析师",[34,140,41],"data exfiltrator",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":147,"publishedAt":47},"01M71HXVS9EMN44BGDW215FZ72","real-time-collaboration-engine","Build real-time collaborative editing with WebSockets, OT\u002FCRDT conflict resolution, and presence awareness. Implements cursor tracking, optimistic updates, and offline sync. Use for collaborative editors, whiteboards, video editing. Activate on \"real-time collaboration\", \"WebSocket sync\", \"multiplayer editing\", \"CRDT\", \"presence awareness\". NOT for simple chat, request-response APIs, or single-user apps.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--real-time-collaboration-engine\u002FSKILL.md",[],[148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],"time","real time collaboration engine","real time collaboration","collaboration","engine","real time","Video","reliability","video editing","performance","conflict resolution","presence","access","apps","updates","Bash","activate","optimizer","react","streaming",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":177,"publishedAt":47},"01M71HXP6CTY4KFN0QVMMN0V7J","react-performance-optimizer","Optimize React apps for 60fps performance. Implements memoization, virtualization, code splitting, bundle optimization. Use for slow renders, large lists, bundle bloat. Activate on \"React performance\", \"slow render\", \"useMemo\", \"bundle size\", \"virtualization\". NOT for backend optimization, non-React frameworks, or premature optimization.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--react-performance-optimizer\u002FSKILL.md",[174],{"categoryNo":175,"categoryName":176,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",[157,178,165,166,179,180,181,182,183,184,148,185,186,161,163,187,164,167,188,189],"react performance optimizer","react performance","performance optimizer","app","nextjs","expert","re","render","2025","code","router","strategies",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":197,"publishedAt":47},"01M71HXH7QXSQB4QTDZ7SP7YXQ","llm-streaming-response-handler","Build production LLM streaming UIs with Server-Sent Events, real-time token display, cancellation, error recovery. Handles OpenAI\u002FAnthropic\u002FClaude streaming APIs. Use for chatbots, AI assistants, real-time text generation. Activate on \"LLM streaming\", \"SSE\", \"token stream\", \"chat UI\", \"real-time AI\". NOT for batch processing, non-streaming APIs, or WebSocket bidirectional chat.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--llm-streaming-response-handler\u002FSKILL.md",[196],{"categoryNo":175,"categoryName":176,"taxonomyType":20,"taxonomyTypeDesc":21},[198,167,199,200,201,202,157,148,203,204,205,163,164,165,206,166,207,208,209,210],"llm streaming response handler","handler","error","processing","retry","chat ui","error recovery","critical","batch","display","text","server","read",{"skillNo":212,"name":213,"nameZh":6,"description":214,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":215,"categories":216,"keywords":224,"publishedAt":47},"01M71HXCB0E1YRKYW1Y8T0Y106","github-actions-pipeline-builder","Build production CI\u002FCD pipelines with GitHub Actions. Implements matrix builds, caching, deployments, testing, security scanning. Use for automated testing, deployments, release workflows. Activate on \"GitHub Actions\", \"CI\u002FCD\", \"workflow\", \"deployment pipeline\", \"automated testing\". NOT for Jenkins\u002FCircleCI, manual deployments, or non-GitHub repositories.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--github-actions-pipeline-builder\u002FSKILL.md",[217,220,223],{"categoryNo":218,"categoryName":219,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":221,"categoryName":222,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":107,"categoryName":108,"taxonomyType":20,"taxonomyTypeDesc":21},[225,226,227,228,229,230,231,155,183,232,233,234,164,189,235,210,236,237,238,239],"github actions pipeline builder","actions","github actions","pipeline builder","github","builder","pipeline","testing","ci","workflows","run","release","write","edit","git"]