sagy101/DotSkills

Wiederverwendbare KI-Agenten-Fähigkeiten, die ich nützlich fand, basierend auf dem offenen Agent Skills Standard.

Was ist DotSkills?

Diese Skill-Sammlung bietet eine Reihe von wiederverwendbaren Fähigkeiten für KI-Agenten, die nach dem offenen Agent Skills Standard strukturiert sind. Sie enthält unter anderem eine leistungsstarke Fähigkeit für EKS-Pod-Operationen, die es einem KI-Agenten wie Claude Code, Cursor oder Codex ermöglicht, direkt Logs zu lesen, Pods zu finden, in Container zu exec’en und Deployments in AWS EKS-Umgebungen neu zu starten. Der Fokus liegt auf Sicherheit und Verlässlichkeit: Leseoperationen wie `pods` und `logs` sind automatisch erlaubt, während ändernde Operationen wie `exec` und `restart` explizite Benutzerbestätigung erfordern. Alle Ausgaben werden automatisch von Secrets, Tokens und anderen sensitiven Daten befreit. Die Skill markdown ist auf Deutsch lokalisiert, während alle Befehle, Skriptpfade und Codeblöcke unverändert bleiben, um die technische Genauigkeit zu gewährleisten. Diese Sammlung wird mit Open-Source-Lizenz unter `sagy101/DotSkills` bereitgestellt und ist ideal für Entwicklerteams, die ihre EKS-Workflows mit KI-Unterstützung beschleunigen möchten.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add sagy101/DotSkills

Installed? Explore more Produktivität & Zusammenarbeit skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

EKS Pod-Operationen

Logs lesen, Pods finden, in Container exec’en und Deployments in EKS-Umgebungen neu starten.

Wann diese Fähigkeit verwendet werden sollte

Diese Fähigkeit verwenden, wenn der Benutzer Folgendes möchte:

  • Logs eines Pods oder Dienstes anzeigen
  • Pods in einer EKS-Umgebung auflisten oder suchen
  • Einen Befehl in einem laufenden Pod ausführen
  • Ein Deployment neu starten (Rollout-Restart)
  • Einen Pod debuggen (beschreiben, Status prüfen, vorherige Logs anzeigen)
  • Überprüfen, ob ein Dienst in einer bestimmten Umgebung läuft

Voraussetzungen

  1. kubectl: installiert und im PATH verfügbar
  2. AWS CLI: installiert mit SSO-Profilen, die pro Umgebung konfiguriert sind
  3. Kubeconfigs: pro Umgebung erstellt unter ~/.kube/config_<env>
  4. Config: ~/.eks-config.json — wird beim ersten Durchlauf automatisch durch Scannen der Kubeconfigs und AWS-Profile erstellt. Siehe CONFIG.md für die manuelle Einrichtung.

Preflight-Prüfungen

Führen Sie das Preflight-Skript vor der ersten Operation in einer Konversation aus:

python3 <skill_dir>/scripts/eks_preflight.py

Um auch eine bestimmte Umgebung zu überprüfen (Kubeconfig + SSO):

python3 <skill_dir>/scripts/eks_preflight.py --env stg

Wenn SSO abgelaufen ist, teilen Sie dem Benutzer mit: aws sso login --sso-session <session> (der Session-Name steht in der Preflight-Ausgabe).

Operationen

pods — Pods auflisten oder beschreiben

# Pods für einen Dienst suchen
python3 <skill_dir>/scripts/eks_ops.py pods --env stg --service my-service

# Alle Pods in der Umgebung auflisten
python3 <skill_dir>/scripts/eks_ops.py pods --env stg --all

# Einen Pod beschreiben (Ereignisse, Zustände, Mounts)
python3 <skill_dir>/scripts/eks_ops.py pods --env stg --service my-service --describe

logs — Pod-Logs lesen

# Letzte 100 Zeilen (Standard)
python3 <skill_dir>/scripts/eks_ops.py logs --env stg --service my-service

# Benutzerdefinierte Anzahl und Zeitfenster
python3 <skill_dir>/scripts/eks_ops.py logs --env stg --service my-service --tail 500 --since 1h

# Vorheriger Container (nach Absturz/Neustart)
python3 <skill_dir>/scripts/eks_ops.py logs --env stg --service my-service --previous

