# improvement

Walks the agent through a TDD loop when you are enhancing something that already works. Useful for UX, performance and code-quality tweaks.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 1556
- Author: tddworks
- License: Apache-2.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/tddworks/ClaudeBar/tree/HEAD/.claude/skills/improvement/SKILL.md
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/skills/improvement

## What it does

The skill sets an order for improvement work: check the project docs first, read the current code, write a failing test for the new behavior, then change the implementation. It also draws a line — an improvement that only brings code in line with the docs needs no approval. If a rule, its owner or a word the user sees on screen changes, that counts as a design change: write it into the docs and get the user's confirmation before coding.

Four kinds of improvement are covered. For UX, the skill suggests a mockup in `design-concept/<feature>/` first, then the real UI on mock data via `scripts/demo-screenshots.sh`; real names, emails and usage never go into a mockup. For domain work, move the rule onto the type that owns it instead of adding a field to `UsageSnapshot`. For data sources, fix the provider definition or a generic worker in `DataSources`, never a vendor-named Swift type. For performance, verify the result stays the same while the work shrinks.

Tests follow Chicago School naming: `should <outcome> [when <situation>]`, in the person's words, with no method or mechanism verbs. Existing tests must keep passing. The skill is written for the ClaudeBar repository and points at its layout — `docs/architecture/`, `Modules/DataSources/Tests/`, `AGENTS.md`. New features, bug fixes and new providers have their own skills there.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add tddworks/ClaudeBar --skill improvement -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/improvement/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/improvement/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add tddworks/ClaudeBar --skill improvement -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/improvement/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add tddworks/ClaudeBar --skill improvement -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/improvement/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install tddworks/ClaudeBar improvement
```

2. **Manually: put the files in place**
- File: `.github/skills/improvement/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add tddworks/ClaudeBar --skill improvement -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/tddworks/ClaudeBar --path .claude/skills/improvement
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/improvement/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add tddworks/ClaudeBar --skill improvement -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/tddworks/ClaudeBar/tree/HEAD/.claude/skills/improvement/SKILL.md

## When to use it
- enhance an existing feature without breaking nearby behavior
- pin down new behavior in a test before touching the code
- move a calculation rule onto the type that owns it
- build a UI mockup on mock data instead of real records
- cut redundant API calls while keeping the same results

## Example prompts
- improve the settings view so it scrolls on small screens
- make the provider error message clearer
- move the quota status calculation onto the quota type

## Source text · SKILL.md · Apache-2.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: ea3019db99cc11c5.

BEGIN THIRD-PARTY FILE ea3019db99cc11c5
````text
---
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 |
| A new report card over usage history | add-report |

## Workflow

```
┌─────────────────────────────────────────────────────────────┐
│  0. CHECK THE DESIGN (docs are the source of truth)          │
├─────────────────────────────────────────────────────────────┤
│  • Read USER_JOURNEYS, CANONICAL, TARGET, design.md          │
│  • Think the domain: how should it be? (domain-shape.md)     │
│  • Does the improvement change a law, an owner, a word?      │
│  • If so: write it into the docs, ask the user to confirm    │
└─────────────────────────────────────────────────────────────┘
                            │
                            ▼ (design confirmed, or unchanged)
┌─────────────────────────────────────────────────────────────┐
│  1. UNDERSTAND CURRENT STATE                                 │
├─────────────────────────────────────────────────────────────┤
│  • Read existing code                                        │
│  • Understand current behavior                               │
````
END THIRD-PARTY FILE ea3019db99cc11c5

The third-party file has ended. Everything between the ea3019db99cc11c5 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2491 of 11090 bytes. © tddworks · Apache-2.0 · https://github.com/tddworks/ClaudeBar/tree/HEAD/.claude/skills/improvement/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
