03 · Erster Skill
Tool vs. Skill — der Unterschied in einem Satz:
Ein Tool ist ein einzelner Call ("zähle Wörter"). Ein Skill ist eine kuratierte Kombination aus System-Prompt, Trigger-Keywords und einer passenden Tool-Liste — ein wiederverwendbares "Rezept".
Voraussetzungen
- Abgeschlossen: 02 · Eigenes Tool
Zeitbedarf: 5 Minuten
Endzustand: Ein @agent-dekorierter Skill ist registriert, hat eine definierte Persona, eigene Tools und reagiert auf Keywords.
1. Der @agent-Decorator als Skill-Primitive
cognithor.sdk bietet @agent als Ein-Decorator-Skill-Definition:
from cognithor.sdk import agent, tool
@tool(name="calculate_gcd", description="Berechne größten gemeinsamen Teiler")
async def calculate_gcd(a: int, b: int) -> int:
while b:
a, b = b, a % b
return a
@agent(
name="math_helper",
description="Mathe-Skill — berechnet ggT und andere Zahlentheorie-Aufgaben",
tools=["calculate_gcd"],
system_prompt="Du bist ein präziser Mathematik-Assistent. Antworte knapp.",
trigger_keywords=["ggT", "größter gemeinsamer Teiler", "GCD"],
version="0.1.0",
)
class MathHelperAgent:
async def on_message(self, message: str) -> str:
return f"Math-Helper bearbeitet: {message}"
Kernzutaten eines Skills:
| Feld | Zweck |
|---|---|
name |
Eindeutige ID, per SDKRegistry auffindbar |
tools |
Welche Tools der Skill aufrufen darf |
system_prompt |
Persona — wie der Skill denkt und formuliert |
trigger_keywords |
Wann der Skill-Router diesen Skill aktiviert |
max_iterations |
Sicherheits-Limit für die Tool-Use-Schleife (default: 5) |
2. Skill entdecken
from cognithor.sdk.decorators import get_registry
registry = get_registry()
defn = registry.get_agent("math_helper")
print(defn.name, defn.tools, defn.trigger_keywords)
# → math_helper ['calculate_gcd'] ['ggT', 'größter gemeinsamer Teiler', 'GCD']
3. Vollständiges Beispiel
Leg main.py an — siehe examples/quickstart/03_first_skill/main.py.
4. Skill-Scaffolder
Für schnellere Gerüste:
from cognithor.sdk import scaffold_agent
src = scaffold_agent(
name="my_skill",
description="Mein Skill",
keywords=["hallo", "welt"],
)
print(src) # → vollständige Python-Datei mit @tool + @agent + @hook
Das Ergebnis ist eine direkt lauffähige Python-Datei, fertig zum Anpassen.
5. Was ist der Unterschied zur Community Skill Marketplace?
Die Community Skill Marketplace (cognithor.skills.community.*) ist die hostete Distribution: veröffentlichte, SHA-256-verifizierte Skills mit Publisher-Vertrauenslevels, Ratings und REST-API. Alles was du mit @agent baust, kannst du dort später publishen.
Die SDK-Ebene (@agent-Decorator) ist der Entwickler-Einstieg: lokal registrieren, lokal testen, dann optional publishen.
Next: 04 · Guardrails