К основному содержанию
скилл CX Codex

skill-improve — скилл для Claude Code: улучшает скиллы по циклу

Прогоняет один скилл через цикл тест → фикс → ретест и оставляет правки только если оценка выросла. Пригодится, когда скилл уже написан, но статический тест ругается.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Donchitos/Claude-Code-Game-Studios --skill skill-improve -a claude-code
Открыть на GitHub

Что делает skill-improve

Скилл берёт имя скилла из аргумента, проверяет, что .claude/skills/[name]/SKILL.md на месте, и запускает /skill-test static [name] для базовой оценки: сколько FAIL и WARN, какие именно проверки упали. Если файл не читается и результат NOT ASSESSED, работа останавливается — улучшать нечего.

Дальше скилл смотрит поле category: в studio-tests/catalog.yaml и при наличии категории прогоняет ещё и /skill-test category [name]. Диагностика разбирает каждый провал по конкретной причине: пропущенное поле frontmatter, нехватка фаз, отсутствие слов-вердиктов, Write в allowed-tools без вопроса перед записью. Правки предлагаются блоками до/после и только по падающим местам.

Перед записью скилл спрашивает разрешение и сохраняет текущий текст файлов в разговоре. После записи ретест меряет новый счёт, и если он не вырос, скилл предлагает вернуть прежнее содержимое. Откат идёт через Write, а не git checkout — тот вернёт последнюю закоммиченную версию и снесёт незакоммиченные правки. Оценка статическая: она читает скилл, а не запускает его, поэтому высокий балл говорит о качестве текста, а не о поведении. Поведение проверяйте отдельно, прогнав скилл на реальном запросе до и после.

Какие задачи решает

  • понять, какие именно проверки проваливает скилл
  • починить frontmatter и структуру фаз по списку замечаний
  • сравнить счёт до и после правки
  • откатить неудачную правку к прежнему тексту файла
  • разобрать категорийную рубрику из studio-tests/catalog.yaml

Примеры запросов агенту

  • /skill-improve tech-debt
  • /skill-improve skill-improve
  • Прогони /skill-test static для моего скилла и покажи, что падает

Как установить skill-improve

1Через Skills CLI (Vercel)

npx skills add Donchitos/Claude-Code-Game-Studios --skill skill-improve -a claude-code

2Вручную: положить файлы

~/.claude/skills/skill-improve/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/skill-improve/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о skill-improve

Как установить skill-improve в Claude?

Выполните npx skills add Donchitos/Claude-Code-Game-Studios --skill skill-improve -a claude-code. Скилл встанет в ~/.claude/skills/skill-improve/SKILL.md.

Что делает skill-improve?

Гоняет один скилл по циклу тест → фикс → ретест. Правки остаются, только если суммарный счёт FAIL и WARN стал ниже.

Что нужно для работы скилла?

Скилл опирается на /skill-test и на studio-tests/catalog.yaml для категорийных проверок. Если файл каталога лежит под старым именем CCGS Skill Testing Framework/, скилл скажет об этом и продолжит работу.

Исходный текст

SKILL.md · MIT
---
name: skill-improve
description: "Improve a skill via a test-fix-retest loop — static checks, targeted fixes, keep or revert on score change."
argument-hint: "[skill-name]"
user-invocable: true
allowed-tools: Read, Glob, Grep, Write, Bash(bash "*/.claude/skills/skill-improve/../../hooks/yaml-helper.sh" resolve_config *)
model: sonnet
---

!`bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys automation`

**Automation mode**: Resolve `modes.automation` (`project.local.yaml` →
`project.yaml` → default `collaborative`). Every `AskUserQuestion` call and
every file write follows `.claude/docs/automation-modes.md`
(collaborative asks always · guided major-only · autonomous logs and proceeds;
`automation_always_ask` categories always prompt).

# Skill Improve

Runs an improvement loop on a single skill:
test → fix → retest → keep or revert.

Its score comes from `/skill-test` static and category checks, which read the
skill rather than run it: a better score means a better-written skill, not proof
that it behaves better. To check behaviour, run the skill on a real request
before and after the change.

---

## Phase 1: Parse Argument

Read the skill name from the first argument. If missing, output usage and stop:

```
Usage: /skill-improve [skill-name]
Example: /skill-improve tech-debt
```

