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

mcda-suitability-analysis — скилл для Claude Code

Скилл для пространственного анализа пригодности территории методом MCDA, расчёта весов AHP и проверки устойчивости карт.

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

Что делает mcda-suitability-analysis

Скилл задаёт строгий протокол многокритериальной оценки пригодности территорий (MCDA) и выбора площадок. В процесс входит разделение непрерывных факторов и бинарных масок ограничений, стандартизация растров в единую шкалу 0–1 или 0–255 (линейная или fuzzy membership), а также сведение слоёв через взвешенную линейную комбинацию (WLC) или упорядоченное взвешенное усреднение (OWA).

Для расчёта весов факторов используется метод анализа иерархий (AHP) по шкале Саати с запуском scripts/ahp_weights.py. Скрипт валидирует парные сравнения и возвращает коэффициент согласованности (CR). Если CR ≥ 0.10, матрица отправляется на доработку без скрытой подгонки чисел.

Чувствительность проверяется обязательно: варьированием весов на ±20%, сценарным анализом или выборкой Дирихле по методу Монте-Карло. Бинарные ограничения перемножаются в финале — смешивать запрещающие маски с весовыми коэффициентами запрещено, иначе зоны ограничений ошибочно получат средний балл.

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

  • рассчитать веса критериев AHP и проверить коэффициент согласованности CR
  • стандартизировать растровые слои факторов в единую шкалу пригодности
  • построить взвешенное наложение WLC или OWA с отсечением маской ограничений
  • провести анализ чувствительности карты пригодности к изменению весов на ±20%

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

  • Рассчитай веса факторов через AHP и проверь матрицу парных сравнений скриптом ahp_weights.py
  • Собери растровую модель пригодности через WLC, умножив итог на бинарную маску ограничений
  • Проведи однофакторный анализ чувствительности с колебанием весов на ±20% и покажи карту стабильности

Как установить mcda-suitability-analysis

1Через Skills CLI (Vercel)

npx skills add muend/geoai-skills --skill mcda-suitability-analysis -a claude-code

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

~/.claude/skills/mcda-suitability-analysis/SKILL.md

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

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

Вопросы о mcda-suitability-analysis

Как установить mcda-suitability-analysis в Claude Code?

Выполните в терминале команду npx skills add muend/geoai-skills --skill mcda-suitability-analysis -a claude-code.

Что делает скилл mcda-suitability-analysis?

Он направляет процесс создания карт пригодности территорий: от расчёта весов AHP и стандартизации растров до наложения масок и анализа устойчивости.

Что происходит, если коэффициент согласованности CR в AHP больше 0.10?

Модель бракует матрицу, находит наиболее рассогласованную тройку суждений и требует пересмотра экспертных оценок, исключая произвольную правку цифр.

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

SKILL.md · MIT
---
name: mcda-suitability-analysis
description: >-
  Always invoke for spatial suitability, site selection, AHP, criteria
  weights, or weighted-overlay work, including audits of inconsistent
  pairwise judgments and requests for only a final map. Covers consistency,
  standardization, constraints, ranked surfaces, shortlists, and sensitivity.
  Route travel-time placement and location-allocation to
  network-accessibility-analysis.
license: MIT
metadata:
  author: Muhammed Enes Duran
---

# MCDA & Suitability Analysis

Purpose: produce suitability maps whose weights, scales, and assumptions are
explicit, consistent, and stress-tested. A suitability map without a
sensitivity analysis is an opinion with a legend.

## Workflow

1. **Structure**: goal → criteria (factors) → constraints. Constraints are
   binary masks (legal exclusions, water bodies, slope > threshold) applied
   at the END by multiplication; factors are continuous and weighted.
   Keep them apart — encoding a constraint as a heavily-weighted factor is
   a classic error that lets forbidden areas score "acceptable".
2. **Criteria layers**: each factor as a raster on a COMMON grid (same CRS,
   extent, cell size, snap). Resample categorical layers with nearest,
   continuous with bilinear; document each.
3. **Standardization** to a common suitability scale (0-1 or 0-255):
   - Linear min-max for monotonic "more is better/worse".
   - Fuzzy membership (sigmoid/linear with control points) when suitability
     saturates — justify control points from domain knowledge.
   - Categorical layers: explicit reclass table, shown to the user.
   Direction check: confirm for EVERY layer whether high raw value means
   high or low suitability (slope: low=good; distance-to-road: usually
   low=good). Direction bugs survive to the final map invisibly.
4. **Weights** (AHP below, or direct/ranked methods with rationale).
5. **Aggregation**: weighted linear combination (WLC) default; OWA when
   the decision-maker's risk attitude (AND-like vs OR-like) matters.
6. **Constraint mask** multiply; classify the result (equal interval or
   quantiles — say which and why); **sensitivity analysis**; validate
   against known good/bad sites if any exist.

## AHP with consistency enforcement

Pairwise comparisons on Saaty's 1-9 scale; weights from the principal
eigenvector; consistency ratio (CR) must be < 0.10 or the matrix goes back
for revision. Run `scripts/ahp_weights.py` to compute weights + CR from a
reciprocal comparison matrix (it validates reciprocity and reports λ_max).