# Alle Replikate auf einmal (verwendet stern, falls installiert)
python3 <skill_dir>/scripts/eks_ops.py logs --env stg --service my-service --all-pods

# Logs in Echtzeit streamen
python3 <skill_dir>/scripts/eks_ops.py logs --env stg --service my-service --follow

# Bestimmter Pod per Name (Dienstauflösung überspringen)
python3 <skill_dir>/scripts/eks_ops.py logs --env stg --pod my-service-abc123-xyz --tail 200

exec — Einen Befehl in einem Pod ausführen

Den genauen Befehl dem Benutzer anzeigen und vor der Ausführung die Genehmigung einholen.

python3 <skill_dir>/scripts/eks_ops.py exec --env dev --service my-service -- ls /app/conf
python3 <skill_dir>/scripts/eks_ops.py exec --env dev --service my-service -- cat /app/conf/application.conf
python3 <skill_dir>/scripts/eks_ops.py exec --env stg --service my-service -- env | grep -i heap
python3 <skill_dir>/scripts/eks_ops.py exec --env stg --service my-service -- df -h

restart — Rollout-Restart eines Deployments

Den Restart-Befehl dem Benutzer anzeigen und vor der Ausführung die Genehmigung einholen.

python3 <skill_dir>/scripts/eks_ops.py restart --env dev --service my-service
python3 <skill_dir>/scripts/eks_ops.py restart --env dev --service my-service --watch

Wichtige Regeln

  1. exec und restart erfordern explizite Benutzerfreigabe. Den genauen Befehl anzeigen und auf Bestätigung warten.
  2. pods und logs sind schreibgeschützt. Direkt ohne Genehmigung ausführen.
  3. Die gesamte Ausgabe wird automatisch geschwärzt — Secrets, Tokens, Schlüssel und Anmeldeinformationen werden durch [REDACTED] ersetzt. Siehe references/REDACTION.md.
  4. Bloße env-, printenv- oder set-Befehle werden innerhalb von exec blockiert. Stattdessen env | grep -i <keyword> verwenden.
  5. Das Lesen von Dateien unter /secrets/, /vault/ oder Anmeldeinformationspfaden wird innerhalb von exec blockiert.
  6. Wenn [REDACTED] in der Ausgabe erscheint, nicht versuchen, den Originalwert abzurufen.
  7. Das Skript wählt automatisch den Anwendungscontainer in Multi-Container-Pods aus (überspringt Sidecars wie statsite, istio-proxy).
  8. Mehrere Replikate: Wenn ein Dienst mehrere Pods hat, wählt --service den ersten laufenden aus. Wenn der Benutzer ein bestimmtes Replikat möchte, zuerst pods --env <env> --service <name> ausführen, um alle Replikate aufzulisten, den Benutzer fragen, welches, dann --pod <pod-name> anstelle von --service verwenden.
  9. Für die Log-Untersuchung in der Produktion Grafana oder Splunk bevorzugen — diese Fähigkeit als Ergänzung verwenden.
  10. Entwickler haben normalerweise nur Lesezugriff auf EKS — restart kann in Produktionsclustern fehlschlagen.

Fehlerbehandlung

FehlerUrsacheLösung
SSO session may be expiredAWS SSO-Token abgelaufenaws sso login --sso-session <session>
Kubeconfig not foundFehlende Kubeconfig-Dateiaws eks update-kubeconfig --profile <env> --name <cluster> --kubeconfig ~/.kube/config_<env>
No pods found for serviceFalscher Dienstname oder keine laufenden Podspods --env <env> --all, um verfügbare Pods zu sehen
Blocked: Dumps all environment variablesExec-Blockliste ausgelöstenv | grep -i <keyword> stattdessen verwenden
connection refused localhost:8080Rancher Desktop kubectl-KonfliktSkript erkennt dies automatisch. Wenn es bestehen bleibt, which kubectl prüfen

Fehlerbehebung

ProblemLösung
kubectl: command not foundbrew install kubectl
aws: command not foundbrew install awscli
Config nicht gefunden~/.eks-config.json erstellen — siehe Voraussetzungen
Falscher Namespacenamespace in der Umgebungskonfiguration festlegen
Logs leer--previous für abgestürzte Container versuchen oder --since erhöhen
stern nicht gefundenbrew install stern (optional — fällt auf sequenzielles kubectl zurück

Verwandte Skills