Verify `.claude/skills/[name]/SKILL.md` exists. If not, stop with:
"Skill '[name]' not found."

Glob `CCGS Skill Testing Framework/catalog.yaml`. When it exists, say so first:
"`CCGS Skill Testing Framework/` was renamed `studio-tests/` in 1.2.0, and this
skill reads only `studio-tests/`. Move any specs you wrote there; UPGRADING.md
(v1.1.3 → v1.2.0, `studio-tests/`) says how." Then go on.

---

## Phase 2: Baseline Test

Run `/skill-test static [name]` and record the baseline score:
- Count of FAILs
- Count of WARNs
- Which specific checks failed (Check 1–7)

Display to the user:
```
Static baseline:   [N] failures, [M] warnings
Failing: Check 4 (no ask-before-write), Check 5 (no handoff)
```

If the static result is **NOT ASSESSED** (the skill file could not be read or
parsed), stop and report it with its reason: there is no score to improve, and
0 FAILs from a file nobody could read is not a clean result.

If baseline is 0 FAILs and 0 WARNs, note it and proceed to Phase 2b.

### Phase 2b: Category Baseline

Look up the skill's `category:` field in `studio-tests/catalog.yaml`.

If no `category:` field is found, display:
"Category: not yet assigned — skipping category checks."
and skip to Phase 3.

If category is found, run `/skill-test category [name]` and record the category baseline:
- Count of FAILs
- Count of WARNs
- Which specific category rubric metrics failed

Display to the user:
```
Category baseline: [N] failures, [M] warnings  ([category] rubric)
```

A category result of **NOT ASSESSED** (a rubric section the skill-test could not
find or apply) is reported with its reason and is not a zero: the category
dimension is then excluded from "already passes" below.

If BOTH static and category baselines are 0 FAILs and 0 WARNs — and neither is
NOT ASSESSED — stop:
"This skill already passes all static and category checks. No improvements needed."

---

## Phase 3: Diagnose

Read the full skill: `.claude/skills/[name]/SKILL.md` and every file in its `references/` folder,
if it has one — the longest skills keep each phase there. Name the file each
gap is in.

For each failing or warning **static** check, identify the exact gap:

- **Check 1 fail** → which frontmatter field is missing
- **Check 2 fail** → how many phases found vs. minimum required
- **Check 3 fail** → no verdict keywords anywhere in the skill body
- **Check 4 fail** → Write or Edit in allowed-tools but no ask-before-write language
- **Check 5 warn** → no follow-up or next-step section at the end
- **Check 6 warn** → `context: fork` set but fewer than 5 phases found
- **Check 7 warn** → argument-hint is empty or doesn't match documented modes

For each failing or warning **category** check (if category was assigned in Phase 2b),
identify the exact gap in the skill's text. For example:
- If G2 fails (gate mode, director panel width): skill body does not size the
  PHASE-GATE panel from `modes.workflow` (PR at `minimal`, TD + PR at `standard`,
  all 4 at `full`)
- If A2 fails (authoring, no per-section May-I-write): skill asks once at the end, not
  before each section write
- If T3 fails (team, BLOCKED not surfaced): skill doesn't halt dependent work on blocked agent

Show the full combined diagnosis to the user before proposing any changes.

---

## Phase 4: Propose Fix

Write a targeted fix for each failure and warning. Show the proposed changes
as clearly marked before/after blocks. Only change what is failing — do not
rewrite sections that are passing. In a skill with a `references/` folder, a
fix to a phase's steps goes in that phase's `references/` file, not back into
`SKILL.md`; the question below then names each file the fix changes.

Ask: "May I write this improved version to `.claude/skills/[name]/SKILL.md`?"

If the user says no, stop here.

---

## Phase 5: Write and Retest

Record the current content of each file the fix changes — the exact text, kept
in this conversation — so Phase 6 can restore it.

Write the improved skill to `.claude/skills/[name]/SKILL.md`, and to each
`references/` file the fix changes.

Re-run `/skill-test static [name]` and record the new static score — measured by that run, never stated from the edit.
If a category was assigned, also re-run `/skill-test category [name]` and record the new category score.

