К основному содержанию
скилл CX Codex

change-detection — скилл для Claude Code: что делает и как установить

Скилл задаёт строгие правила анализа изменений по спутниковым снимкам и геоданным. Он помогает отсекать ложные срабатывания от сезонности или сдвига кадров.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add muend/geoai-skills --skill change-detection -a claude-code
Открыть на GitHub

Что делает change-detection

Скилл инструктирует ассистента, как проводить детекцию изменений на сопоставимых растровых и векторных слоях. Он рассчитан на задачи мониторинга вырубки лесов, урбанизации, оценки последствий стихийных бедствий и аудита границ земельных участков. Скилл регламентирует расчёт разностей индексов вроде ΔNDVI и ΔNBR, многомерный векторный анализ (CVA), декомпозицию временных рядов через BFAST, CCDC или LandTrendr, а также лог-отношение для данных SAR.

Перед запуском оцениваются четыре фактора: субпиксельное совмещение через AROSICS или опорные точки, радиометрическая калибровка, совпадение фенологической фазы и пересечение масок облаков. Сдвиг даже в полпикселя создаёт ложные контуры изменений на границах объектов. При работе с разностными изображениями запрещено выбирать порог на глаз: требуется брать статистические границы вида μ ± k·σ либо метод Otsu и проверять устойчивость шагами k ± 0.5.

При сравнении двух карт классификации учитывается эффект накопления ошибок. Скилл предписывает строить полную матрицу переходов между классами для отсева невозможных сценариев. Итоговые площади изменений нельзя считать прямым суммированием пикселей: агент обязан давать скорректированные оценки площадей с доверительными интервалами по протоколу стратифицированной выборки Олофссона.

Какие задачи решает

  • выявить вырубку лесов и разрастание городов по снимкам двух дат
  • рассчитать пороги разности спектральных индексов без ручной подгонки
  • найти даты структурных изменений во временном ряде наблюдений
  • провести аудит сдвигов геометрии и атрибутов в кадастровых полигонах
  • рассчитать доверительные интервалы площадей изменений по протоколу Олофссона

Примеры запросов агенту

  • Посчитай разность ΔNBR между снимками до и после пожара и выдели гари порогом Otsu.
  • Построй матрицу переходов между двумя классификациями и найди невозможные смены классов.
  • Проанализируй временной ряд вегетационного индекса через BFAST и определи даты слома тренда.

Как установить change-detection

1Через Skills CLI (Vercel)

npx skills add muend/geoai-skills --skill change-detection -a claude-code

2Вручную: положить файлы

~/.claude/skills/change-detection/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/change-detection/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о change-detection

Как установить change-detection в Claude Code?

Выполните команду npx skills add muend/geoai-skills --skill change-detection -a claude-code.

Что делает скилл change-detection?

Он задаёт методологию анализа пространственно-временных изменений, помогая отличить реальную динамику поверхности от сезонных фаз, облачности и ошибок привязки.

Почему скилл запрещает считать площадь изменений прямым подсчётом пикселей?

Прямой подсчёт пикселей даёт смещённый результат из-за погрешностей классификатора. Скилл требует стратифицированной выборки с поправкой на ошибку карты по протоколу Олофссона.

Исходный текст

SKILL.md · MIT
---
name: change-detection
description: >-
  Change analysis, once the observations are comparable. Not for cases whose
  blocker is comparability itself: mixed sensors, product levels or processing
  baselines to remote-sensing-analysis, undocumented vertical datums to
  point-cloud-lidar, multi-decade archive trends over large areas to
  google-earth-engine. Matching product level does not prove comparability.
  Otherwise invoke for what, where or how much changed: two-scene comparison,
  deforestation, urban growth, disaster damage, parcel-change audits,
  bi-temporal differencing, post-classification comparison, adjusted area,
  break detection in a series in hand (BFAST/LandTrendr/CCDC). Seasonal
  mismatch is this skill's own confounder; a documented datum with a stated
  accuracy budget is settled comparability. Keep both.
license: MIT
metadata:
  author: Muhammed Enes Duran
---

# Change Detection & Spatio-temporal Analysis

Purpose: separate real surface change from the four great impostors —
misregistration, radiometric drift, phenology, and classification error.
Every method below exists to control one of them; skipping the controls
produces confident maps of nothing.

## Preconditions (where change detection is won or lost)

Preconditions 1 and 2 are *checked* here but *established* elsewhere. When
either fails, the owning skill leads and this skill resumes once comparable
observations exist. Precondition 3 is this skill's own problem and is never a
reason to route away.

