feat(brain): skill_scaffold — Templates statt Skill aus dem Nichts
Variante C: niedrigere Huerde zum Skill-Bau. Statt einen kompletten
Python-Skill via skill_create zu generieren (~100 Zeilen Code, teuer in
Tokens und fehleranfaellig), waehlt ARIA ein Template + minimale params,
Brain expandiert das Skelett in ~1s zu fertigem Skill.
Beobachtung: ARIA driftet bei Spotify, PDF etc. zu Bash-curl statt
einen Skill zu bauen, weil die Skill-Bau-Huerde zu hoch ist (Code,
README, args, pip_packages, config_schema). Mit Templates ist die
Huerde minimal.
Neue Module:
- aria-brain/skill_templates.py: drei mitgelieferte Templates
- oauth-api: OAuth2-API (Spotify, GitHub, Reddit, Google, Discord, ...).
Token via BRAIN_INTERNAL_URL/oauth/<s>/token mit Auto-Refresh.
Args: method/path/body/base_url
- apikey-api: API mit statischem Key (OpenWeather, OpenAI, Twilio).
Key liegt im config_schema -> CFG_<NAME> ENV, KEIN hardcoden.
Konfigurierbar: auth_header (Authorization|X-Api-Key), auth_prefix.
- file-process: Skelett fuer File-In/File-Out (PDF, Bild, JSON).
process()-Funktion ist Stub, ARIA fuellt sie via skill_update.
Templates nutzen Token-Replacement statt f-Strings (sonst Konflikt
mit dem skill-internen Python-Code).
- aria-brain/skills.py: scaffold_skill(name, template, params, author)
wrappt create_skill mit den expandierten Feldern.
- aria-brain/agent.py: neues Brain-Tool skill_scaffold mit detaillierter
Description (Template-Liste + params-Schema). Dispatcher-Handler
schickt skill_created Side-Channel-Event analog zu skill_create.
- aria-brain/main.py: POST /skills/scaffold + GET /skills/templates
(letzteres listet alle Templates fuer UI/Diagnostic).
- 11. seed_rule scaffold-reflex: bei 2x derselben API per Bash-curl
SOFORT skill_scaffold rufen. Belohnung explizit benannt
("welches lied" von 20s auf 3s).
README mit Skills-Scaffold-Tabelle ergaenzt.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -208,6 +208,37 @@ SEED_RULES: List[dict] = [
|
||||
"Brain-Resources: erst denken, sonst Brain-Tool nehmen."
|
||||
),
|
||||
},
|
||||
{
|
||||
"migration_key": "seed/skill-rule/scaffold-reflex",
|
||||
"type": "rule",
|
||||
"title": "Skill-Regel: skill_scaffold-Reflex bei wiederholten API-Calls",
|
||||
"category": "skills",
|
||||
"content": (
|
||||
"Wenn Du dieselbe externe API in einer Session 2x oder oefter "
|
||||
"via Bash-curl angerufen hast: HOER AUF und rufe SOFORT "
|
||||
"`skill_scaffold` auf. Drei Spotify-Calls hintereinander, "
|
||||
"drei Wetter-Abfragen, drei Calendar-Events — JEDES dieser "
|
||||
"Pattern schreit nach einem Skill.\n"
|
||||
"\n"
|
||||
"skill_scaffold ist die niedrige Hürde: Du musst keinen "
|
||||
"kompletten Python-Skill schreiben. Du waehlst nur:\n"
|
||||
" - oauth-api fuer OAuth2-Services (Spotify, GitHub, Reddit, "
|
||||
"Google, Discord) -- Token kommt vom Brain mit Auto-Refresh\n"
|
||||
" - apikey-api fuer statische Keys (OpenWeather, OpenAI, "
|
||||
"Twilio) -- Key landet im config_schema, Stefan setzt ihn in "
|
||||
"Diagnostic\n"
|
||||
" - file-process fuer Datei-In/Datei-Out (PDF, Bild, Daten)\n"
|
||||
"\n"
|
||||
"Brain expandiert das Template in ~1s zu einem fertigen Skill. "
|
||||
"Falls Du was Spezielles brauchst: erst Scaffold, dann "
|
||||
"`skill_update` mit Anpassung. NICHT umgekehrt — und schon gar "
|
||||
"nicht das fuenfte Mal das gleiche Bash-Skript bauen.\n"
|
||||
"\n"
|
||||
"Belohnung: ein Spotify-Skill macht 'welches lied laeuft' in "
|
||||
"1 Tool-Call (~3s) statt 5 Bash-Roundtrips (~20s). Stefan "
|
||||
"merkt das sofort und ist zufriedener."
|
||||
),
|
||||
},
|
||||
{
|
||||
"migration_key": "seed/skill-rule/external-api-auth-strategy",
|
||||
"type": "rule",
|
||||
|
||||
Reference in New Issue
Block a user