Skip to content
Back to skills

Guard Src Drift Commands

ASecurity

Drift-generierter Guard fuer `src/drift/commands`. Aktiv bei Signalen: EDS, PFS. Konfidenz: 0.89. Verwende diesen Skill wenn du Aenderungen an `src/drift/commands` planst oder wiederholte Drift-Findings (EDS, PFS) fuer dieses Modul bearbeitest.

  • 14 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added August 31, 2026
developmentapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned August 31, 2026

npx -y skills add mick-gsk/drift --skill guard-src-drift-commands --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Guard Src Drift Commands?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Guard Src Drift Commands
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mick-gsk-guard-src-drift-commands/badge)](https://www.skillsdirectory.com/skills/mick-gsk-guard-src-drift-commands)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: guard-src-drift-commands
description: "Drift-generierter Guard fuer `src/drift/commands`. Aktiv bei Signalen: EDS, PFS. Konfidenz: 0.89. Verwende diesen Skill wenn du Aenderungen an `src/drift/commands` planst oder wiederholte Drift-Findings (EDS, PFS) fuer dieses Modul bearbeitest."
argument-hint: "Beschreibe welchen CLI-Befehl (analyze, verify, serve, calibrate...) du veraenderst und warum."
---

# Guard: `src/drift/commands`

`src/drift/commands` enthaelt die CLI-Command-Handler. Jeder Subbefehl (`analyze`, `verify`, `serve`, `calibrate`, ...) hat eine eigene Datei. EDS entsteht wenn Commands direkt in `pipeline.py` oder `Analyzer()` einsteigen. PFS entsteht wenn Commands inkonsistente Argument-Parsing- oder Output-Handling-Muster verwenden.

**Konfidenz: 0.89** — EDS und PFS treten regelmaessig auf, oft nach Features die Shortcuts einbauen.

## When To Use

- Du fuegest einen neuen CLI-Subbefehl hinzu
- Du aenderst wie ein bestehender Befehl Argumente verarbeitet oder Ergebnisse ausgibt
- Du aenderst wie Exit-Codes gesetzt werden
- Drift meldet EDS oder PFS fuer eine Datei in `src/drift/commands/`

**Nicht benutzen** fuer Aenderungen an der CLI-Definition in `cli.py` — das ist ein anderer Scope.

## Warum dieses Modul kritisch ist

| Signal | Ursache in `commands/` |
|--------|------------------------|
| **EDS** | Command-Handler die direkt `pipeline.run()`, `Analyzer()` oder `scoring/`-Module aufrufen — Command sollte ausschliesslich die entsprechende `api/`-Funktion aufrufen |
| **PFS** | Inkonsistente Exit-Code-Logik: manche Commands nutzen `sys.exit(1)`, andere `raise SystemExit`, andere geben `1` zurueck |

## Core Rules

1. **Commands delegieren an `api/`** — ein Command-Handler tut folgendes: Argumente lesen → `api.function(...)` aufrufen → Ergebnis mit `output/` rendern → Exit-Code setzen. Kein direkter Aufruf von `pipeline.py` oder `Analyzer()`.

2. **Konsistente Exit-Code-Konvention** — `0` = Erfolg, `1` = Findings ueber Threshold, `2` = Konfigurationsfehler, `3` = interne Fehler. Kein eigenes Exit-Code-Schema in einem neuen Command.

3. **Output-Formatierung nicht im Command-Handler** — der Command-Handler uebergibt das Ergebnis an einen Formatter aus `output/`. Kein `print(json.dumps(...))` direkt im Command.

4. **`--format`-Flag konsistent** — alle Commands die Ausgabe erzeugen, unterstuetzen dasselbe `--format`-Flag mit denselben Werten (`rich`, `json`, `markdown`). PFS steigt wenn ein neuer Command andere Werte einfuehrt.

5. **Fehlerbehandlung uniform** — Commands fangen `DriftError` und schreiben in stderr, nicht stdout. Ein neuer Command der Fehler in stdout schreibt bricht tooling-pipelines.

## Review Checklist

- [ ] Command ruft `api.function()` auf, nicht `pipeline.py` direkt
- [ ] Exit-Code folgt der 0/1/2/3-Konvention
- [ ] Output geht durch Formatter aus `output/`, kein direktes `print`
- [ ] `--format`-Flag hat dieselben Werte wie andere Commands
- [ ] Fehler gehen nach stderr, nicht stdout
- [ ] `drift nudge` zeigt `safe_to_commit: true`
- [ ] Keine neuen EDS/PFS-Findings in `src/drift/commands/`

## References

- [src/drift/cli.py](../../../src/drift/cli.py) — CLI-Einstiegspunkt und Command-Registrierung
- [src/drift/api/](../../../src/drift/api/) — Alle aufrufbaren API-Funktionen
- [src/drift/output/](../../../src/drift/output/) — Output-Formatter
- [DEVELOPER.md](../../DEVELOPER.md)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.