Display the comparison:
```
Static:   Before [N] failures, [M] warnings  →  After [N'] failures, [M'] warnings
Category: Before [N] failures, [M] warnings  →  After [N'] failures, [M'] warnings  (if applicable)
Combined: [before] → [after] (improved / no change / worse)
```

`[before]` and `[after]` are the Phase 6 combined counts — failures plus
warnings, both dimensions — e.g. `Combined: 3 → 0 (improved)`.

---

## Phase 6: Verdict

Count the combined failure total: static FAILs + category FAILs + static WARNs + category WARNs.
**A re-test that comes back NOT ASSESSED** (for example, the edit broke the
frontmatter so the file no longer parses) is never an improvement, whatever its
counts: take the "did not improve" branch below.

**If combined score improved (combined failure count is lower than baseline):**
Report: "Score improved. Changes kept."
Show a summary of what was fixed in each dimension.

**If combined score is the same or worse:**
Report: "Combined score did not improve."
Show what changed and why it may not have helped.
Ask: "May I restore `.claude/skills/[name]/SKILL.md` to the content it had before this run?"
— naming every file Phase 5 wrote.
If yes: write the content recorded in Phase 5 back to each file with Write; if no, leave the files as written. Never
`git checkout` it — that returns the last *committed* version and discards any edits
made before this run that were not yet committed.

---

## Phase 7: Next Steps

- Run `/skill-test static all` to find the next skill with failures.
- Run `/skill-improve [next-name]` to continue the loop on another skill.
- Run `/skill-test audit` to see overall coverage progress.

© Donchitos · MIT · Donchitos/Claude-Code-Game-Studios

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
improve-code-quality wondelai Пошагово переводит сырой прототип в рабочий проект с тестами, границами архитектуры и планом надёжности. Пригодится, когда страшно трогать работающий код без тестов. CX Codex +1 2 300установок improve owainlewis Упрощает существующий код, не меняя то, что он делает. Пригодится, когда надо убрать дубли, мёртвый код или лишние абстракции. CX Codex +1 332установок argent-ios-simulator-setup software-mansion Скилл для подключения к iOS-симулятору через MCP-инструменты argent. Используй перед любой работой с симулятором: загрузка устройства, получение UDID, взаимодействие с интерфейсом. CX Codex +1 26 500установок ios-device-automation web-infra-dev Скилл управляет iPhone и iPad через Midscene CLI: агент смотрит на скриншот и решает, что нажать. Пригодится для проверки приложения на живом устройстве. CX Codex +1 3 300установок qa-do kindlmann Маршрутизирует нечёткие задачи тестирования на один или два подходящих скилла и запускает проверку с отчётом. CX Codex +1 1 100установок unit-testing kindlmann Скилл для написания юнит-тестов: подсказывает, какие тест-двойники брать, как настроить порог покрытия и как проверить тесты мутационным тестированием. CX Codex +1 1 100установок

Из того же набора72

help Скилл определяет текущий этап разработки игры по артефактам и подсказывает следующий шаг. Помогает сориентироваться, когда непонятно, за какую задачу браться. CX Codex +1 411установок test-setup Скилл создаёт основу для автотестов и CI: каталоги, конфигурацию тестового раннера и workflow GitHub Actions. Нужен до начала разработки. CX Codex +1 411установок sprint-status Читает план спринта и файлы историй, показывает, сколько сделано и сколько осталось. Пригодится, когда нужно быстро понять, как идёт спринт. CX Codex +1 411установок test-evidence-review Скилл проверяет качество тестов и подтверждений по историям, а не только наличие и успешный запуск файлов. Нужен перед передачей на QA. CX Codex +1 410установок story-readiness Проверяет готовность пользовательских историй к разработке: валидирует критерии приёмки, зависимости и статус ADR до начала кодинга. CX Codex +1 410установок test-flakiness Скилл находит нестабильные тесты в логах CI игровых движков, считает долю сбоев и отправляет проблемные проверки на карантин. CX Codex +1 408установок skill-test Проверяет файлы скиллов и субагентов на структуру и заявленное поведение. Пригодится перед добавлением новых проверок в проект. CX Codex +1 408установок test-helpers Генерирует библиотеку хелперов для тестов под конкретный движок: ассерты, фабрики объектов, моки. Пригодится, когда одни и те же setup-блоки кочуют из файла в файл. CX Codex +1 405установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой