CommunityCodierung & Entwicklunggithub.com

Tool-Design

Diese Fähigkeit wird für die Tool-Interface-Ebene eines Agentensystems verwendet, insbesondere zum Schreiben von Tool-Beschreibungen, die Agenten zur Routenwahl nutzen können, zum Entwerfen von Tool-Schemas und Antwortformaten, zu Namenskonventionen, zu umsetzbaren Fehlerbehebungsmeldungen, zum MCP-Server-Design, zur Konsolidierung von Tool-Sets und zur Entscheidung, wann ein einzelnes Tool hinzugefügt oder entfernt werden soll. Verwenden Sie diese Fähigkeit, wenn die Arbeitseinheit ein einzelnes Tool oder ein Tool-Set ist. Leiten Sie Entscheidungen zu Projektform, Pipeline-Architektur und Aufgabenmodell-Passung an „project-development“ weiter; Entscheidungen zur Einführung von Sub-Agents an „multi-agent-patterns“.

Was ist Tool-Design?

Diese Fähigkeit – „tool-design“ – konzentriert sich auf die Gestaltung der Schnittstellenschicht zwischen deterministischen Systemen und nicht-deterministischen Agenten. Ihr Kern ist das „Konsolidierungsprinzip“: Reduzieren Sie die Tool-Menge auf ein Minimum mit eindeutigen Zwecken, um Auswahlfehler von Agenten zu vermeiden. Die Fähigkeit behandelt das Schreiben von Tool-Beschreibungen als Prompt-Engineering für Agenten, das Entwerfen von Tool-Schemas, Namenskonventionen (z. B. Verb-Nomen-Muster), die Konsolidierung überlappender Tool-Kataloge, die Gestaltung umsetzbarer Fehlermeldungen zur Selbstkorrektur sowie die MCP-Server-Integration mit vollqualifizierten Namen wie „ServerName:tool_name“. Sie ist nützlich, weil Agenten den gesamten Vertrag aus einer einzigen Beschreibung ableiten müssen – jede Mehrdeutigkeit führt zu fehlerhaften Aufrufen. Plattformen wie Claude Code oder Cursor werden unterstützt, indem die Fähigkeit auf die Tool-Beschreibungen abzielt, die im Kontext dieser Agenten geladen werden. Der Anwender sollte diese Fähigkeit aktivieren, wenn ein einzelnes Tool oder ein Tool-Set entworfen oder debuggt wird, und nicht für übergeordnete Architekturentscheidungen, die in „project-development“ oder „multi-agent-patterns“ fallen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/muratcankoylan/Agent-Skills-for-Context-Engineering/tree/main/skills/tool-design

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Tool-Design für Agenten

Entwerfen Sie jedes Tool als Vertrag zwischen einem deterministischen System und einem nicht-deterministischen Agenten. Anders als bei menschlichen APIs müssen Agenten-Tools den Vertrag allein durch die Beschreibung eindeutig machen: Agenten leiten die Absicht aus Beschreibungen ab und generieren Aufrufe, die den erwarteten Formaten entsprechen müssen. Jede Mehrdeutigkeit wird zu einem potenziellen Fehlermodus, den kein Prompt-Engineering beheben kann.

Die Arbeitseinheit dieser Fähigkeit ist ein einzelnes Tool oder ein Tool-Katalog. Entscheidungen über Projektform, Pipeline-Architektur, Aufgabenmodell-Passung und Kosten auf Projektebene gehören zu project-development. Entscheidungen über die Einführung von Sub-Agents gehören zu multi-agent-patterns. Diese Fähigkeit besitzt die Schnittstellenschicht, die deterministischen Code mit dem Agenten verbindet.

Wann zu aktivieren

