-
Notifications
You must be signed in to change notification settings - Fork 21
Case Study Tab Indicator Removal
rtd edited this page Jan 13, 2026
·
2 revisions
Type: REFACTOR Skills: code-foundations → cc-developer-character → cc-refactoring-guidance Focus: Discipline recovery and systematic feature removal
This example shows the discipline enforcement aspect of code-foundations:
- User intervention - Claude started editing before being asked to use the skill
- Honest self-assessment - cc-developer-character acknowledged the premature edit
- Systematic plan - cc-refactoring-guidance created a step-by-step removal plan
- Verification after each step - Build checks between each file change
Remove the TabIndicatorInset feature from the codebase. This feature touched:
- Config types and parsing
- Layout calculation logic
- Window move operations
- Tests
Claude started making edits before being asked to use the systematic approach.
User: "remove the tab indicator inset feature"
Claude: [starts editing types.go]
User: "please use the code-foundations skill to remove this"
→ code-foundations classifies as REFACTOR
→ cc-developer-character runs self-assessment
→ Acknowledges: "I already made one edit before being asked to use the skill"
→ cc-refactoring-guidance creates removal plan
The skill caught the discipline slip:
| Check | Assessment |
|---|---|
| Understanding vs hoping | ✓ Traced feature through git history and all files |
| Intellectual honesty | "This is a multi-file removal... needs systematic approach" |
| Discipline | "Will follow refactoring guidance - one change at a time" |
| Humility | "I already made one edit before being asked to use the skill" |
Key insight: The skill didn't hide the premature action - it acknowledged it and committed to proceeding properly.
cc-refactoring-guidance produced this systematic plan:
| Step | File | Change | Verify |
|---|---|---|---|
| 1 | config/types.go | Remove TabIndicatorInset field | ✅ Done |
| 2 | config/config.go | Remove GetTabIndicatorInset() | Build |
| 3 | layout/windows.go | Remove params + inset logic | Build |
| 4 | layout/apply.go | Update call sites | Build |
| 5 | window/move.go | Update call sites | Build |
| 6 | layout/windows_test.go | Remove related tests | Build + Test |
One change at a time, verify after each step.
After all changes and tests passed, CHECKER gates verified quality:
| Check | Result |
|---|---|
| Nesting depth | Max 2 levels (PASS) |
| Boolean expressions | No complex expressions |
| Switch statements | Simple stack modes |
| Loop structures | Clean |
| Check | Result |
|---|---|
| Parameter count | 9 parameters (was 11) - within acceptable range |
| Cohesion | Functional - each function does one thing |
| Abstractions | Clear |
grid-cli/internal/config/config.go | 13 --
grid-cli/internal/config/types.go | 1 -
grid-cli/internal/layout/apply.go | 31 +---
grid-cli/internal/layout/windows.go | 20 +--
grid-cli/internal/layout/windows_test.go | 6 +-
grid-cli/internal/window/move.go | 4 +-
| Without Skill | With Skill |
|---|---|
| Ad-hoc edits across files | Systematic step-by-step plan |
| No verification between changes | Build check after each step |
| Hidden premature action | Honest acknowledgment |
| Potential missed references | Complete file inventory |
- Skills can recover discipline - Starting wrong doesn't mean you can't correct course
- Honest self-assessment - cc-developer-character acknowledges mistakes, doesn't hide them
- Feature removal needs a plan - Multiple files means systematic approach
- Verification gates - Build after each step catches errors early
- Human-AI collaboration - User intervention triggered proper methodology
- Quantified improvement - Parameter count reduced from 11 → 9, verified by CHECKER
| Skill | Role |
|---|---|
| code-foundations | Classifies task as REFACTOR |
| cc-developer-character | Self-assessment catches discipline slip |
| cc-refactoring-guidance | Creates systematic removal plan |
| cc-control-flow-quality | CHECKER: Validates nesting, boolean complexity |
| cc-routine-and-class-design | CHECKER: Validates parameter counts, cohesion |
Task Guides
Case Studies
- Picker History Review ⭐
- Comment Renumbering
- Critical Path Review
- Border Cleanup
- Picker Text Overflow
- Tab Indicator Removal
- Picker Focus Bug
- Window Picker Plan
Reference