1. **Co-registration**: sub-pixel alignment between dates (AROSICS or
   manual tie-points). Half a pixel of shift creates edge-shaped phantom
   change everywhere. Verify: flicker-compare crisp features. For elevation
   surfaces or point clouds, vertical datum agreement, co-registration and
   the vertical-accuracy budget belong to `point-cloud-lidar` — a datum
   offset is not subsidence.
2. **Radiometric consistency**: same processing level (surface
   reflectance), same sensor, same processing baseline. If any of the three
   differ, this is a harmonization problem, not a thresholding one: hand it
   to `remote-sensing-analysis` (HLS for Landsat↔Sentinel-2, relative
   normalization with PIFs, `BOA_ADD_OFFSET` across the Sentinel-2 2022
   baseline change).
3. **Same season / phenological stage** for bi-temporal work — a May vs
   September pair "detects" summer. If season can't be matched, use
   composites or time-series methods instead.
4. **Cloud/shadow masks intersected across dates**; analyze only mutually
   valid pixels and report that coverage %.

## Method selection

| Situation | Method |
|---|---|
| Two dates, continuous "how much" | Index differencing (ΔNDVI, ΔNBR...) with statistical thresholding |
| Two dates, categorical "from-what-to-what" | Post-classification comparison (only with strong classifiers) |
| Two dates, multivariate robust | Change vector analysis (CVA); MAD/iMAD for sensor-robust detection |
| Dense stack, gradual + abrupt | Trend + break analysis (BFAST/LandTrendr/CCDC family; at archive scale → `google-earth-engine`) |
| Structure change (buildings) | DL bi-temporal segmentation (siamese U-Net) → `geo-deep-learning` |
| SAR pairs (clouds, disasters) | Log-ratio of calibrated backscatter + speckle handling |
| Vector vintages (parcels, buildings) | Geometry+attribute diff with tolerance (below) |

## Thresholding — never eyeball it

Difference images need a defensible threshold: μ ± k·σ on the difference
histogram (report k), Otsu when bimodal, or supervised thresholds
calibrated on labeled change/no-change samples. Deliver the histogram with
the chosen cut marked. Sensitivity: report changed-area at k-0.5 and
k+0.5; if the story flips, the detection is fragile — say so.

## Post-classification comparison (PCC) — handle with care

PCC error compounds: two 90%-accurate maps yield ≤ ~81% change accuracy,
and biased errors create systematic false transitions. Rules:

- Use ONE classifier trained on both dates' imagery (same legend, same
  features) rather than two independent legacy maps.
- Build the full **transition matrix** (from-class → to-class areas), not
  just a change/no-change binary — impossible transitions (water→forest
  in 1 year) are your error detector.
- Apply a minimum mapping unit consistent across dates before differencing.

## Time-series (dense stack) analysis

- Build a gap-filled, cloud-masked index stack (xarray, time dimension).
- Decompose trend + seasonality + breaks; per-pixel linear trends need
  significance testing (Mann-Kendall + Sen's slope for monotonic trends —
  and FDR correction across millions of pixels, or your "greening map" is
  noise).
- Label break DATES, not just presence — timing is usually the analytic
  payload (when did clearing start?).
- Validate detected breaks against known events (fires, construction
  permits, disaster dates) wherever records exist.

## Vector change audit (two vintages of the same layer)

- Match features by stable ID if it exists; else spatial matching with IoU
  threshold (report it).
- Classify: added / removed / geometry-changed (area delta > tolerance) /
  attribute-changed. Tolerances absorb digitization jitter — 1-2 m for
  cadastre-grade, more for digitized-from-imagery.
- Sum area deltas by class and reconcile totals; unexplained residual =
  matching bugs.

## Accuracy assessment (the deliverable's spine)

Change is rare, so random sampling wastes effort on stable pixels — use
**stratified sampling** (strata: change/no-change or per-transition) with
good-practice area estimation (Olofsson et al. protocol): report
user's/producer's accuracy per stratum AND **area estimates with
confidence intervals** adjusted for map error. A raw pixel count of the
change map is a biased area estimate — always say the adjusted number.

## Reporting template

```
## Change: <phenomenon>, <T1> → <T2 or period>
- Data: <sensor/level>, co-registration RMSE: <px>, valid overlap: <%>
- Method: <...> threshold/params: <...> (sensitivity: <stable/fragile>)
- Transitions: <matrix or top-5 list with areas ± CI>
- Accuracy: stratified n=<>, UA/PA per class, adjusted areas ± CI
- Impostor controls: season <matched?>, radiometry <harmonized?>
```

