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:
2026-04-19 15:44:52 +02:00
co-authored by Claude Sonnet 4.6
parent 6f9079fa5f
commit 2fbb59852e
26 changed files with 1035 additions and 54 deletions
+86
View File
@@ -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
}
]
+22
View File
@@ -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}
]
+82
View File
@@ -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"