Aktivieren Sie diese Fähigkeit, wenn die Arbeitseinheit ein Tool ist:

  • Schreiben einer neuen Tool-Beschreibung, eines neuen Schemas oder Antwortformats.
  • Debuggen von Fällen, in denen der Agent das falsche Tool ausgewählt oder fehlerhafte Aufrufe generiert hat.
  • Konsolidieren eines überlappenden Tool-Katalogs (der klassische Fall „Wir haben 17 Tools, der Agent wählt in der Hälfte der Fälle das falsche aus“).
  • Entwerfen umsetzbarer Fehlermeldungen, damit der Agent sich selbst korrigieren kann.
  • Konsistente Benennung von Tools und Parametern in einem Katalog (MCP-Namensräume, Verb-Nomen-Benennung).
  • Evaluieren eines Drittanbieter-Tools anhand des Konsolidierungsprinzips, bevor es hinzugefügt wird.

Aktivieren Sie diese Fähigkeit nicht für angrenzende Arbeiten, die von anderen Fähigkeiten bearbeitet werden:

  • Entscheidung, ob das Projekt überhaupt LLMs verwenden soll oder wie die Phasen der Pipeline aussehen sollen: project-development.
  • Entscheidung, ob die Arbeit auf Sub-Agents aufgeteilt oder ein einzelner Agent mit mehr Tools betrieben werden soll: multi-agent-patterns.
  • Reduzierung des Token-Gewichts von Tool-Ausgaben auf Trajektorienebene (Beobachtungsmaskierung, Formatwahl im großen Maßstab): context-optimization.

Kernkonzepte

Entwerfen Sie Tools nach dem Konsolidierungsprinzip: Wenn ein menschlicher Ingenieur nicht definitiv sagen kann, welches Tool in einer bestimmten Situation verwendet werden sollte, kann von einem Agenten nicht erwartet werden, dass er besser abschneidet. Reduzieren Sie die Tool-Menge, bis jedes Tool einen eindeutigen Zweck hat, denn Agenten wählen Tools durch Vergleich von Beschreibungen aus, und jede Überlappung führt zu Auswahlfehlern.

Behandeln Sie jede Tool-Beschreibung als Prompt-Engineering, das das Agentenverhalten prägt. Die Beschreibung ist keine Dokumentation für Menschen – sie wird in den Kontext des Agenten injiziert und steuert direkt das Denken. Schreiben Sie Beschreibungen, die beantworten, was das Tool tut, wann es verwendet wird und was es zurückgibt, denn diese drei Fragen sind genau das, was Agenten bei der Tool-Auswahl evaluieren.

Detaillierte Themen

Die Tool-Agenten-Schnittstelle

Tools als Verträge Entwerfen Sie jedes Tool als eigenständigen Vertrag. Wenn Menschen APIs aufrufen, lesen sie Dokumentation, verstehen Konventionen und stellen angemessene Anfragen. Agenten müssen den gesamten Vertrag aus einem einzigen Beschreibungsblock ableiten. Machen Sie den Vertrag eindeutig, indem Sie Formatbeispiele, erwartete Muster und explizite Einschränkungen aufnehmen. Lassen Sie nichts aus, was ein Aufrufer wissen muss, denn Agenten können vor einem Aufruf keine klärenden Fragen stellen.

Tool-Beschreibung als Prompt Schreiben Sie Tool-Beschreibungen in dem Wissen, dass sie direkt in den Agentenkontext geladen werden und gemeinsam das Verhalten steuern. Eine vage Beschreibung wie „Datenbank durchsuchen“ mit kryptischen Parameternamen zwingt den Agenten zum Raten – und Raten führt zu falschen Aufrufen. Fügen Sie stattdessen Nutzungskontext, Parameterformatbeispiele und sinnvolle Standardwerte hinzu. Jedes Wort in der Beschreibung hilft oder schadet der Genauigkeit der Tool-Auswahl.

Namensräume und Organisation Verwenden Sie Namensräume für Tools unter gemeinsamen Präfixen, wenn die Sammlung wächst, denn Agenten profitieren von hierarchischer Gruppierung. Wenn ein Agent Datenbankoperationen benötigt, navigiert er zum Namespace db_*; wenn er Webinteraktionen benötigt, zu web_*. Ohne Namensräume müssen Agenten jedes Tool in einer flachen Liste bewerten, was die Auswahlgenauigkeit mit zunehmender Anzahl verschlechtert.

