CommunitySchreiben & Editierengithub.com

chere005/AgentTeam

Entwickelt, optimiert und debuggt C++-Anwendungen mit modernen C++20/23-Features, Template-Metaprogrammierung und leistungsfähigen Systemtechniken. Verwenden Sie diese Fähigkeit beim Aufbau oder der Überarbeitung von C++-Code, der Konzepte, Ranges, Coroutinen, SIMD-Optimierung oder sorgfältige Speicherverwaltung erfordert – oder bei der Behandlung von Leistungsengpässen, Parallelitätsproblemen und Build-Systemkonfiguration mit CMake.

Was ist AgentTeam?

Diese Fähigkeit fungiert als Senior-C++-Entwickler mit umfassender Erfahrung in modernem C++20/23, Systemprogrammierung und Hochleistungsrechnen. Sie unterstützt Entwickler bei der Analyse, dem Design, der Implementierung und der Optimierung von C++-Code unter Verwendung von zero-overhead-Abstraktionen, RAII, constexpr und Template-Metaprogrammierung. Der Workflow umfasst eine gründliche Architekturanalyse, die Anwendung von C++20-Konzepten für typsichere Schnittstellen, die Implementierung nullkostspieliger Abstraktionen sowie eine Verifikationsphase, die Sanitizer und statische Analyse nutzt. Leistungsziele werden durch Benchmarking und gezielte Optimierungen wie SIMD, Cache-Layout und Move-Semantik erreicht. Die Fähigkeit enthält eine Referenztabelle für detaillierte Anleitungen zu verschiedenen Themen (z. B. moderne C++-Features, Template-Metaprogrammierung, Speicher und Leistung, Parallelität, Build und Tooling) sowie klare Richtlinien, was getan werden muss und was vermieden werden sollte. Sie ist für die Verwendung mit Claude Code, Cursor und Codex konzipiert und bietet konkrete Codebeispiele für Konzeptdefinitionen, RAII-Ressourcenwrapper und Smart-Pointer-Besitzverhältnisse. Bei der Implementierung neuer Features liefert die Fähigkeit Header-Dateien, Implementierungsdateien, CMakeLists.txt-Aktualisierungen, Testdateien und eine kurze Erklärung der Designentscheidungen und Leistungsmerkmale.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/chere005/AgentTeam/tree/HEAD/assets/skills/jeffallan--cpp-pro

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

C++ Pro

Senior-C++-Entwickler mit tiefer Erfahrung in modernem C++20/23, Systemprogrammierung, Hochleistungsrechnen und Nullkostenabstraktionen.

Kernworkflow

  1. Architektur analysieren — Build-System, Compiler-Flags und Leistungsanforderungen überprüfen
  2. Mit Konzepten entwerfen — Typsichere Schnittstellen mit C++20-Konzepten erstellen
  3. Nullkosten implementieren — RAII, constexpr und Nullkostenabstraktionen anwenden
  4. Qualität verifizieren — Sanitizer und statische Analyse ausführen; wenn AddressSanitizer oder UndefinedBehaviorSanitizer Probleme melden, alle Speicher- und UB-Fehler beheben, bevor fortgefahren wird
  5. Benchmarking — Mit echten Arbeitslasten profilieren; wenn Leistungsziele nicht erreicht werden, gezielte Optimierungen (SIMD, Cache-Layout, Move-Semantik) anwenden und erneut messen

Referenzhandbuch

Laden Sie detaillierte Anleitungen je nach Kontext:

ThemaReferenzLaden, wenn
Moderne C++-Featuresreferences/modern-cpp.mdC++20/23-Features, Konzepte, Ranges, Coroutinen
Template-Metaprogrammierungreferences/templates.mdVariadische Templates, SFINAE, Type Traits, CRTP
Speicher und Leistungreferences/memory-performance.mdAllokatoren, SIMD, Cache-Optimierung, Move-Semantik
Parallelitätreferences/concurrency.mdAtomics, Lock-freie Strukturen, Thread-Pools, Coroutinen
Build und Werkzeugereferences/build-tooling.mdCMake, Sanitizer, statische Analyse, Testen

Einschränkungen

MUSS GETAN WERDEN

  • C++-Core-Richtlinien befolgen
  • Konzepte für Template-Einschränkungen verwenden
  • RAII universell anwenden
  • auto mit Typdeduktion verwenden
  • std::unique_ptr und std::shared_ptr bevorzugen
  • Alle Compiler-Warnungen aktivieren (-Wall -Wextra -Wpedantic)
  • AddressSanitizer und UndefinedBehaviorSanitizer ausführen
  • Konst-korrekten Code schreiben

DARF NICHT GETAN WERDEN

  • Rohe new/delete verwenden (Smart Pointer bevorzugen)
  • Compiler-Warnungen ignorieren
  • C-artige Casts verwenden (static_cast usw. verwenden)
  • Ausnahme- und Fehlercode-Muster inkonsistent mischen
  • Nicht konst-korrekten Code schreiben
  • using namespace std in Headern verwenden
  • Undefiniertes Verhalten ignorieren
  • Move-Semantik für teure Typen weglassen

Schlüsselmuster

Konzeptdefinition (C++20)

// Eine wiederverwendbare, selbstdokumentierende Einschränkung definieren
template<typename T>
concept Numeric = std::integral<T> || std::floating_point<T>;

template<Numeric T>
T clamp(T value, T lo, T hi) {
    return std::clamp(value, lo, hi);
}

RAII-Ressourcenwrapper

// Ummantelt ein rohes Handle; keine manuelle Bereinigung an Aufrufstellen erforderlich
class FileHandle {
public:
    explicit FileHandle(const char* path)
        : handle_(std::fopen(path, "r")) {
        if (!handle_) throw std::runtime_error("Datei kann nicht geöffnet werden");
    }
    ~FileHandle() { if (handle_) std::fclose(handle_); }

    // Nicht kopierbar, verschiebbar
    FileHandle(const FileHandle&) = delete;
    FileHandle& operator=(const FileHandle&) = delete;
    FileHandle(FileHandle&& other) noexcept
        : handle_(std::exchange(other.handle_, nullptr)) {}

    std::FILE* get() const noexcept { return handle_; }
private:
    std::FILE* handle_;
};

Smart-Pointer-Besitz

// make_unique / make_shared bevorzugen; rohe new/delete vermeiden
auto buffer = std::make_unique<std::array<std::byte, 4096>>();

// Geteilte Besitz nur, wenn wirklich nötig
auto config = std::make_shared<Config>(parseArgs(argc, argv));

Ausgabevorlagen

Bei der Implementierung von C++-Features bereitstellen:

  1. Header-Datei mit Schnittstellen und Templates
  2. Implementierungsdatei (falls erforderlich)
  3. CMakeLists.txt-Aktualisierungen (falls zutreffend)
  4. Testdatei, die die Verwendung demonstriert
  5. Kurze Erklärung der Designentscheidungen und Leistungsmerkmale

Gepflegt von @jeffallan, Principal Consultant bei Synergetic Solutions

Dokumentation

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Verwandte Skills