Practices: elicit comparisons pair by pair with verbal anchors ("moderately
more important" = 3); with multiple experts, aggregate judgments by
geometric mean BEFORE computing weights; report the full matrix, weights,
λ_max and CR in the deliverable. If CR ≥ 0.10, identify the most
inconsistent triad and ask the expert to revisit it — do not silently
massage numbers.

## Aggregation

```python
suit = np.zeros_like(factors[0], dtype="float32")
for w_i, f in zip(weights, factors):   # factors already standardized 0-1
    suit += w_i * f
suit *= constraint_mask                 # binary 0/1, applied last
```

OWA variant: sort factor values per cell and apply order weights — full
AND (min) to full OR (max) continuum; use when stakeholders disagree on
risk tolerance and show 2-3 scenarios.

## Sensitivity analysis — mandatory

A result that flips with a small weight change is not a result:

- **One-at-a-time**: perturb each weight ±20% (renormalize), recompute,
  report % of area changing suitability class and a stability map (cells
  that never change class across perturbations).
- **Scenario**: 2-3 alternative weight sets from different stakeholder
  priorities; present side-by-side.
- If a Monte Carlo budget exists: sample weights from Dirichlet around the
  AHP vector; per-cell probability of "highly suitable" is a far stronger
  product than a single map.

## Deliverable standard

Suitability map (classified + continuous), constraint mask map, weights
table with CR, standardization functions per criterion (with direction),
sensitivity/stability summary, and limitations paragraph (data currency,
resolution, criteria omitted). Route cartography to `cartography-geoviz`;
network-access criteria come from `network-accessibility-analysis`.

## Pitfalls checklist

- Direction inversion on a criterion (the silent killer — double-check
  distance-based factors).
- Mixing resolutions without declaring the resampling rule.
- CR ignored or unreported.
- Constraints blended as weights → forbidden zones scored medium.
- Classifying with quantiles then reading them as absolute suitability.
- No sensitivity analysis; single map presented as truth.

## Execution contract

- **Workflow:** define decision and stakeholders; separate constraints from factors; standardize criteria; elicit and validate weights; aggregate; test sensitivity; communicate uncertainty.
- **Decision rules:** use MCDA for transparent criteria-ranked surfaces, network analysis for route-constrained access, and optimization when discrete placement or capacity decisions dominate.
- **Verification protocol:** check criterion direction and alignment, AHP consistency, constraint enforcement, weight and threshold perturbations, and stable-versus-fragile areas.
- **Failure modes:** reject the model when criteria double-count the same construct, weights lack provenance, constraints leak into compensation, or rankings collapse under plausible perturbations.
- **Deliverables:** continuous and classified suitability maps, constraints, criteria transformations, weights and consistency ratio, sensitivity results, and limitations.
- **Source freshness:** consult [the authoritative source registry](references/authoritative-sources.md) before applying methods or implementation APIs and record the checked date.

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

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

Все скиллы по теме «Данные и базы» →
xlsx официальный anthropics Работает с табличными файлами: создаёт, читает, правит и преобразует книги. Подходит, когда итогом должен стать файл Excel или другой табличный формат. 187 223установок google-agents-cli-observability официальный Google Помогает настроить трассировку и сбор данных о работе ИИ-агентов, включая агентов на ADK. Пригодится, когда нужно разбирать выполнение запросов или наблюдать за агентом после развёртывания. CX Codex +1 511 300установок caveman-evidence-review JuliusBrussee Скилл читает данные Caveman Cloud о расходах LLM, трассах и маршрутизации. Подходит для проверки того, куда уходит бюджет проекта. CX Codex +1 104 500установок migration JuliusBrussee Скилл задаёт правила безопасных миграций схем, данных и API с обязательным откатом. Пригодится при изменениях, где нельзя терять данные или ломать совместимость. CX Codex +1 103 900установок performance-optimization addyosmani Скилл для агентов ИИ-кодинга: сначала замеряет, потом чинит узкое место — от Core Web Vitals до N+1 запросов и индексов в базе. CX Codex +1 65 200установок supabase официальный supabase Скилл помогает настраивать базу данных, аутентификацию и RLS в Supabase без скрытых дыр в безопасности. CX Codex GP ChatGPT 8установок

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

point-cloud-lidar Скилл для работы с LAS, LAZ и COPC: классификация земли, DTM/DSM/CHM, метрики леса и зданий, вертикальные датумы. Нужен, когда на входе сырое облако точек. CX Codex +1 ★ 35звёзд репо network-accessibility-analysis Переводит расчёты доступности с прямых линий на дорожные сети для пешеходов, авто и транзита. Помогает строить изохроны и матрицы корреспонденций. CX Codex +1 ★ 35звёзд репо movement-trajectory Скилл помогает очищать GPS/GNSS-треки, находить остановки и поездки, сопоставлять точки с дорогами и агрегировать потоки. Пригодится для анализа перемещений по координатам с временными метками. CX Codex +1 ★ 35звёзд репо ml-experiment-standards Заставляет агента проверять утечки, выбирать сплиты и метрики до обучения модели. Пригодится, когда результат нужно воспроизвести, а не просто получить цифру. 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звёзд репо

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

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