Das Konsolidierungsprinzip

Einzelne umfassende Tools Erstellen Sie einzelne umfassende Tools anstelle mehrerer enger, sich überschneidender Tools. Implementieren Sie anstelle von list_users, list_events und create_event separat ein Tool schedule_event, das Verfügbarkeit findet und in einem Aufruf plant. Das umfassende Tool erledigt den gesamten Workflow intern und entlastet den Agenten von der Verkettung von Aufrufen in der richtigen Reihenfolge.

Warum Konsolidierung funktioniert Wenden Sie Konsolidierung an, weil Agenten begrenzten Kontext und Aufmerksamkeit haben. Jedes Tool in der Sammlung konkurriert um Aufmerksamkeit während der Tool-Auswahl, jede Beschreibung verbraucht Kontextbudget-Token, und überlappende Funktionalität schafft Mehrdeutigkeit. Konsolidierung beseitigt redundante Beschreibungen, entfernt Auswahlmehrdeutigkeit und verkleinert die effektive Tool-Menge. Die Vercel d0-Fallstudie ist ein konkretes Beispiel für die Reduzierung spezialisierter Tools auf eine kleinere Menge primitiver Tools mit besseren gemessenen Ergebnissen.

Wann nicht zu konsolidieren Halten Sie Tools getrennt, wenn sie grundlegend unterschiedliche Verhaltensweisen haben, in unterschiedlichen Kontexten verwendet werden oder unabhängig voneinander aufrufbar sein müssen. Überkonsolidierung schafft ein anderes Problem: Ein einzelnes Tool mit zu vielen Parametern und Modi wird für Agenten schwer korrekt zu parametrisieren.

Architektonische Reduktion

Treiben Sie das Konsolidierungsprinzip auf die logische Spitze, indem Sie die meisten spezialisierten Tools zugunsten primitiver, universell einsetzbarer Fähigkeiten entfernen. Produktionsbelege zeigen, dass dieser Ansatz anspruchsvolle Multi-Tool-Architekturen übertreffen kann.

Das Dateisystem-Agenten-Muster Ermöglichen Sie direkten Dateisystemzugriff durch ein einziges Befehlsausführungstool, anstatt benutzerdefinierte Tools für Datenexploration, Schemaabfrage und Abfragevalidierung zu bauen. Der Agent verwendet Standard-Unix-Dienstprogramme (grep, cat, find, ls), um das System zu erkunden und zu bedienen. Dies funktioniert, weil Dateisysteme eine bewährte Abstraktion sind, die Modelle tief verstehen, Standardtools vorhersehbares Verhalten haben, Agenten Primitive flexibel verketten können, anstatt auf vordefinierte Workflows beschränkt zu sein, und gute Dokumentation in Dateien Zusammenfassungstools ersetzt.

Wann Reduktion Komplexität übertrifft Wählen Sie Reduktion, wenn die Datenebene gut dokumentiert und konsistent strukturiert ist, das Modell über ausreichende Argumentationsfähigkeit verfügt, spezialisierte Tools das Modell eher eingeschränkt als befähigt haben oder mehr Zeit mit der Wartung des Gerüsts als mit der Verbesserung der Ergebnisse verbracht wird. Vermeiden Sie Reduktion, wenn die zugrundeliegenden Daten chaotisch oder schlecht dokumentiert sind, die Domäne spezialisiertes Wissen erfordert, das dem Modell fehlt, Sicherheitsauflagen die Agentenaktionen einschränken müssen oder Operationen tatsächlich von strukturierten Workflows profitieren.

Bauen für zukünftige Modelle Entwerfen Sie minimale Architekturen, die von Modellverbesserungen profitieren, anstelle ausgefeilter Architekturen, die aktuelle Einschränkungen festschreiben. Fragen Sie, ob jedes Tool neue Fähigkeiten ermöglicht oder das Denken einschränkt, das das Modell selbst bewältigen könnte – Tools, die als „Schutzmaßnahmen“ gebaut wurden, werden oft zu Verbindlichkeiten, wenn Modelle besser werden.

