tddworks / improvement
Install for your project team
Run this command in your project directory to install the skill for your entire team:
mkdir -p .claude/skills/improvement && curl -L -o skill.zip "https://fastmcp.me/Skills/Download/3155" && unzip -o skill.zip -d .claude/skills/improvement && rm skill.zip
Project Skills
This skill will be saved in .claude/skills/improvement/ and checked into git. All team members will have access to it automatically.
Important: Please verify the skill by reviewing its instructions before using it.
Guide for making improvements to existing ClaudeBar functionality using TDD. Use this skill when: (1) Enhancing existing features (not adding new ones) (2) Improving UX, performance, or code quality (3) User asks "improve X", "make Y better", or "enhance Z" (4) Small enhancements that don't require full architecture design For NEW features, use implement-feature skill instead.
Skill Content
---
name: improvement
description: |
Guide for making improvements to existing ClaudeBar functionality using TDD. Use this skill when:
(1) Enhancing existing features (not adding new ones)
(2) Improving UX, performance, or code quality
(3) User asks "improve X", "make Y better", or "enhance Z"
(4) Small enhancements that don't require full architecture design
For NEW features, use implement-feature skill instead.
---
# Improve ClaudeBar Feature
Make improvements to existing functionality using TDD and rich domain design.
## When to Use This vs Other Skills
| Scenario | Skill to Use |
|----------|--------------|
| Enhance existing behavior | **improvement** (this skill) |
| Fix broken behavior | fix-bug |
| Add new feature | implement-feature |
| Add new AI provider | add-provider |
## Workflow
```
┌─────────────────────────────────────────────────────────────┐
│ 1. UNDERSTAND CURRENT STATE │
├─────────────────────────────────────────────────────────────┤
│ • Read existing code │
│ • Understand current behavior │
│ • Identify what to improve │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 2. WRITE TEST FOR IMPROVED BEHAVIOR (Red) │
├─────────────────────────────────────────────────────────────┤
│ • Test describes the IMPROVED behavior │
│ • Test should FAIL initially │
│ • Keep existing tests passing │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 3. IMPLEMENT & VERIFY (Green) │
├─────────────────────────────────────────────────────────────┤
│ • Implement the improvement │
│ • New test PASSES │
│ • All existing tests still pass │
└─────────────────────────────────────────────────────────────┘
```
## Types of Improvements
### 1. UX Improvements
Enhance user experience without changing core logic:
```
Examples:
- Settings view scrolls on small screens
- Better loading indicators
- Improved accessibility
- Cleaner visual layout
```
**Test approach**: UI behavior tests or manual verification
### 2. Domain Improvements
Enhance domain model behavior:
```
Examples:
- Add computed property for common queries
- Improve status calculation
- Add convenience methods
- Better encapsulation
```
**Test approach**: State-based domain tests
```swift
@Test func `model provides convenient access to lowest quota`() {
// Given
let snapshot = UsageSnapshot(quotas: [quota1, quota2, quota3])
// Then - new convenience property
#expect(snapshot.lowestQuota == quota2)
}
```
### 3. Infrastructure Improvements
Enhance probes, storage, or adapters:
```
Examples:
- Better error messages
- More robust parsing
- Improved timeout handling
- Caching support
```
**Test approach**: Behavior tests with mocked dependencies
### 4. Performance Improvements
Optimize existing functionality:
```
Examples:
- Reduce redundant API calls
- Lazy loading
- Parallel execution
- Caching
```
**Test approach**: Behavior tests (same results, better performance)
## TDD Pattern (Chicago School)
### Write Test for Improved Behavior
```swift
@Suite
struct {Component}Tests {
@Test func `{describes improved behavior}`() {
// Given - standard setup
let component = Component(...)
// When - action
let result = component.improvedMethod()
// Then - verify improved behavior
#expect(result.hasImprovedProperty)
}
}
```
### Keep Existing Tests
Improvements should NOT break existing behavior:
```bash
# Run all tests to ensure no regressions
swift test
```
## Architecture Reference
> **Full documentation:** [docs/ARCHITECTURE.md](../../../docs/ARCHITECTURE.md)
| Layer | Location | Improvement Examples |
|-------|----------|---------------------|
| **Domain** | `Sources/Domain/` | New computed properties, convenience methods |
| **Infrastructure** | `Sources/Infrastructure/` | Better parsing, error handling |
| **App** | `Sources/App/` | UI enhancements, accessibility |
## Guidelines
### Do
- Keep changes focused and minimal
- Maintain existing behavior
- Add tests for new behavior
- Follow existing code patterns
- Update CHANGELOG
### Don't
- Over-engineer simple improvements
- Change unrelated code
- Break existing tests
- Add features (use implement-feature)
- Skip tests for "small" changes
## Checklist
- [ ] Current behavior understood
- [ ] Improvement scope defined (minimal)
- [ ] Test for improved behavior written
- [ ] Test FAILS before implementation
- [ ] Improvement implemented
- [ ] New test PASSES
- [ ] All existing tests still pass (`swift test`)
- [ ] CHANGELOG updated with improvement