feat: Erweitere Skill-Beschreibungen mit präziseren Nutzungsrichtlinien
- Verfeinere Description-Felder aller Skills für besseres Triggering - Neue skill-creator@claude-plugins-official Permission - /story mit neuer Reference-Struktur (phase-spezifische Detail-Dateien) - /go, /plan-review, /ship, /workflow-review: klarere Abgrenzungen - Vereinfachung im Vergleich zu vorigen Versionen Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
[
|
||||
{
|
||||
"query": "ich bin fertig mit der implementierung, kannst du die tests laufen lassen und einen PR erstellen?",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "alles fertig implementiert, bitte testen und PR in Gitea anlegen",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "die Änderungen sind durch, jetzt Tests + PR bitte",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "ich hab die auth-middleware fertig gebaut, magst du das jetzt testen und einen PR anlegen bei gitea.troeger-net.org/martin/myproject?",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "ok der refactor ist durch, kannst du die test suite laufen lassen und wenn alles grün ist nen PR erstellen?",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "feature ist fertig, jetzt bitte test-runner + code vereinfachen + PR",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "implementation done, /go bitte",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "hab den crud-endpoint für /api/orders fertig, kannst du jetzt testen und als PR einreichen?",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "kannst du mir erklären wie ich manuell einen PR anlege?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "bitte nur die tests laufen lassen, ich will noch nicht committen",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "bitte committen und pushen",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "erstell mir einen PR für diesen branch, tests sind schon grün",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "kannst du den code reviewen und vereinfachen ohne PR?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "ship it bitte",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "was ist der status der aktuellen tests?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "ich möchte eine neue story starten für das login-feature",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "bitte führe nur den security-audit durch",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "kannst du die fehlgeschlagenen tests in test_user_service.py debuggen?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "rebase bitte meinen branch auf main",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "bitte nur den simplify-skill aufrufen, keinen PR",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "/go",
|
||||
"should_trigger": true
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,22 @@
|
||||
[
|
||||
{"query": "ich bin fertig mit der implementierung, kannst du die tests laufen lassen und einen PR erstellen?", "should_trigger": true},
|
||||
{"query": "alles fertig implementiert, bitte testen und PR in Gitea anlegen", "should_trigger": true},
|
||||
{"query": "die Änderungen sind durch, jetzt Tests + PR bitte", "should_trigger": true},
|
||||
{"query": "ich hab die auth-middleware fertig gebaut, magst du das jetzt testen und einen PR anlegen bei gitea.troeger-net.org/martin/myproject?", "should_trigger": true},
|
||||
{"query": "ok der refactor ist durch, kannst du die test suite laufen lassen und wenn alles grün ist nen PR erstellen?", "should_trigger": true},
|
||||
{"query": "feature ist fertig, jetzt bitte test-runner + code vereinfachen + PR", "should_trigger": true},
|
||||
{"query": "implementation done, /go bitte", "should_trigger": true},
|
||||
{"query": "hab den crud-endpoint für /api/orders fertig, kannst du jetzt testen und als PR einreichen?", "should_trigger": true},
|
||||
{"query": "kannst du mir erklären wie ich manuell einen PR anlege?", "should_trigger": false},
|
||||
{"query": "bitte nur die tests laufen lassen, ich will noch nicht committen", "should_trigger": false},
|
||||
{"query": "bitte committen und pushen", "should_trigger": false},
|
||||
{"query": "erstell mir einen PR für diesen branch, tests sind schon grün", "should_trigger": false},
|
||||
{"query": "kannst du den code reviewen und vereinfachen ohne PR?", "should_trigger": false},
|
||||
{"query": "ship it bitte", "should_trigger": false},
|
||||
{"query": "was ist der status der aktuellen tests?", "should_trigger": false},
|
||||
{"query": "ich möchte eine neue story starten für das login-feature", "should_trigger": false},
|
||||
{"query": "bitte führe nur den security-audit durch", "should_trigger": false},
|
||||
{"query": "kannst du die fehlgeschlagenen tests in test_user_service.py debuggen?", "should_trigger": false},
|
||||
{"query": "rebase bitte meinen branch auf main", "should_trigger": false},
|
||||
{"query": "bitte nur den simplify-skill aufrufen, keinen PR", "should_trigger": false}
|
||||
]
|
||||
@@ -0,0 +1,82 @@
|
||||
Split: 14 train, 7 test (holdout=0.4)
|
||||
|
||||
============================================================
|
||||
Iteration 1/5
|
||||
Description: Führt nach einer Implementierung Tests aus, vereinfacht den Code und erstellt einen PR in Gitea. Aktivieren wenn eine Feature-Implementierung abgeschlossen ist und ein PR erstellt werden soll.
|
||||
============================================================
|
||||
Train: 24/42 correct, precision=100% recall=0% accuracy=57% (51.8s)
|
||||
[FAIL] rate=0/3 expected=True: ok der refactor ist durch, kannst du die test suite laufen l
|
||||
[FAIL] rate=0/3 expected=True: die Änderungen sind durch, jetzt Tests + PR bitte
|
||||
[FAIL] rate=0/3 expected=True: feature ist fertig, jetzt bitte test-runner + code vereinfac
|
||||
[FAIL] rate=0/3 expected=True: /go
|
||||
[FAIL] rate=0/3 expected=True: alles fertig implementiert, bitte testen und PR in Gitea anl
|
||||
[FAIL] rate=0/3 expected=True: ich bin fertig mit der implementierung, kannst du die tests
|
||||
[PASS] rate=0/3 expected=False: kannst du die fehlgeschlagenen tests in test_user_service.py
|
||||
[PASS] rate=0/3 expected=False: bitte nur den simplify-skill aufrufen, keinen PR
|
||||
[PASS] rate=0/3 expected=False: ich möchte eine neue story starten für das login-feature
|
||||
[PASS] rate=0/3 expected=False: kannst du mir erklären wie ich manuell einen PR anlege?
|
||||
[PASS] rate=0/3 expected=False: was ist der status der aktuellen tests?
|
||||
[PASS] rate=0/3 expected=False: bitte nur die tests laufen lassen, ich will noch nicht commi
|
||||
[PASS] rate=0/3 expected=False: bitte führe nur den security-audit durch
|
||||
[PASS] rate=0/3 expected=False: rebase bitte meinen branch auf main
|
||||
Test : 12/21 correct, precision=100% recall=0% accuracy=57% (0.0s)
|
||||
[FAIL] rate=0/3 expected=True: ich hab die auth-middleware fertig gebaut, magst du das jetz
|
||||
[FAIL] rate=0/3 expected=True: implementation done, /go bitte
|
||||
[FAIL] rate=0/3 expected=True: hab den crud-endpoint für /api/orders fertig, kannst du jetz
|
||||
[PASS] rate=0/3 expected=False: erstell mir einen PR für diesen branch, tests sind schon grü
|
||||
[PASS] rate=0/3 expected=False: ship it bitte
|
||||
[PASS] rate=0/3 expected=False: bitte committen und pushen
|
||||
[PASS] rate=0/3 expected=False: kannst du den code reviewen und vereinfachen ohne PR?
|
||||
|
||||
Improving description...
|
||||
Traceback (most recent call last):
|
||||
File "<frozen runpy>", line 198, in _run_module_as_main
|
||||
File "<frozen runpy>", line 88, in _run_code
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 332, in <module>
|
||||
main()
|
||||
~~~~^^
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 297, in main
|
||||
output = run_loop(
|
||||
eval_set=eval_set,
|
||||
...<11 lines>...
|
||||
log_dir=log_dir,
|
||||
)
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 202, in run_loop
|
||||
new_description = improve_description(
|
||||
client=client,
|
||||
...<7 lines>...
|
||||
iteration=iteration,
|
||||
)
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/improve_description.py", line 114, in improve_description
|
||||
response = client.messages.create(
|
||||
model=model,
|
||||
...<5 lines>...
|
||||
messages=[{"role": "user", "content": prompt}],
|
||||
)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_utils/_utils.py", line 283, in wrapper
|
||||
return func(*args, **kwargs)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/resources/messages/messages.py", line 1000, in create
|
||||
return self._post(
|
||||
~~~~~~~~~~^
|
||||
"/v1/messages",
|
||||
^^^^^^^^^^^^^^^
|
||||
...<30 lines>...
|
||||
stream_cls=Stream[RawMessageStreamEvent],
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
)
|
||||
^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 1368, in post
|
||||
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
|
||||
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 1062, in request
|
||||
request = self._build_request(options, retries_taken=retries_taken)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 521, in _build_request
|
||||
headers = self._build_headers(options, retries_taken=retries_taken)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 451, in _build_headers
|
||||
self._validate_headers(headers_dict, custom_headers)
|
||||
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_client.py", line 196, in _validate_headers
|
||||
raise TypeError(
|
||||
'"Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"'
|
||||
)
|
||||
TypeError: "Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"
|
||||
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"query": "bitte reviewe meinen plan bevor ich anfange zu implementieren",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "ich hab den plan fertig, kann ein unabhängiger agent drüber schauen?",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "plan review bitte",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "prüfe ob der plan vollständig ist — akzeptanzkriterien, tests, migrations",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "der plan steht, bitte einen zweiten blick drauf werfen auf risiken und fehlende tests",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "kannst du mit opus meinen plan prüfen lassen? ich bin nicht sicher ob die alembic-migrationen alle eingeplant sind",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "/plan-review",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "ich will sicher gehen dass mein implementierungsplan alle akzeptanzkriterien abdeckt bevor wir loslegen",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "erkläre mir wie ich einen guten implementierungsplan schreibe",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "reviewe den code in auth_service.py auf security-probleme",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "was ist der aktuelle status des projekts?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "schreib mir einen implementierungsplan für das login-feature",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "kannst du die PR-beschreibung reviewen?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "ich möchte den workflow reviewen auf best practices",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "bitte die testabdeckung prüfen",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "ist mein datenbankschema für user und teams gut designed?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "security audit für die aktuellen änderungen bitte",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "reviewe die PR #23",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "checke ob meine FastAPI-endpoints die richtigen HTTP-statuscodes zurückgeben",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "kannst du den plan weiterentwickeln? ich glaube phase 3 fehlt noch",
|
||||
"should_trigger": false
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,22 @@
|
||||
[
|
||||
{"query": "bitte reviewe meinen plan bevor ich anfange zu implementieren", "should_trigger": true},
|
||||
{"query": "ich hab den plan fertig, kann ein unabhängiger agent drüber schauen?", "should_trigger": true},
|
||||
{"query": "plan review bitte", "should_trigger": true},
|
||||
{"query": "prüfe ob der plan vollständig ist — akzeptanzkriterien, tests, migrations", "should_trigger": true},
|
||||
{"query": "der plan steht, bitte einen zweiten blick drauf werfen auf risiken und fehlende tests", "should_trigger": true},
|
||||
{"query": "kannst du mit opus meinen plan prüfen lassen? ich bin nicht sicher ob die alembic-migrationen alle eingeplant sind", "should_trigger": true},
|
||||
{"query": "/plan-review", "should_trigger": true},
|
||||
{"query": "ich will sicher gehen dass mein implementierungsplan alle akzeptanzkriterien abdeckt bevor wir loslegen", "should_trigger": true},
|
||||
{"query": "erkläre mir wie ich einen guten implementierungsplan schreibe", "should_trigger": false},
|
||||
{"query": "reviewe den code in auth_service.py auf security-probleme", "should_trigger": false},
|
||||
{"query": "was ist der aktuelle status des projekts?", "should_trigger": false},
|
||||
{"query": "schreib mir einen implementierungsplan für das login-feature", "should_trigger": false},
|
||||
{"query": "kannst du die PR-beschreibung reviewen?", "should_trigger": false},
|
||||
{"query": "ich möchte den workflow reviewen auf best practices", "should_trigger": false},
|
||||
{"query": "bitte die testabdeckung prüfen", "should_trigger": false},
|
||||
{"query": "ist mein datenbankschema für user und teams gut designed?", "should_trigger": false},
|
||||
{"query": "security audit für die aktuellen änderungen bitte", "should_trigger": false},
|
||||
{"query": "reviewe die PR #23", "should_trigger": false},
|
||||
{"query": "checke ob meine FastAPI-endpoints die richtigen HTTP-statuscodes zurückgeben", "should_trigger": false},
|
||||
{"query": "kannst du den plan weiterentwickeln? ich glaube phase 3 fehlt noch", "should_trigger": false}
|
||||
]
|
||||
@@ -0,0 +1,81 @@
|
||||
Split: 13 train, 7 test (holdout=0.4)
|
||||
|
||||
============================================================
|
||||
Iteration 1/5
|
||||
Description: Startet einen unabhängigen Opus-Agenten der den aktuellen Plan auf Vollständigkeit, Risiken und fehlende Tests prüft. Aktivieren nach der Planungsphase, bevor die Implementierung beginnt.
|
||||
============================================================
|
||||
Train: 24/39 correct, precision=100% recall=0% accuracy=62% (49.9s)
|
||||
[FAIL] rate=0/3 expected=True: kannst du mit opus meinen plan prüfen lassen? ich bin nicht
|
||||
[FAIL] rate=0/3 expected=True: ich will sicher gehen dass mein implementierungsplan alle ak
|
||||
[FAIL] rate=0/3 expected=True: plan review bitte
|
||||
[FAIL] rate=0/3 expected=True: bitte reviewe meinen plan bevor ich anfange zu implementiere
|
||||
[FAIL] rate=0/3 expected=True: ich hab den plan fertig, kann ein unabhängiger agent drüber
|
||||
[PASS] rate=0/3 expected=False: ich möchte den workflow reviewen auf best practices
|
||||
[PASS] rate=0/3 expected=False: ist mein datenbankschema für user und teams gut designed?
|
||||
[PASS] rate=0/3 expected=False: bitte die testabdeckung prüfen
|
||||
[PASS] rate=0/3 expected=False: erkläre mir wie ich einen guten implementierungsplan schreib
|
||||
[PASS] rate=0/3 expected=False: checke ob meine FastAPI-endpoints die richtigen HTTP-statusc
|
||||
[PASS] rate=0/3 expected=False: security audit für die aktuellen änderungen bitte
|
||||
[PASS] rate=0/3 expected=False: reviewe den code in auth_service.py auf security-probleme
|
||||
[PASS] rate=0/3 expected=False: kannst du den plan weiterentwickeln? ich glaube phase 3 fehl
|
||||
Test : 12/21 correct, precision=100% recall=0% accuracy=57% (0.0s)
|
||||
[FAIL] rate=0/3 expected=True: prüfe ob der plan vollständig ist — akzeptanzkriterien, test
|
||||
[FAIL] rate=0/3 expected=True: der plan steht, bitte einen zweiten blick drauf werfen auf r
|
||||
[FAIL] rate=0/3 expected=True: /plan-review
|
||||
[PASS] rate=0/3 expected=False: schreib mir einen implementierungsplan für das login-feature
|
||||
[PASS] rate=0/3 expected=False: was ist der aktuelle status des projekts?
|
||||
[PASS] rate=0/3 expected=False: kannst du die PR-beschreibung reviewen?
|
||||
[PASS] rate=0/3 expected=False: reviewe die PR #23
|
||||
|
||||
Improving description...
|
||||
Traceback (most recent call last):
|
||||
File "<frozen runpy>", line 198, in _run_module_as_main
|
||||
File "<frozen runpy>", line 88, in _run_code
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 332, in <module>
|
||||
main()
|
||||
~~~~^^
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 297, in main
|
||||
output = run_loop(
|
||||
eval_set=eval_set,
|
||||
...<11 lines>...
|
||||
log_dir=log_dir,
|
||||
)
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 202, in run_loop
|
||||
new_description = improve_description(
|
||||
client=client,
|
||||
...<7 lines>...
|
||||
iteration=iteration,
|
||||
)
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/improve_description.py", line 114, in improve_description
|
||||
response = client.messages.create(
|
||||
model=model,
|
||||
...<5 lines>...
|
||||
messages=[{"role": "user", "content": prompt}],
|
||||
)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_utils/_utils.py", line 283, in wrapper
|
||||
return func(*args, **kwargs)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/resources/messages/messages.py", line 1000, in create
|
||||
return self._post(
|
||||
~~~~~~~~~~^
|
||||
"/v1/messages",
|
||||
^^^^^^^^^^^^^^^
|
||||
...<30 lines>...
|
||||
stream_cls=Stream[RawMessageStreamEvent],
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
)
|
||||
^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 1368, in post
|
||||
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
|
||||
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 1062, in request
|
||||
request = self._build_request(options, retries_taken=retries_taken)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 521, in _build_request
|
||||
headers = self._build_headers(options, retries_taken=retries_taken)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 451, in _build_headers
|
||||
self._validate_headers(headers_dict, custom_headers)
|
||||
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_client.py", line 196, in _validate_headers
|
||||
raise TypeError(
|
||||
'"Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"'
|
||||
)
|
||||
TypeError: "Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"
|
||||
@@ -0,0 +1,86 @@
|
||||
[
|
||||
{
|
||||
"query": "feature ist fertig, bitte committen, pushen und mergen",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "alles fertig, bitte den branch jetzt mergen und aufräumen",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "ich bin zufrieden mit den änderungen, bitte jetzt shippen",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "kannst du die änderungen committen, einen PR erstellen und gleich mergen?",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "die story ist abgeschlossen, branch in main mergen bitte",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "wir sind durch, bitte alles aufräumen und in main bringen",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "/ship bitte",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "ok ich hab noch fix/login-redirect offen auf dem branch, der ist fertig — kannst du commiten, PR anlegen, mergen und den branch löschen?",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "erstelle nur einen PR, ich will selbst reviewen bevor ich merge",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "bitte nur committen, noch nicht pushen",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "kannst du die änderungen pushen?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "tests laufen lassen und PR erstellen",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "ich will den branch noch offen halten für weitere änderungen",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "merge bitte nur wenn die CI grün ist — ich check das nochmal selbst",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "was müssen wir noch machen bevor wir mergen können?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "kannst du den alten branch feat/old-feature löschen?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "bitte nur git push, kein PR",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "die PR-beschreibung stimmt nicht, kannst du sie anpassen?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "führe den plan-review durch bevor wir weitermachen",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "workflow review bitte",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "/ship",
|
||||
"should_trigger": true
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,22 @@
|
||||
[
|
||||
{"query": "feature ist fertig, bitte committen, pushen und mergen", "should_trigger": true},
|
||||
{"query": "alles fertig, bitte den branch jetzt mergen und aufräumen", "should_trigger": true},
|
||||
{"query": "ich bin zufrieden mit den änderungen, bitte jetzt shippen", "should_trigger": true},
|
||||
{"query": "kannst du die änderungen committen, einen PR erstellen und gleich mergen?", "should_trigger": true},
|
||||
{"query": "die story ist abgeschlossen, branch in main mergen bitte", "should_trigger": true},
|
||||
{"query": "wir sind durch, bitte alles aufräumen und in main bringen", "should_trigger": true},
|
||||
{"query": "/ship bitte", "should_trigger": true},
|
||||
{"query": "ok ich hab noch fix/login-redirect offen auf dem branch, der ist fertig — kannst du commiten, PR anlegen, mergen und den branch löschen?", "should_trigger": true},
|
||||
{"query": "erstelle nur einen PR, ich will selbst reviewen bevor ich merge", "should_trigger": false},
|
||||
{"query": "bitte nur committen, noch nicht pushen", "should_trigger": false},
|
||||
{"query": "kannst du die änderungen pushen?", "should_trigger": false},
|
||||
{"query": "tests laufen lassen und PR erstellen", "should_trigger": false},
|
||||
{"query": "ich will den branch noch offen halten für weitere änderungen", "should_trigger": false},
|
||||
{"query": "merge bitte nur wenn die CI grün ist — ich check das nochmal selbst", "should_trigger": false},
|
||||
{"query": "was müssen wir noch machen bevor wir mergen können?", "should_trigger": false},
|
||||
{"query": "kannst du den alten branch feat/old-feature löschen?", "should_trigger": false},
|
||||
{"query": "bitte nur git push, kein PR", "should_trigger": false},
|
||||
{"query": "die PR-beschreibung stimmt nicht, kannst du sie anpassen?", "should_trigger": false},
|
||||
{"query": "führe den plan-review durch bevor wir weitermachen", "should_trigger": false},
|
||||
{"query": "workflow review bitte", "should_trigger": false}
|
||||
]
|
||||
@@ -0,0 +1,82 @@
|
||||
Split: 14 train, 7 test (holdout=0.4)
|
||||
|
||||
============================================================
|
||||
Iteration 1/5
|
||||
Description: Finales Commit → Push → PR erstellen → Mergen → Aufräumen. Explizit vom User aufzurufen wenn ein Feature abgeschlossen ist.
|
||||
============================================================
|
||||
Train: 24/42 correct, precision=100% recall=0% accuracy=57% (51.1s)
|
||||
[FAIL] rate=0/3 expected=True: die story ist abgeschlossen, branch in main mergen bitte
|
||||
[FAIL] rate=0/3 expected=True: ich bin zufrieden mit den änderungen, bitte jetzt shippen
|
||||
[FAIL] rate=0/3 expected=True: wir sind durch, bitte alles aufräumen und in main bringen
|
||||
[FAIL] rate=0/3 expected=True: /ship
|
||||
[FAIL] rate=0/3 expected=True: feature ist fertig, bitte committen, pushen und mergen
|
||||
[FAIL] rate=0/3 expected=True: alles fertig, bitte den branch jetzt mergen und aufräumen
|
||||
[PASS] rate=0/3 expected=False: die PR-beschreibung stimmt nicht, kannst du sie anpassen?
|
||||
[PASS] rate=0/3 expected=False: workflow review bitte
|
||||
[PASS] rate=0/3 expected=False: erstelle nur einen PR, ich will selbst reviewen bevor ich me
|
||||
[PASS] rate=0/3 expected=False: kannst du den alten branch feat/old-feature löschen?
|
||||
[PASS] rate=0/3 expected=False: was müssen wir noch machen bevor wir mergen können?
|
||||
[PASS] rate=0/3 expected=False: bitte nur committen, noch nicht pushen
|
||||
[PASS] rate=0/3 expected=False: bitte nur git push, kein PR
|
||||
[PASS] rate=0/3 expected=False: führe den plan-review durch bevor wir weitermachen
|
||||
Test : 12/21 correct, precision=100% recall=0% accuracy=57% (0.0s)
|
||||
[FAIL] rate=0/3 expected=True: kannst du die änderungen committen, einen PR erstellen und g
|
||||
[FAIL] rate=0/3 expected=True: /ship bitte
|
||||
[FAIL] rate=0/3 expected=True: ok ich hab noch fix/login-redirect offen auf dem branch, der
|
||||
[PASS] rate=0/3 expected=False: tests laufen lassen und PR erstellen
|
||||
[PASS] rate=0/3 expected=False: merge bitte nur wenn die CI grün ist — ich check das nochmal
|
||||
[PASS] rate=0/3 expected=False: kannst du die änderungen pushen?
|
||||
[PASS] rate=0/3 expected=False: ich will den branch noch offen halten für weitere änderungen
|
||||
|
||||
Improving description...
|
||||
Traceback (most recent call last):
|
||||
File "<frozen runpy>", line 198, in _run_module_as_main
|
||||
File "<frozen runpy>", line 88, in _run_code
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 332, in <module>
|
||||
main()
|
||||
~~~~^^
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 297, in main
|
||||
output = run_loop(
|
||||
eval_set=eval_set,
|
||||
...<11 lines>...
|
||||
log_dir=log_dir,
|
||||
)
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 202, in run_loop
|
||||
new_description = improve_description(
|
||||
client=client,
|
||||
...<7 lines>...
|
||||
iteration=iteration,
|
||||
)
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/improve_description.py", line 114, in improve_description
|
||||
response = client.messages.create(
|
||||
model=model,
|
||||
...<5 lines>...
|
||||
messages=[{"role": "user", "content": prompt}],
|
||||
)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_utils/_utils.py", line 283, in wrapper
|
||||
return func(*args, **kwargs)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/resources/messages/messages.py", line 1000, in create
|
||||
return self._post(
|
||||
~~~~~~~~~~^
|
||||
"/v1/messages",
|
||||
^^^^^^^^^^^^^^^
|
||||
...<30 lines>...
|
||||
stream_cls=Stream[RawMessageStreamEvent],
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
)
|
||||
^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 1368, in post
|
||||
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
|
||||
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 1062, in request
|
||||
request = self._build_request(options, retries_taken=retries_taken)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 521, in _build_request
|
||||
headers = self._build_headers(options, retries_taken=retries_taken)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 451, in _build_headers
|
||||
self._validate_headers(headers_dict, custom_headers)
|
||||
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_client.py", line 196, in _validate_headers
|
||||
raise TypeError(
|
||||
'"Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"'
|
||||
)
|
||||
TypeError: "Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"
|
||||
@@ -0,0 +1,86 @@
|
||||
[
|
||||
{
|
||||
"query": "wir brauchen ein neues feature: user-registrierung mit email-verifizierung",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "neue story: passwort-reset-flow implementieren",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "ich möchte einen export-button für die auftragstabelle hinzufügen, bitte vollständig implementieren",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "kannst du das neue api-endpoint für monatsstatistiken implementieren? spec ist im ticket #42",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "wir brauchen multi-tenant-support, fang am besten mit einer vollständigen analyse an",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "neues feature: dark mode in die vue-app einbauen, von research bis PR",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "implementiere bitte das dashboard für die auftragsverwaltung, start to finish",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "ich hab hier ein neues ticket: CSV-import für kundendaten. kannst du das vollständig umsetzen?",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "kannst du den bug in der login-funktion in auth_service.py:87 fixen?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "refactore bitte die service-schicht, zu viel code-duplikation",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "erkläre mir wie der auth-flow funktioniert",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "führe den plan-review für den aktuellen plan durch",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "mach einen PR für die aktuellen änderungen",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "wie sollte ich das feature architektonisch aufbauen? nur erklären, nicht implementieren",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "optimiere die sql-query in user_repository.py:134, sie ist zu langsam",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "füge einen test für UserService.create_user hinzu",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "kannst du die abhängigkeiten in requirements.txt updaten?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "ship it bitte",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "bitte nur recherchieren und einen plan erstellen, noch nicht implementieren",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "workflow review bitte, ich will die skills auf best practices prüfen",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "/story",
|
||||
"should_trigger": true
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,22 @@
|
||||
[
|
||||
{"query": "wir brauchen ein neues feature: user-registrierung mit email-verifizierung", "should_trigger": true},
|
||||
{"query": "neue story: passwort-reset-flow implementieren", "should_trigger": true},
|
||||
{"query": "ich möchte einen export-button für die auftragstabelle hinzufügen, bitte vollständig implementieren", "should_trigger": true},
|
||||
{"query": "kannst du das neue api-endpoint für monatsstatistiken implementieren? spec ist im ticket #42", "should_trigger": true},
|
||||
{"query": "wir brauchen multi-tenant-support, fang am besten mit einer vollständigen analyse an", "should_trigger": true},
|
||||
{"query": "neues feature: dark mode in die vue-app einbauen, von research bis PR", "should_trigger": true},
|
||||
{"query": "implementiere bitte das dashboard für die auftragsverwaltung, start to finish", "should_trigger": true},
|
||||
{"query": "ich hab hier ein neues ticket: CSV-import für kundendaten. kannst du das vollständig umsetzen?", "should_trigger": true},
|
||||
{"query": "kannst du den bug in der login-funktion in auth_service.py:87 fixen?", "should_trigger": false},
|
||||
{"query": "refactore bitte die service-schicht, zu viel code-duplikation", "should_trigger": false},
|
||||
{"query": "erkläre mir wie der auth-flow funktioniert", "should_trigger": false},
|
||||
{"query": "führe den plan-review für den aktuellen plan durch", "should_trigger": false},
|
||||
{"query": "mach einen PR für die aktuellen änderungen", "should_trigger": false},
|
||||
{"query": "wie sollte ich das feature architektonisch aufbauen? nur erklären, nicht implementieren", "should_trigger": false},
|
||||
{"query": "optimiere die sql-query in user_repository.py:134, sie ist zu langsam", "should_trigger": false},
|
||||
{"query": "füge einen test für UserService.create_user hinzu", "should_trigger": false},
|
||||
{"query": "kannst du die abhängigkeiten in requirements.txt updaten?", "should_trigger": false},
|
||||
{"query": "ship it bitte", "should_trigger": false},
|
||||
{"query": "bitte nur recherchieren und einen plan erstellen, noch nicht implementieren", "should_trigger": false},
|
||||
{"query": "workflow review bitte, ich will die skills auf best practices prüfen", "should_trigger": false}
|
||||
]
|
||||
@@ -0,0 +1,82 @@
|
||||
Split: 14 train, 7 test (holdout=0.4)
|
||||
|
||||
============================================================
|
||||
Iteration 1/5
|
||||
Description: Orchestriert den vollständigen Story-Lifecycle von Planung bis PR. Aktivieren wenn eine neue User Story oder ein neues Feature implementiert werden soll.
|
||||
============================================================
|
||||
Train: 24/42 correct, precision=100% recall=0% accuracy=57% (50.9s)
|
||||
[FAIL] rate=0/3 expected=True: ich möchte einen export-button für die auftragstabelle hinzu
|
||||
[FAIL] rate=0/3 expected=True: /story
|
||||
[FAIL] rate=0/3 expected=True: neues feature: dark mode in die vue-app einbauen, von resear
|
||||
[FAIL] rate=0/3 expected=True: wir brauchen multi-tenant-support, fang am besten mit einer
|
||||
[FAIL] rate=0/3 expected=True: neue story: passwort-reset-flow implementieren
|
||||
[FAIL] rate=0/3 expected=True: wir brauchen ein neues feature: user-registrierung mit email
|
||||
[PASS] rate=0/3 expected=False: ship it bitte
|
||||
[PASS] rate=0/3 expected=False: workflow review bitte, ich will die skills auf best practice
|
||||
[PASS] rate=0/3 expected=False: füge einen test für UserService.create_user hinzu
|
||||
[PASS] rate=0/3 expected=False: kannst du den bug in der login-funktion in auth_service.py:8
|
||||
[PASS] rate=0/3 expected=False: optimiere die sql-query in user_repository.py:134, sie ist z
|
||||
[PASS] rate=0/3 expected=False: refactore bitte die service-schicht, zu viel code-duplikatio
|
||||
[PASS] rate=0/3 expected=False: kannst du die abhängigkeiten in requirements.txt updaten?
|
||||
[PASS] rate=0/3 expected=False: bitte nur recherchieren und einen plan erstellen, noch nicht
|
||||
Test : 12/21 correct, precision=100% recall=0% accuracy=57% (0.0s)
|
||||
[FAIL] rate=0/3 expected=True: kannst du das neue api-endpoint für monatsstatistiken implem
|
||||
[FAIL] rate=0/3 expected=True: implementiere bitte das dashboard für die auftragsverwaltung
|
||||
[FAIL] rate=0/3 expected=True: ich hab hier ein neues ticket: CSV-import für kundendaten. k
|
||||
[PASS] rate=0/3 expected=False: führe den plan-review für den aktuellen plan durch
|
||||
[PASS] rate=0/3 expected=False: wie sollte ich das feature architektonisch aufbauen? nur erk
|
||||
[PASS] rate=0/3 expected=False: erkläre mir wie der auth-flow funktioniert
|
||||
[PASS] rate=0/3 expected=False: mach einen PR für die aktuellen änderungen
|
||||
|
||||
Improving description...
|
||||
Traceback (most recent call last):
|
||||
File "<frozen runpy>", line 198, in _run_module_as_main
|
||||
File "<frozen runpy>", line 88, in _run_code
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 332, in <module>
|
||||
main()
|
||||
~~~~^^
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 297, in main
|
||||
output = run_loop(
|
||||
eval_set=eval_set,
|
||||
...<11 lines>...
|
||||
log_dir=log_dir,
|
||||
)
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 202, in run_loop
|
||||
new_description = improve_description(
|
||||
client=client,
|
||||
...<7 lines>...
|
||||
iteration=iteration,
|
||||
)
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/improve_description.py", line 114, in improve_description
|
||||
response = client.messages.create(
|
||||
model=model,
|
||||
...<5 lines>...
|
||||
messages=[{"role": "user", "content": prompt}],
|
||||
)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_utils/_utils.py", line 283, in wrapper
|
||||
return func(*args, **kwargs)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/resources/messages/messages.py", line 1000, in create
|
||||
return self._post(
|
||||
~~~~~~~~~~^
|
||||
"/v1/messages",
|
||||
^^^^^^^^^^^^^^^
|
||||
...<30 lines>...
|
||||
stream_cls=Stream[RawMessageStreamEvent],
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
)
|
||||
^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 1368, in post
|
||||
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
|
||||
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 1062, in request
|
||||
request = self._build_request(options, retries_taken=retries_taken)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 521, in _build_request
|
||||
headers = self._build_headers(options, retries_taken=retries_taken)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 451, in _build_headers
|
||||
self._validate_headers(headers_dict, custom_headers)
|
||||
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_client.py", line 196, in _validate_headers
|
||||
raise TypeError(
|
||||
'"Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"'
|
||||
)
|
||||
TypeError: "Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"
|
||||
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"query": "reviewe den aktuellen workflow und sag mir was verbessert werden kann",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "sind die skills noch up to date?",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "bitte prüfe alle skills und agenten auf konsistenz",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "ich möchte wissen ob meine claude-konfiguration best practices folgt",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "gibt es widersprüche zwischen den skills in diesem repo?",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "schau mal über die workflow-konfiguration, besonders den /ship-skill stimmt was nicht",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "workflow review bitte",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "vergleiche unsere skills mit der externen best-practice-referenz und zeig mir abweichungen",
|
||||
"should_trigger": true
|
||||
},
|
||||
{
|
||||
"query": "reviewe meinen code in orders_service.py auf qualität",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "bitte den offenen PR #15 reviewen",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "wie funktioniert der story-lifecycle?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "erstelle einen neuen skill für automatisches changelog-schreiben",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "prüfe meinen implementierungsplan",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "was bedeutet das feld context: fork in einem skill?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "bitte den security-audit für die neuen endpoints durchführen",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "wie wird der test-runner agent gestartet?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "kannst du das CLAUDE.md reviewen und verbessern?",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "check mal ob settings.json korrekt ist",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "zeig mir alle hooks die aktuell konfiguriert sind",
|
||||
"should_trigger": false
|
||||
},
|
||||
{
|
||||
"query": "was sind die unterschiede zwischen /go und /ship?",
|
||||
"should_trigger": false
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,22 @@
|
||||
[
|
||||
{"query": "reviewe den aktuellen workflow und sag mir was verbessert werden kann", "should_trigger": true},
|
||||
{"query": "sind die skills noch up to date?", "should_trigger": true},
|
||||
{"query": "bitte prüfe alle skills und agenten auf konsistenz", "should_trigger": true},
|
||||
{"query": "ich möchte wissen ob meine claude-konfiguration best practices folgt", "should_trigger": true},
|
||||
{"query": "gibt es widersprüche zwischen den skills in diesem repo?", "should_trigger": true},
|
||||
{"query": "schau mal über die workflow-konfiguration, besonders den /ship-skill stimmt was nicht", "should_trigger": true},
|
||||
{"query": "workflow review bitte", "should_trigger": true},
|
||||
{"query": "vergleiche unsere skills mit der externen best-practice-referenz und zeig mir abweichungen", "should_trigger": true},
|
||||
{"query": "reviewe meinen code in orders_service.py auf qualität", "should_trigger": false},
|
||||
{"query": "bitte den offenen PR #15 reviewen", "should_trigger": false},
|
||||
{"query": "wie funktioniert der story-lifecycle?", "should_trigger": false},
|
||||
{"query": "erstelle einen neuen skill für automatisches changelog-schreiben", "should_trigger": false},
|
||||
{"query": "prüfe meinen implementierungsplan", "should_trigger": false},
|
||||
{"query": "was bedeutet das feld context: fork in einem skill?", "should_trigger": false},
|
||||
{"query": "bitte den security-audit für die neuen endpoints durchführen", "should_trigger": false},
|
||||
{"query": "wie wird der test-runner agent gestartet?", "should_trigger": false},
|
||||
{"query": "kannst du das CLAUDE.md reviewen und verbessern?", "should_trigger": false},
|
||||
{"query": "check mal ob settings.json korrekt ist", "should_trigger": false},
|
||||
{"query": "zeig mir alle hooks die aktuell konfiguriert sind", "should_trigger": false},
|
||||
{"query": "was sind die unterschiede zwischen /go und /ship?", "should_trigger": false}
|
||||
]
|
||||
@@ -0,0 +1,81 @@
|
||||
Split: 13 train, 7 test (holdout=0.4)
|
||||
|
||||
============================================================
|
||||
Iteration 1/5
|
||||
Description: Reviewt Skills, Agenten und Konfigurationsdateien dieses Repos auf Vollständigkeit, Konsistenz und Best Practices. Erstellt einen umsetzbaren Plan für Verbesserungen.
|
||||
============================================================
|
||||
Train: 24/39 correct, precision=100% recall=0% accuracy=62% (48.5s)
|
||||
[FAIL] rate=0/3 expected=True: bitte prüfe alle skills und agenten auf konsistenz
|
||||
[FAIL] rate=0/3 expected=True: schau mal über die workflow-konfiguration, besonders den /sh
|
||||
[FAIL] rate=0/3 expected=True: reviewe den aktuellen workflow und sag mir was verbessert we
|
||||
[FAIL] rate=0/3 expected=True: vergleiche unsere skills mit der externen best-practice-refe
|
||||
[FAIL] rate=0/3 expected=True: sind die skills noch up to date?
|
||||
[PASS] rate=0/3 expected=False: was bedeutet das feld context: fork in einem skill?
|
||||
[PASS] rate=0/3 expected=False: wie wird der test-runner agent gestartet?
|
||||
[PASS] rate=0/3 expected=False: reviewe meinen code in orders_service.py auf qualität
|
||||
[PASS] rate=0/3 expected=False: bitte den security-audit für die neuen endpoints durchführen
|
||||
[PASS] rate=0/3 expected=False: zeig mir alle hooks die aktuell konfiguriert sind
|
||||
[PASS] rate=0/3 expected=False: kannst du das CLAUDE.md reviewen und verbessern?
|
||||
[PASS] rate=0/3 expected=False: bitte den offenen PR #15 reviewen
|
||||
[PASS] rate=0/3 expected=False: was sind die unterschiede zwischen /go und /ship?
|
||||
Test : 12/21 correct, precision=100% recall=0% accuracy=57% (0.0s)
|
||||
[FAIL] rate=0/3 expected=True: ich möchte wissen ob meine claude-konfiguration best practic
|
||||
[FAIL] rate=0/3 expected=True: gibt es widersprüche zwischen den skills in diesem repo?
|
||||
[FAIL] rate=0/3 expected=True: workflow review bitte
|
||||
[PASS] rate=0/3 expected=False: erstelle einen neuen skill für automatisches changelog-schre
|
||||
[PASS] rate=0/3 expected=False: wie funktioniert der story-lifecycle?
|
||||
[PASS] rate=0/3 expected=False: prüfe meinen implementierungsplan
|
||||
[PASS] rate=0/3 expected=False: check mal ob settings.json korrekt ist
|
||||
|
||||
Improving description...
|
||||
Traceback (most recent call last):
|
||||
File "<frozen runpy>", line 198, in _run_module_as_main
|
||||
File "<frozen runpy>", line 88, in _run_code
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 332, in <module>
|
||||
main()
|
||||
~~~~^^
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 297, in main
|
||||
output = run_loop(
|
||||
eval_set=eval_set,
|
||||
...<11 lines>...
|
||||
log_dir=log_dir,
|
||||
)
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/run_loop.py", line 202, in run_loop
|
||||
new_description = improve_description(
|
||||
client=client,
|
||||
...<7 lines>...
|
||||
iteration=iteration,
|
||||
)
|
||||
File "/home/martin/.claude/plugins/cache/claude-plugins-official/skill-creator/unknown/skills/skill-creator/scripts/improve_description.py", line 114, in improve_description
|
||||
response = client.messages.create(
|
||||
model=model,
|
||||
...<5 lines>...
|
||||
messages=[{"role": "user", "content": prompt}],
|
||||
)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_utils/_utils.py", line 283, in wrapper
|
||||
return func(*args, **kwargs)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/resources/messages/messages.py", line 1000, in create
|
||||
return self._post(
|
||||
~~~~~~~~~~^
|
||||
"/v1/messages",
|
||||
^^^^^^^^^^^^^^^
|
||||
...<30 lines>...
|
||||
stream_cls=Stream[RawMessageStreamEvent],
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
)
|
||||
^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 1368, in post
|
||||
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
|
||||
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 1062, in request
|
||||
request = self._build_request(options, retries_taken=retries_taken)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 521, in _build_request
|
||||
headers = self._build_headers(options, retries_taken=retries_taken)
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_base_client.py", line 451, in _build_headers
|
||||
self._validate_headers(headers_dict, custom_headers)
|
||||
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/home/martin/.local/lib/python3.13/site-packages/anthropic/_client.py", line 196, in _validate_headers
|
||||
raise TypeError(
|
||||
'"Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"'
|
||||
)
|
||||
TypeError: "Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted"
|
||||
Reference in New Issue
Block a user