muend/geoai-skills/skills/swe-devops-standards/SKILL.md
swe-devops-standards
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 reposit
- Source repository stars
- 6
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-08-04
- Source checked
- 2026-08-04
Decision brief
What it does—and where it fits
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.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/muend/geoai-skills --skill "skills/swe-devops-standards"Inspect the Agent Skill "swe-devops-standards" from https://github.com/muend/geoai-skills/blob/4ac195e3f372cc4ffe97c53db7a9dae7317bc7ed/skills/swe-devops-standards/SKILL.md at commit 4ac195e3f372cc4ffe97c53db7a9dae7317bc7ed. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
3. Testing and verification
Offer at least a skeleton pytest for every function carrying real logic:
Offer at least a skeleton pytest for every function carrying real logic:- Offer at least a skeleton pytest for every function carrying real logic: - 02
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…
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 sh… - 03
1. Environment realities (the top error source)
Script-first by default: no %matplotlib inline, !pip install, or
Script-first by default: no %matplotlib inline, !pip install, orCross-platform paths: always pathlib.Path; never string-concatenateEncodings: explicit encoding="utf-8" on every text file open — - 04
2. Code quality defaults
Applied to every generated function/module, even when not asked:
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 - 05
testcompute.py — run: python -m pytest -q
import pytest from compute import computeshare
Numerical code: test edge cases — empty input, NaN, negatives, singleRun generated code yourself when an execution environment exists;New project → virtual environment + pinned requirements.txt
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 86/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 6 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- muend/geoai-skills
- Skill path
- skills/swe-devops-standards/SKILL.md
- Commit
- 4ac195e3f372cc4ffe97c53db7a9dae7317bc7ed
- License
- MIT
- Collected
- 2026-08-04
- Default branch
- main
View the original SKILL.md
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, ordisplay()unless the user is explicitly in a notebook. Every file runs from a terminal viapython script.pybehind anif __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 (exportvsset,venv/bin/activatevsvenv\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 | Noneunions,typealiases, 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:
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/TypeAliasfor complex types. - Google-style docstrings; one-liners suffice for trivial functions.
- Never bare
except:; catch specific exceptions, handle or re-raise withraise ... from e. A silentpasscosts a week of debugging. loggingoverprint(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:
# 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 before applying packaging, CI, testing, or supply-chain guidance.
Alternatives
Compare before choosing
K-Dense-AI/scientific-agent-skills
simpy
Build, inspect, test, and analyze bounded process-based discrete-event simulations with SimPy, including events, resources, interrupts, monitoring, replications, warm-up, and reproducible output analysis.
dotnet/skills
grade-tests
Grades a specified set of test methods individually and produces a concise table mapping each test (fully-qualified name) to a letter grade (A–F), a score band, and a one-line note — designed to be posted as a PR comment. Use when the caller wants per-test feedback on a curated list of methods (for example, the new or modified tests in a pull request), not a suite-wide audit. Polyglot: .NET, Python, TS/JS, Java, Go, Ruby, Rust, Swift, Kotlin, PowerShell, C++. Input is a list of test methods (or
mgiovani/cc-arsenal
ci-local
Run the checks a GitHub Actions workflow would run, locally, when Actions is unavailable or out of quota. Parses .github/workflows/*.yml, extracts the jobs/steps that gate merges (lint, typecheck, test, build), translates them to local commands respecting the workflow's pinned node/python versions and env, executes them sequentially, and reports a parity table of what passed locally vs. what can't be replicated (service containers, secrets, matrix dimensions) and why. Activates on "CI quota", "A
PramodDutta/qaskills
Allure Report Generator
Configure and generate rich Allure test reports with test categorization, historical trends, environment details, and CI/CD integration for comprehensive test visibility