Siehe Fallstudie zur architektonischen Reduktion für Produktionsbelege.

Tool-Beschreibungs-Engineering

Struktur der Beschreibung Strukturieren Sie jede Tool-Beschreibung, um vier Fragen zu beantworten:

  1. Was macht das Tool? Geben Sie genau an, was das Tool erreicht – vermeiden Sie vage Formulierungen wie „hilft bei“ oder „kann verwendet werden für“.
  2. Wann sollte es verwendet werden? Geben Sie direkte Auslöser („Benutzer fragt nach Preisen“) und indirekte Signale („Aktuelle Marktpreise erforderlich“) an.
  3. Welche Eingaben akzeptiert es? Beschreiben Sie jeden Parameter mit Typ, Einschränkungen, Standardwerten und Formatbeispielen.
  4. Was gibt es zurück? Dokumentieren Sie das Ausgabeformat, die Struktur, erfolgreiche Antwortbeispiele und Fehlerbedingungen.

Auswahl von Standardparametern Setzen Sie Standardwerte so, dass sie häufige Anwendungsfälle widerspiegeln. Standardwerte verringern die Belastung des Agenten, indem sie die Angabe unnötiger Parameter eliminieren, und verhindern Fehler durch weggelassene Parameter. Wählen Sie Standardwerte, die nützliche Ergebnisse liefern, ohne dass der Agent jede Option verstehen muss.

Optimierung des Antwortformats

Bieten Sie Optionen für das Antwortformat (prägnant vs. detailliert) an, da die Größe der Tool-Antwort erheblichen Einfluss auf die Kontextnutzung hat. Das prägnante Format gibt nur wesentliche Felder zurück und eignet sich für Bestätigungen. Das detaillierte Format gibt vollständige Objekte zurück und eignet sich, wenn der vollständige Kontext Entscheidungen antreibt. Dokumentieren Sie in der Tool-Beschreibung, wann welches Format verwendet werden soll, damit Agenten lernen, angemessen auszuwählen.

Fehlermeldungsdesign

Entwerfen Sie Fehlermeldungen für zwei Zielgruppen: Entwickler, die Probleme beheben, und Agenten, die sich von Fehlern erholen. Für Agenten muss jede Fehlermeldung umsetzbar sein – sie muss angeben, was schiefgelaufen ist und wie es korrigiert werden kann. Fügen Sie Wiederholungshinweise für wiederholbare Fehler, korrigierte Formatbeispiele für Eingabefehler und spezifische fehlende Felder für unvollständige Anfragen hinzu. Eine Fehlermeldung, die nur „fehlgeschlagen“ besagt, liefert kein Wiederherstellungssignal.

Tool-Definitionsschema

Etablieren Sie ein einheitliches Schema für alle Tools. Verwenden Sie das Verb-Nomen-Muster für Toolnamen (get_customer, create_order), konsistente Parameternamen über Tools hinweg (immer customer_id, nie manchmal id und manchmal identifier) und konsistente Rückgabefeldnamen. Konsistenz reduziert die kognitive Belastung für Agenten und verbessert die Generalisierung über Tools hinweg.

Tool-Sammlungsdesign

Beschränken Sie Tool-Sammlungen auf die kleinste Menge mit sich nicht überschneidenden Zwecken, denn Beschreibungsüberlappung verursacht Verwirrung beim Modell und mehr Tools führen nicht immer zu besseren Ergebnissen. Wenn tatsächlich mehr Tools benötigt werden, verwenden Sie Namensräume, um logische Gruppierungen zu erstellen. Implementieren Sie Auswahlmechanismen: Tool-Gruppierung nach Domäne, beispielbasierte Auswahlhinweise und Dach-Tools, die an spezialisierte Unter-Tools weiterleiten.

MCP-Tool-Benennungsanforderungen

