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": "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"
|
||||
Reference in New Issue
Block a user