com um clique
fix-bug
Fix a bug from a GitHub Issue using the Red-Green test approach
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Fix a bug from a GitHub Issue using the Red-Green test approach
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Check which feature plans are fully implemented and archive completed ones
Implement the next feature from the roadmap or a specific feature by name
Plan a new feature, add it to the roadmap, and create a specification document
Report a bug as a GitHub Issue with description, reproduction steps, and initial analysis
Create E2E tests with screenshots and build step-by-step documentation for the public website
Build and start ReadyStackGo container for manual testing
Baseado na classificação ocupacional SOC
| name | fix-bug |
| description | Fix a bug from a GitHub Issue using the Red-Green test approach |
| disable-model-invocation | false |
| argument-hint | <issue number e.g. #123> |
Fixe einen bestehenden Bug aus einem GitHub Issue.
Issue: $ARGUMENTS
Dieser Skill nutzt den Red-Green-Ansatz: Erst einen Test schreiben der den Bug reproduziert (Red), dann fixen bis der Test grün ist (Green).
$ARGUMENTS eine Issue-Nummer enthält (z.B. #114 oder 114): Issue lesen.
gh issue view <nummer> --json title,body,labels
gh issue list --state open --label bug --json number,title
SOFORT setzen, BEVOR irgendetwas anderes passiert.
PROJECT="PVT_kwHOAKdwzc4BR2Bg"
STATUS_FIELD="PVTSSF_lAHOAKdwzc4BR2Bgzg_jRfE"
IN_PROGRESS_ID="9e4cff0c"
ITEM_ID=$(gh project item-list 6 --owner Wiesenwischer --format json --limit 200 --jq ".items[] | select(.content.number == <ISSUE_NUMBER>) | .id")
gh project item-edit --project-id $PROJECT --id "$ITEM_ID" --field-id $STATUS_FIELD --single-select-option-id $IN_PROGRESS_ID
docker compose logs readystackgo --tail 50 | grep -i errorgh issue comment <nummer> --body "Root cause: ..."
git checkout main && git pull
git checkout -b bugfix/<bug-name>
BEVOR der Fix implementiert wird, einen Test schreiben der den Bug reproduziert.
tests/ReadyStackGo.UnitTests/src/ReadyStackGo.WebUi/e2e/Test ausführen — er MUSS FEHLSCHLAGEN (beweist: Bug existiert):
dotnet test tests/ReadyStackGo.UnitTests/ --filter "<test-name>"
Wenn der Test bereits besteht, ist der Bug nicht korrekt reproduziert — Test anpassen.
Commit (fehlschlagender Test):
git add tests/
git commit -m "test: reproduce bug #<nummer> — <kurzbeschreibung>"
Jetzt den Bug fixen — minimal und fokussiert.
git add <betroffene-dateien>
git commit -m "fix: <was wurde gefixt>"
Gleichen Test nochmal laufen lassen:
dotnet test tests/ReadyStackGo.UnitTests/ --filter "<test-name>"
Der Test MUSS jetzt bestehen. Falls nicht: Fix ist unvollständig -> zurück zu Schritt 6.
Alle Tests laufen lassen um Regressionen auszuschließen:
dotnet test tests/ReadyStackGo.UnitTests/
dotnet build
Keine Fehler, keine Warnungen (siehe CLAUDE.md).
git push -u origin bugfix/<bug-name>
gh pr create \
--base main \
--title "fix: <Bug-Titel>" \
--body "$(cat <<'EOF'
## Bug
<Kurzbeschreibung>
## Root Cause
<Was war die Ursache?>
## Fix
<Was wurde geändert?>
## Verification
- [x] Test reproduziert Bug (Red)
- [x] Fix implementiert
- [x] Test bestätigt Fix (Green)
- [x] Build passes (0 errors, 0 warnings)
Fixes #NNN
EOF
)"
Nach dem Merge wird das Issue automatisch geschlossen durch Fixes #NNN.
Nach PR-Erstellung das Issue auf Review setzen — NICHT auf Done. Der User reviewed und testet den Fix. Erst nach seiner Bestätigung wird auf Done gesetzt.
PROJECT="PVT_kwHOAKdwzc4BR2Bg"
STATUS_FIELD="PVTSSF_lAHOAKdwzc4BR2Bgzg_jRfE"
REVIEW_ID="f25a5d7c"
ITEM_ID=$(gh project item-list 6 --owner Wiesenwischer --format json --limit 200 --jq ".items[] | select(.content.number == <ISSUE_NUMBER>) | .id")
gh project item-edit --project-id $PROJECT --id "$ITEM_ID" --field-id $STATUS_FIELD --single-select-option-id $REVIEW_ID
WICHTIG: Setze Bug-Issues NIEMALS selbst auf "Done". Done wird nur gesetzt wenn der User den Fix bestätigt hat.
| Status | ID |
|---|---|
| Backlog | 56c4cbb9 |
| Todo | af3283ef |
| In Progress | 9e4cff0c |
| Review | f25a5d7c |
| Done | c631b3e2 |
Fixes #NNN