Verwenden Sie immer vollqualifizierte Toolnamen mit MCP (Model Context Protocol), um „Tool nicht gefunden“-Fehler zu vermeiden.

Format: ServerName:tool_name

# Korrekt: Vollqualifizierte Namen
"Verwenden Sie das BigQuery:bigquery_schema-Tool, um Tabellenschemata abzurufen."
"Verwenden Sie das GitHub:create_issue-Tool, um Issues zu erstellen."

# Falsch: Nicht qualifizierte Namen
"Verwenden Sie das bigquery_schema-Tool..."  # Kann bei mehreren Servern fehlschlagen

Ohne das Server-Präfix können Agenten Tools möglicherweise nicht finden, wenn mehrere MCP-Server verfügbar sind. Etablieren Sie Namenskonventionen, die den Serverkontext in allen Tool-Referenzen enthalten.

Agenten zur Optimierung von Tools einsetzen

Führen Sie beobachtete Tool-Fehler an einen Agenten zurück, um Probleme zu diagnostizieren und Beschreibungen zu verbessern. Behandeln Sie gemeldete Effizienzsteigerungen als workload-spezifisch, bis sie im Ziel-Tool-Katalog reproduziert wurden.

Das Tool-Test-Agenten-Muster:

def optimize_tool_description(tool_spec, failure_examples):
    """
    Verwenden Sie einen Agenten, um Tool-Fehler zu analysieren und Beschreibungen zu verbessern.

    Ablauf:
    1. Agent versucht, das Tool für verschiedene Aufgaben zu verwenden
    2. Sammeln von Fehlermodi und Reibungspunkten
    3. Agent analysiert Fehler und schlägt Verbesserungen vor
    4. Testen der verbesserten Beschreibungen mit denselben Aufgaben
    """
    prompt = f"""
    Analysieren Sie diese Tool-Spezifikation und die beobachteten Fehler.

    Tool: {tool_spec}

    Beobachtete Fehler:
    {failure_examples}

    Identifizieren Sie:
    1. Warum Agenten mit diesem Tool scheitern
    2. Welche Informationen in der Beschreibung fehlen
    3. Welche Mehrdeutigkeiten zu falscher Nutzung führen

    Schlagen Sie eine verbesserte Tool-Beschreibung vor, die diese Probleme adressiert.
    """

    return get_agent_response(prompt)

Dies erzeugt eine Rückkopplungsschleife: Agenten, die Tools verwenden, generieren Fehlerdaten, die Agenten dann zur Verbesserung der Tool-Beschreibungen nutzen, was zukünftige Fehler reduziert.

Tool-Design testen

Bewerten Sie Tool-Designs anhand von fünf Kriterien: Eindeutigkeit, Vollständigkeit, Wiederherstellbarkeit, Effizienz und Konsistenz. Testen Sie, indem Sie repräsentative Agentenanfragen präsentieren und die resultierenden Tool-Aufrufe mit dem erwarteten Verhalten vergleichen.

Praktische Anleitung

Tool-Auswahl-Framework

Beim Entwerfen von Tool-Sammlungen:

  1. Identifizieren Sie unterschiedliche Workflows, die Agenten ausführen müssen
  2. Gruppieren Sie verwandte Aktionen in umfassenden Tools
  3. Stellen Sie sicher, dass jedes Tool einen klaren, eindeutigen Zweck hat
  4. Dokumentieren Sie Fehlerfälle und Wiederherstellungspfade
  5. Testen Sie mit tatsächlichen Agenteninteraktionen

Tool-Prüfliste

