用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/DANG-ai/SKILLER --skill earthbench-general-skill命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | earthbench-general-skill |
| description | Global static EarthBench skill for raster, image, geospatial, numeric, and choice-matching workflows. |
| allowed-tools | ["ATI","ChangeOS","InstructSAM","MSCN","RemoteSAM","SAM2","SM3Det","analyze_hotspot_direction","apply_cloud_mask","average_ratio_exceeding_threshold","band_ratio","bboxes2centroids","calc_batch_fire_pixels","calc_batch_image_hotspot_percentage","calc_batch_image_hotspot_tif","calc_batch_image_max","calc_batch_image_mean","calc_batch_image_mean_mean","calc_batch_image_mean_threshold","calc_batch_image_sum","calc_threshold_value_mean","calculate_area","calculate_band_mean_by_condition","calculate_batch_nbr","calculate_batch_ndsi","calculate_batch_ndti","calculate_batch_ndvi","calculate_batch_ndwi","calculate_bbox_area","calculate_max_lst_by_ndvi","calculate_mean_lst_by_ndvi","calculate_multi_band_threshold_ratio","[Truncated]"] |
| metadata | {"benchmark":"EarthBench","generator":"Manus","baseline":"manus_plain_skill","generation_constraints":"earthbench_v2_folded_gold_no_instance_memory_v4","allowed_gold_input":"train124_firstarg_folded_v2","gold_trim_policy":"20260520_firstarg_shortnotice_repeatfold_v2","skill_injection_mode":"global_static","runtime_state_transitions":"disabled","date":"2026-05-20"} |
Every task begins with discovering available data files:
get_filelist(dir_path="benchmark/data/question<ID>")._LST → Land Surface Temperature brightness temperature rasters._NDVI or _b4/_b5/_Red/_NIR → Vegetation reflectance bands._BT_31/_BT_32 → MODIS thermal bands for split-window LST._NBR/_NDSI/_NDTI/_NDWI → Pre-computed spectral indices.When multiple TIF files exist for a time series:
Region_YYYY-MM-DD_Band.tif).compute_tvdi or lst_single_channel), apply the same tool to each date's file set.For tasks requiring object detection, segmentation, or change detection:
SM3Det(image_path="<path>", prompt="<object_category>")
RemoteSAM(image_path="<path>", prompt="<object_category>")
SM3Det for small/medium object detection in remote sensing imagery.RemoteSAM for prompted segmentation of specific objects.SAM2 for general-purpose segmentation.InstructSAM when natural language instructions guide segmentation.ChangeOS(image1_path="<before>", image2_path="<after>")
bboxes2centroids(bboxes=<detection_output>)
calculate_bbox_area(bboxes=<detection_output>)
centroid_distance_extremes(centroids=<centroid_list>)
count_connected_components(mask_path="<segmentation_output>")
calculate_area(mask_path="<segmentation_output>")
calculate_batch_ndvi(red_paths=[<red_band_files>], nir_paths=[<nir_band_files>], output_dir="benchmark/out/question<ID>")
calculate_batch_ndwi(green_paths=[<green_files>], nir_paths=[<nir_files>], output_dir="benchmark/out/question<ID>")
calculate_batch_ndsi(green_paths=[<green_files>], swir_paths=[<swir_files>], output_dir="benchmark/out/question<ID>")
calculate_batch_nbr(nir_paths=[<nir_files>], swir_paths=[<swir_files>], output_dir="benchmark/out/question<ID>")
calculate_batch_ndti(swir1_paths=[<swir1_files>], swir2_paths=[<swir2_files>], output_dir="benchmark/out/question<ID>")
band_ratio(numerator_path="<band_a>", denominator_path="<band_b>")
compute_tvdi(lst_path="<LST_file>", ndvi_path="<NDVI_file>", output_dir="benchmark/out/question<ID>")
lst_single_channel(bt_path="<BT10_file>", red_path="<Red_file>", nir_path="<NIR_file>", output_dir="benchmark/out/question<ID>")
lst_multi_channel(bt31_path="<BT31_file>", bt32_path="<BT32_file>", output_dir="benchmark/out/question<ID>")
split_window(bt31_path="<BT31_file>", bt32_path="<BT32_file>", output_dir="benchmark/out/question<ID>")
modis_day_night_lst(day_path="<day_file>", night_path="<night_file>")
temperature_emissivity_separation(thermal_paths=[<thermal_files>], output_dir="benchmark/out/question<ID>")
ttm_lst(thermal_path="<file>", output_dir="benchmark/out/question<ID>")
kelvin_to_celsius(value=<kelvin_value>)
After generating per-date product rasters (TVDI, LST, NDVI, etc.), aggregate:
calculate_tif_average(file_list=[<output_tifs>], output_dir="benchmark/out/question<ID>")
calc_batch_image_mean(file_list=[<output_tifs>])
calculate_tif_average produces a single averaged raster from multiple inputs.calc_batch_image_mean returns a list of per-image spatial mean values.calc_batch_image_max(file_list=[<tifs>])
calc_batch_image_sum(file_list=[<tifs>])
calc_batch_image_mean_mean(file_list=[<tifs>])
calc_batch_image_mean_threshold(file_list=[<tifs>], threshold=<value>)
calc_batch_image_hotspot_percentage(file_list=[<tifs>], threshold=<value>)
calc_batch_image_hotspot_tif(file_list=[<tifs>], threshold=<value>)
calc_batch_fire_pixels(file_list=[<tifs>])
calculate_threshold_ratio(image_paths=[<tifs>], threshold=<value>)
count_images_exceeding_threshold_ratio(image_paths=[<tifs>], threshold=<value>, ratio=<percentage>)
count_images_exceeding_mean_multiplier(image_paths=[<tifs>], multiplier=<value>)
count_above_threshold(values=[<list>], threshold=<value>)
average_ratio_exceeding_threshold(image_paths=[<tifs>], threshold=<value>)
compute_linear_trend(y=[<annual_values>])
sens_slope(values=[<time_series>])
coefficient_of_variation(values=[<list>])
kurtosis(values=[<list>])
skewness(values=[<list>])
count_spikes_from_values(values=[<list>])
difference(a=<value1>, b=<value2>)
subtract(a=<value1>, b=<value2>)
division(a=<numerator>, b=<denominator>)
multiply(a=<value1>, b=<value2>)
percentage_change(old=<value1>, new=<value2>)
mean(values=[<list>])
max_value_and_index(values=[<list>])
min_value_and_index(values=[<list>])
ceil_number(value=<float>)
image_division_mean(image_path="<tif>", divisor=<value>)
calculate_tif_difference(file1="<tif1>", file2="<tif2>")
calculate_band_mean_by_condition(band_path="<tif>", condition_path="<mask_or_index>", threshold=<value>, above=<bool>)
calculate_mean_lst_by_ndvi(red_paths="<red>", nir_paths="<nir>", lst_path="<lst>", ndvi_threshold=<value>, above=<bool>)
calculate_max_lst_by_ndvi(red_paths="<red>", nir_paths="<nir>", lst_path="<lst>", ndvi_threshold=<value>, above=<bool>)
calculate_multi_band_threshold_ratio(image_paths=[<tifs>], thresholds=[<values>])
calc_batch_fire_pixels(file_list=[<tifs>])
calc_batch_image_hotspot_percentage(file_list=[<tifs>], threshold=<value>)
analyze_hotspot_direction(hotspot_map="<tif>")
create_fire_increase_map(before_path="<tif1>", after_path="<tif2>")
apply_cloud_mask(image_path="<tif>", cloud_mask_path="<mask>")
calculate_water_turbidity_ntu(red_path="<red_band>", nir_path="<nir_band>")
ATI(day_lst_path="<day>", night_lst_path="<night>", albedo_path="<albedo>")
difference(a, b) computes a - b. Verify operand order matches the question's phrasing (e.g., "how much cooler" = warmer - cooler).percentage_change(old, new) computes (new - old) / old * 100.100 - proportion_above_X using difference.EarthBench tasks typically require selecting from multiple-choice options (A/B/C/D):
If tool outputs, filenames, or choices produce unexpected results:
read_file or run_python_script to inspect raster statistics.lst_single_channel produces unexpected values, check if split_window or lst_multi_channel is more appropriate for the sensor.run_python_script — as a last resort, write a Python script to manually read rasters and compute the answer using numpy/rasterio.| Question Pattern | Typical Tool Chain |
|---|---|
| TVDI trend over years | get_filelist → compute_tvdi (per date) → calculate_tif_average (per year) → calc_batch_image_mean → compute_linear_trend |
| LST threshold proportion | get_filelist → lst_single_channel/lst_multi_channel → calculate_threshold_ratio → optionally difference |
| LST by vegetation class | get_filelist → lst_single_channel → calculate_mean_lst_by_ndvi (twice) → difference |
| Exceedance day count | get_filelist → LST tool (per date) → count_images_exceeding_threshold_ratio |
| Spike detection | get_filelist → index tool → calc_batch_image_mean → count_spikes_from_values |
| Object detection/counting | get_filelist → SM3Det/RemoteSAM → bboxes2centroids → counting/area tools |
| Change detection | get_filelist → ChangeOS → count_connected_components/calculate_area |
| Fire analysis | get_filelist → calc_batch_fire_pixels → aggregation → trend |
| Water turbidity | get_filelist → calculate_water_turbidity_ntu |
| NDVI/NDWI/NDSI batch | get_filelist → calculate_batch_ndvi/ndwi/ndsi → aggregation |