- Add date_added to all 950+ skills for complete tracking - Update version to 6.5.0 in package.json and README - Regenerate all indexes and catalog - Sync all generated files Features from merged PR #150: - Stars/Upvotes system for community-driven discovery - Auto-update mechanism via START_APP.bat - Interactive Prompt Builder - Date tracking badges - Smart auto-categorization All skills validated and indexed. Made-with: Cursor
77 lines
1.9 KiB
Markdown
77 lines
1.9 KiB
Markdown
---
|
|
name: tdd-workflows-tdd-green
|
|
description: "Implement the minimal code needed to make failing tests pass in the TDD green phase."
|
|
risk: unknown
|
|
source: community
|
|
date_added: "2026-02-27"
|
|
---
|
|
|
|
# Green Phase: Simple function
|
|
def product_list(request):
|
|
products = Product.objects.all()
|
|
return JsonResponse({'products': list(products.values())})
|
|
|
|
# Refactor: Class-based view
|
|
class ProductListView(View):
|
|
def get(self, request):
|
|
products = Product.objects.all()
|
|
return JsonResponse({'products': list(products.values())})
|
|
|
|
# Refactor: Generic view
|
|
class ProductListView(ListView):
|
|
model = Product
|
|
context_object_name = 'products'
|
|
```
|
|
|
|
### Express Patterns
|
|
|
|
**Inline → Middleware → Service Layer:**
|
|
```javascript
|
|
// Green Phase: Inline logic
|
|
app.post('/api/users', (req, res) => {
|
|
const user = { id: Date.now(), ...req.body };
|
|
users.push(user);
|
|
res.json(user);
|
|
});
|
|
|
|
// Refactor: Extract middleware
|
|
app.post('/api/users', validateUser, (req, res) => {
|
|
const user = userService.create(req.body);
|
|
res.json(user);
|
|
});
|
|
|
|
// Refactor: Full layering
|
|
app.post('/api/users',
|
|
validateUser,
|
|
asyncHandler(userController.create)
|
|
);
|
|
```
|
|
|
|
## Use this skill when
|
|
|
|
- Moving from red to green in a TDD cycle
|
|
- Implementing minimal behavior to satisfy tests
|
|
- You want to keep implementation intentionally simple
|
|
|
|
## Do not use this skill when
|
|
|
|
- You are refactoring for design or performance
|
|
- Tests are already passing and you need new requirements
|
|
- You need a full architectural redesign
|
|
|
|
## Instructions
|
|
|
|
1. Review failing tests and identify the smallest fix.
|
|
2. Implement the minimal change to pass the next test.
|
|
3. Run tests after each change to confirm progress.
|
|
4. Record shortcuts or debt for the refactor phase.
|
|
|
|
## Safety
|
|
|
|
- Avoid bypassing tests to make them pass.
|
|
- Keep changes scoped to the failing behavior only.
|
|
|
|
## Resources
|
|
|
|
- `resources/implementation-playbook.md` for detailed patterns and examples.
|