Verwenden Sie diese Checkliste für jedes Tool, bevor Sie es zu einem Agenten hinzufügen:

  1. Name: Verb-Nomen, in Namensräumen, wenn der Katalog mehrere Domänen hat.
  2. Beschreibung: Gibt an, was das Tool tut, wann es verwendet wird und was es zurückgibt.
  3. Schema: Jeder Parameter hat Typ, Einschränkungen, Standardwerte und Beispielwerte.
  4. Rückgabeform: Erfolgs- und Fehler-Payloads sind dokumentiert und maschinenlesbar.
  5. Wiederherstellung: Jeder Fehler teilt dem Agenten mit, was vor einem erneuten Versuch geändert werden muss.
  6. Überlappung: Kein anderes Tool hat dasselbe Aktivierungsszenario.
  7. Konsolidierungsentscheidung: Angrenzende enge Tools werden zusammengeführt, es sei denn, unabhängige Aufrufe sind erforderlich.
  8. Token-Auswirkung: Große Antworten unterstützen ein prägnantes Modus- oder Dateireferenz-Modus.

Beispiele

Beispiel 1: Gut entworfenes Tool

def get_customer(customer_id: str, format: str = "concise"):
    """
    Kundeninformationen anhand der ID abrufen.

    Verwenden, wenn:
    - Benutzer nach spezifischen Kundendetails fragt
    - Kundenkontext für Entscheidungsfindung benötigt wird
    - Kundenidentität überprüft wird

    Args:
        customer_id: Format "CUST-######" (z.B. "CUST-000001")
        format: "concise" für Schlüsselfelder, "detailed" für vollständigen Datensatz

    Returns:
        Kundenobjekt mit den angeforderten Feldern

    Fehler:
        NOT_FOUND: Kunden-ID nicht gefunden
        INVALID_FORMAT: ID muss dem Muster CUST-###### entsprechen
    """

Beispiel 2: Schlechtes Tool-Design

Dieses Beispiel zeigt mehrere Anti-Patterns des Tool-Designs:

def search(query):
    """Datenbank durchsuchen."""

Probleme mit diesem Design:

  1. Vager Name: „search“ ist mehrdeutig – wonach suchen, zu welchem Zweck?
  2. Fehlende Parameter: Welche Datenbank? Welches Format soll die Abfrage haben?
  3. Keine Rückgabebeschreibung: Was gibt diese Funktion zurück?

Hinweis: Dieses Dokument wurde mit Unterstützung von KI aus dem Englischen übersetzt und fachlich geprüft.

Individual skills in this repo

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

advanced-evaluation

This skill should be used for advanced LLM evaluation: LLM-as-judge systems, direct scoring, pairwise comparison, rubric calibration, evaluator bias mitigation, confidence scoring, and automated quality assessment.

bdi-mental-states

This skill should be used when modeling agent mental states with BDI concepts: beliefs, desires, intentions, RDF-to-belief transformations, rational agency traces, cognitive agents, BDI ontologies, and neuro-symbolic AI integration.

book-sft-pipeline

This skill should be used for book-to-SFT pipelines: ePub extraction, literary segmentation, author-voice dataset construction, style-transfer training, LoRA workflows, and model evaluation for voice replication.

comprehensive-research-agent

Ensure thorough validation, error recovery, and transparent reasoning in research tasks with multiple tool calls

context-compression

This skill should be used when long-running agent sessions need context compression, structured summarization, compaction, token-per-task optimization, or durable handoff summaries that preserve decisions, files, risks, and next actions.

context-degradation

This skill should be used for diagnosing and mitigating context degradation: lost-in-middle failures, context poisoning, context clash, context confusion, attention-pattern issues, and agent performance degradation caused by accumulated or conflicting context.

context-fundamentals

This skill should be used to explain or reason about the foundational concepts of context engineering: what context is, the anatomy of a context window, how attention mechanics work, the U-shaped attention curve, why context quality matters more than quantity, and the mental models needed to interpret every other context-engineering decision. Use this for conceptual explanation, onboarding, and background reading. Route operational work to the specialized skills: debugging attention failures goes to context-degradation, token-efficiency work goes to context-optimization, conversation summarization goes to context-compression, and project-shape decisions go to project-development.

context-optimization

This skill should be used for improving context efficiency: context budgeting, observation masking, prefix or KV-cache strategy, partitioning, token-cost reduction, retrieval scoping, and extending effective context capacity without lowering answer quality.

evaluation