## Pitfalls checklist

- Phantom edge-change from misregistration.
- Seasonal difference sold as land cover change.
- PCC with two independently produced legacy maps.
- Threshold chosen "because it looked right", no sensitivity.
- Raw changed-pixel counts reported as area (no error-adjusted estimate).
- Trend maps without multiple-testing control.
- SAR change on unfiltered linear-power images.

## Execution contract

- **Workflow:** define the change question; harmonize extent, season, radiometry, resolution, and registration; select method; estimate change; validate; report uncertainty.
- **Decision rules:** use direct differencing only for comparable continuous signals, post-classification comparison for stable class legends, and time-series methods when a dense temporal stack exists.
- **Verification protocol:** quantify co-registration, valid overlap, threshold sensitivity, transition accounting, and accuracy-adjusted area with confidence intervals.
- **Failure modes:** reject causal change claims when season, sensor, clouds, registration, or independent map errors can explain the signal.
- **Deliverables:** change map, transition or trend table, parameter record, validation sample and metrics, adjusted-area estimate, and limitations.
- **Source freshness:** consult [the authoritative source registry](references/authoritative-sources.md) before using version-sensitive products or APIs and record the checked date.

© Muhammed Enes Duran · MIT · muend/geoai-skills

Похожие скиллы

Все скиллы по теме «Наука и исследования» →
anysearch anysearch-ai Скилл подключает поиск в интернете, тематические запросы, параллельный поиск и извлечение содержимого страниц. Пригодится, когда агенту нужны свежие сведения или нужно проверить утверждение. CX Codex +1 38 500установок academic-paper Imbad0202 Скилл разворачивает конвейер из 12 агентов для подготовки научных статей в 11 режимах. Помогает пройти путь от поиска литературы и плана до проверки цитат и ответа рецензентам. CX Codex +1 10 900установок nature-figure Yuan1z0825 Скилл собирает, правит и проверяет рисунки для научных статей на Python или R. Пригодится, когда графики идут в submission, а не в отчёт. CX Codex +1 18 800установок academic-paper-reviewer Imbad0202 Скилл имитирует коллегиальную проверку научной статьи через пять ролей. Пригодится для рецензии, повторной проверки правок и оценки методологии. CX Codex +1 9 900установок nature-polishing Yuan1z0825 Скилл для правки, перевода и сокращения готового академического текста. Держит факты, термины и границы доказательств на месте. CX Codex +1 17 500установок nature-citation Yuan1z skill, refactored into static/dynamic layers Ищет статьи из Nature и семейства CNS для подтверждения тезисов рукописи, связывает утверждения с источниками и готовит экспорт для менеджера ссылок. Пригодится, когда нужны ссылки именно из этих журналов. CX Codex +1 15 600установок

Из того же набора18

mcda-suitability-analysis Скилл для пространственного анализа пригодности территории методом MCDA, расчёта весов AHP и проверки устойчивости карт. CX Codex +1 ★ 35звёзд репо google-earth-engine Скилл помогает строить обработку спутниковых данных в Google Earth Engine: от фильтрации коллекций до статистики по зонам и экспорта результатов. CX Codex +1 ★ 35звёзд репо geostatistics-interpolation Скилл для пространственной интерполяции: строит поверхность по редким замерам и отдельно считает карту неопределённости. Полезен, когда нужно оценить значения между станциями, скважинами или зондированиями. CX Codex +1 ★ 35звёзд репо geoai-orchestrator Маршрутизирует многоэтапные геопространственные задачи между профильными скиллами модуля и следит за едиными правилами CRS, геометрии и метрик. CX Codex +1 ★ 35звёзд репо geo-deep-learning Помогает выбирать и проверять нейросетевые методы для спутниковых и других геопространственных снимков. Пригодится для сегментации, детекции объектов и оценки качества карт. CX Codex +1 ★ 35звёзд репо geo-data-engineering Помогает агенту собрать геоданные из OSM, STAC или Overture, привести их в рабочий вид и не потерять строки по дороге. CX Codex +1 ★ 35звёзд репо cartography-geoviz Скилл для создания тематических карт — хороплетов, пропорциональных символов, бивариантных схем и интерактивных слоёв. Учит агента выбирать классификацию, палитру, проекцию и нормализацию так, чтобы карта честно показывала данные. CX Codex +1 ★ 35звёзд репо arcgis-pro-automation Скилл для управления локальными проектами ArcGIS Pro и ArcPy через arcgis-mcp-bridge: геообработка, проекции, растры, сети, экспорт компоновок. CX Codex +1 ★ 35звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой