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

swe-devops-standards — скилл для Claude Code: проверка GeoAI-кода

Скилл задаёт инженерные правила для геопространственного и GeoAI-кода: от проверки данных и тестов до CI и инструкций по откату.

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

Что делает swe-devops-standards

Скилл помогает агенту разрабатывать и проверять геопространственный код, включая скрипты, функции, ноутбуки и CI/CD. Он задаёт порядок ревью: сначала корректность, затем безопасность, производительность и читаемость; для каждой найденной проблемы агент должен предложить исправление кодом.

В правилах есть требования к путям через pathlib.Path, обработке ошибок, типам, тестам pytest, закреплённым зависимостям и воспроизводимости. Для пространственных задач отдельно проверяются CRS, nodata и геометрические крайние случаи. При работе с ETL и другим production-кодом скилл рекомендует сочетать его с профильным скиллом.

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

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

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

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

  • Проверь этот геопространственный код на ошибки, риски безопасности и проблемы с CRS.
  • Добавь тесты для функции обработки геометрий и запусти доступные проверки.
  • Подготовь изменения для production-пайплайна и опиши проверку и откат.

Как установить swe-devops-standards

1Через Skills CLI (Vercel)

npx skills add muend/geoai-skills --skill swe-devops-standards -a claude-code

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

~/.claude/skills/swe-devops-standards/SKILL.md

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

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

Вопросы о swe-devops-standards

Как установить swe-devops-standards в Claude Code?

Выполните npx skills add muend/geoai-skills --skill swe-devops-standards -a claude-code. Файл скилла появится по пути ~/.claude/skills/swe-devops-standards/SKILL.md.

Что делает swe-devops-standards?

Задаёт правила для разработки и ревью геопространственного и GeoAI-кода: проверку корректности, безопасности, пространственных данных, тестов и воспроизводимости.

Можно ли применять скилл для ETL?

Да. Для ETL и другого production-кода он рекомендует использовать его вместе с профильным скиллом.

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

SKILL.md · MIT
---
name: swe-devops-standards
description: >-
  Always invoke to review, repair, or deliver geospatial or GeoAI code,
  including contract compliance, security, error handling, transactions,
  tests, scripts, functions, notebooks, packages, CI/CD, and repository
  changes, even when deployment is not requested. Pair with the domain skill
  for ETL and other production code. Covers CRS/data invariants, dependencies,
  cross-platform reproducibility, automation, and shipping. Do not trigger for
  unrelated software or analysis requesting no code or repository artifact.
license: MIT
metadata:
  author: Muhammed Enes Duran
---

# Geospatial SWE & DevOps Standards

Purpose: code produced as part of geospatial work should run in the user's
real environment and meet peer-level engineering quality. Apply these rules
only when code or repository artifacts are in scope.

## 1. Environment realities (the top error source)

- **Script-first by default**: no `%matplotlib inline`, `!pip install`, or
  `display()` unless the user is explicitly in a notebook. Every file runs
  from a terminal via `python script.py` behind an
  `if __name__ == "__main__":` block. (Cell markers like `# %%` are fine
  as an addition — the script must also work without them.)
- **Cross-platform paths**: always `pathlib.Path`; never string-concatenate
  or hardcode `/` or `\\`. Ask or detect the user's OS before giving shell
  commands; give CMD/PowerShell syntax on Windows, POSIX elsewhere —
  don't mix (`export` vs `set`, `venv/bin/activate` vs
  `venv\Scripts\activate`).
- **Encodings**: explicit `encoding="utf-8"` on every text file open —
  Windows still defaults to legacy code pages, and non-ASCII content
  corrupts silently.
- **Modern Python (3.11+)**: `X | None` unions, `type` aliases, structural
  pattern matching where they clarify; state the minimum version if a
  feature requires it.

## 2. Code quality defaults

Applied to every generated function/module, even when not asked:

```python
def compute_share(values: list[float], total: float) -> list[float]:
    """Return each value's share of the total.

    Args:
        values: Values to compute shares for.
        total: Denominator; must be non-zero.

    Returns:
        Shares in the same order as values.

    Raises:
        ValueError: If total is zero.
    """
    if total == 0:
        raise ValueError("total must be non-zero — share is undefined.")
    return [v / total for v in values]
```

- Type hints on every signature; `dataclass`/`TypeAlias` for complex types.
- Google-style docstrings; one-liners suffice for trivial functions.
- **Never bare `except:`**; catch specific exceptions, handle or re-raise
  with `raise ... from e`. A silent `pass` costs a week of debugging.
- `logging` over `print` (leveled, formatted), except user-facing CLI
  output.
- Note algorithmic complexity where it matters ("this is O(n log n), safe
  at n>10⁶") — especially around nested loops and pandas `apply`.
- Magic numbers → named module-level constants.

## 3. Testing and verification

- Offer at least a skeleton pytest for every function carrying real logic:

```python
# test_compute.py — run: python -m pytest -q
import pytest
from compute import compute_share

def test_basic() -> None:
    assert compute_share([1, 1], 2) == [0.5, 0.5]

def test_zero_total_raises() -> None:
    with pytest.raises(ValueError):
        compute_share([1.0], 0)
```

- Numerical code: test edge cases — empty input, NaN, negatives, single
  element.
- Run generated code yourself when an execution environment exists;
  otherwise mark it explicitly "not executed" — no silent assumptions.

## 4. Dependencies and reproducibility

- New project → virtual environment + pinned `requirements.txt`
  (`package==version`); never "install the latest".
- Seed randomness and put the seed in config (details in
  `ml-experiment-standards`).
- Note environment-difference risks where relevant (BLAS, CUDA, locale).

## 5. Git practices

- Conventional Commits: `feat(scope): ...`, `fix: ...`, `refactor: ...`;
  the body explains *why* — the diff already shows *what*.
- Commit in meaningful units; warn against 500-line single commits.
- Default `.gitignore`: `venv/`, `__pycache__/`, `*.pyc`, large data files
  (suggest DVC/LFS), IDE folders.

## 6. Automation / DevOps

- **CI**: minimal GitHub Actions for test + lint (ruff); note OS-runner
  differences if jobs must run on Windows too.
- **Docker**: start from `python:3.12-slim`, simple single-stage until
  size/caching demands more; note image size and build-cache implications.
- **Monitoring**: any long-lived service/pipeline ships three signals
  minimum: structured logs, failure alerting, basic metrics (duration,
  volume). ML services add drift checks (see `ml-experiment-standards`).
- **Scheduled jobs**: match the user's platform — cron on POSIX,
  Task Scheduler (`schtasks`) on Windows.

## 7. Code review mode

Review in this order and report findings by severity: correctness (edge
cases, silent failures) → security (injection, secrets, path traversal) →
performance (N+1, needless copies, O(n²)) → readability. Every finding
ships with the suggested fix as code — never "this is bad" and nothing
else.

## Execution contract

- **Workflow:** clarify the geospatial code's contract; reproduce the environment; inspect correctness and data invariants; implement the smallest safe change; test; package; document operations and rollback.
- **Decision rules:** apply this skill to geospatial software and pipeline delivery, not generic non-spatial coding; scale CI, containers, and observability to the actual deployment risk.
- **Verification protocol:** run focused and regression tests, lint and type checks where configured, exercise CRS/nodata/geometry edge cases, verify clean installation, and review CI artifacts.
- **Failure modes:** block release for silent data loss, nondeterminism, mutable hidden state, unpinned critical dependencies, secrets, platform assumptions, missing rollback, or unhandled spatial edge cases.
- **Deliverables:** reviewed code, tests, reproducible environment and lock data, CI configuration, operational notes, risk-ranked findings, observability plan, and rollback instructions.
- **Source freshness:** consult [the authoritative source registry](references/authoritative-sources.md) before applying packaging, CI, testing, or supply-chain guidance.

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

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

Все скиллы по теме «Код-ревью и рефакторинг» →
improve-codebase-architecture Matt Pocock Скилл ищет архитектурные узкие места в кодовой базе и показывает варианты углубления модулей в HTML-отчёте. Подойдёт для ревью перед рефакторингом. 1 163 035установок tdd Matt Pocock Скилл управляет циклом красный-зелёный в TDD: проверяет, что тесты пишутся до кода, держит их на уровне публичных интерфейсов и не завязывает на внутреннюю структуру. 1 141 062установок triage Matt Pocock Скилл проводит issue и внешние PR через роли триажа, проверку и подготовку брифа для агента. Подойдёт мейнтейнеру, который разбирает очередь задач. 990 453установок codebase-design Matt Pocock Скилл помогает проектировать модули с небольшим интерфейсом и скрытой внутри сложностью. Подходит для рефакторинга, тестируемости и поиска чистого seam. 850 344установок code-review Matt Pocock Проверяет изменения от выбранной точки по стандартам репозитория и требованиям задачи. Нужен для ревью ветки, PR или незавершённой работы. 789 521установок implement Matt Pocock Выполняет задачу по спецификации или тикетам, ведёт работу через тесты и завершает её ревью с коммитом. Подходит для задач, где нужен дисциплинированный цикл разработки. 774 700установок

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

terrain-hydrology Скилл настраивает анализ рельефа и гидрологии по ЦМР: расчёт уклонов, водосборов, зон видимости и речной сети. CX Codex +1 ★ 35звёзд репо spatial-statistics Скилл для пространственного анализа: проверяет кластеризацию, горячие точки и зависимость в геоданных, а потом помогает с диагностикой регрессии. CX Codex +1 ★ 35звёзд репо remote-sensing-analysis Скилл проверяет спутниковые снимки перед расчётами, согласует уровни обработки и строит надёжные пайплайны дистанционного зондирования. CX Codex +1 ★ 35звёзд репо postgis-spatial-sql Скилл помогает выбирать движок для пространственных SQL-запросов и разбирать схемы, индексы и планы выполнения. Пригодится для PostGIS, DuckDB Spatial и пространственных соединений. CX Codex +1 ★ 35звёзд репо 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звёзд репо

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

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