This skill should be used when building agent evaluation systems: deterministic checks, regression suites, multi-dimensional rubrics, quality gates, production monitoring, baseline comparison, and outcome measurement for agent pipelines.

filesystem-context

This skill should be used when agent work needs file-backed context: durable scratchpads, tool-output offloading, just-in-time discovery, cross-agent handoff files, filesystem memory, or cleanup policies for context stored outside the prompt.

harness-engineering

This skill should be used when designing autonomous agent harnesses: research loops, evaluation scaffolds, locked and editable surfaces, durable logs, novelty gates, pruning, rollback, PR preparation, and human approval boundaries.

hosted-agents

This skill should be used when designing hosted or background agent infrastructure: sandboxed execution, remote coding environments, warm pools, session persistence, multiplayer collaboration, self-spawning agents, or Modal-style sandboxes.

latent-briefing

This skill should be used when the user asks to "share memory between agents", "KV cache compaction for multi-agent", "orchestrator worker context", "latent briefing", "reduce worker tokens", "cross-agent memory without summarization", or discusses Attention Matching compaction, recursive language models with workers, or token explosion in hierarchical agents.

long-horizon-prompting

This skill should be used when writing, enhancing, or evaluating the launch prompt for a long-running autonomous agent or a parallel multi-agent orchestration attacking a hard problem: pseudo-formal task briefs that define terms and an exact success predicate linguistically, enumerate non-counting outcomes, set persistence rules with explicit stop and return conditions and effort floors, manage a diverse portfolio of parallel approaches with an approach registry and blocked-route bookkeeping, and gate the return on adversarial audit. Route agent topology and coordination protocols to multi-agent-patterns, runtime control surfaces and loop governance to harness-engineering, evaluator and quality-gate construction to evaluation, judge design to advanced-evaluation, and compaction or memory mechanics to context-compression and memory-systems.

memory-systems

This skill should be used for persistent semantic memory in agent systems: cross-session knowledge retention, entity tracking, temporal validity, graph or vector retrieval, memory consolidation, and memory benchmark selection. Route file-backed scratchpads to filesystem-context, handoff summaries to context-compression, and token-efficiency tactics to context-optimization.

multi-agent-patterns

This skill should be used when designing multi-agent systems that need context isolation, supervisor or swarm coordination, explicit handoffs, parallel execution, or a decision on whether multiple agents are justified.

project-development

This skill should be used for project-level decisions about LLM-powered systems: whether an LLM is the right primitive for the task at hand, the shape of a multi-stage batch or agent pipeline, token and cost estimation, choosing between single-agent and multi-agent at the project level, structured output design for downstream parsing, and structuring agent-assisted iteration. Use this when the unit of work is a whole project or a multi-stage pipeline. Route individual tool design to tool-design and individual skill-loading or context-budget tactics to context-optimization.

self-improvement-loops

This skill should be used when the harness, scaffold, workflow, or optimizer itself is the optimization target: recursive self-improvement (RSI) loops, meta-harnesses, self-improving harnesses that mine their own failures and propose bounded edits, evolutionary or population-based search over agent scaffolds, acceptance gates for self-modifying systems, and agentic context evolution where the mechanism that produces context is versioned and evolved. Route governance of a single autonomous loop (locked surfaces, durable logs, rollback, novelty gates, approval boundaries) to harness-engineering, measurement and quality-gate design to evaluation, judge design to advanced-evaluation, and remote sandbox infrastructure to hosted-agents.

self-managed-context

This skill should be used when a model gets read-write control over its own live context window instead of a harness-scheduled compaction policy: the context exposed as an editable file the model rewrites with code tools, model-driven eviction and in-place updates, the harness invariants that keep self-editing safe (pinned prefix, edit gate, edit receipts, budget readouts, rollback on overflow), the prefix-cache cost of mid-context edits, and steering or training the model's own context-editing strategy. Route note content and fixed-threshold summarization to context-compression, cache-stable layout under harness control to context-optimization, file offloading to filesystem-context, and loop governance to self-improvement-loops.

Verwandte Skills