Skip to content
cccskills
FreePublished on GitHub

bugsweep

Систематический поиск багов с целевым значением, масштабируемым по размеру кодовой базы, удвоением при эскалации, отслеживанием областей и финальной верификацией. Используйте при вызове /bugsweep или по запросу систематической проверки кода.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md12.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

<img src="../banner.png" width="100%" alt="bugsweep banner">

Русский — Официальная русская версия bugsweep.

/bugsweep — Систематический workflow поиска багов (Русский)

Итеративная охота за багами со сходящимся критерием остановки. Масштабируется с размером кодовой базы, эскалирует, если поиск выглядит поверхностным, и предотвращает повторения благодаря отслеживанию областей.

1. Расчет базовой нормы (base_rate)

LOC = productive source lines (src/, lib/ — excluding tests, configs, docs, generated)
x = max(1, ceil(LOC / 1500))
base_rate = x * 3
LOCxБазовая норма (Base rate)
~150013
~300026
~450039
~10000721

Отчет пользователю: "Кодовая база: {LOC} LOC → базовая норма = {base_rate} чистых проходов поиска."

2. Цикл поиска

counter = 0
target = base_rate
any_bug_found = False
checked = []  # (area_name, type: code|task)

LOOP:
  area = pick_new_area()  # see area rules
  checked.append(area)

  Perform a thorough bug search

  IF bug found:
    any_bug_found = True
    Fix following bugfix-protocol (phases 4+5)
    Review: see model rule (newer model classes: no external review needed)
    Commit + push
    counter = 0  # RESET
  ELSE:
    counter += 1
    Report: "✓ Clean: {area} — {counter}/{target}"

  IF counter >= target:
    IF NOT any_bug_found:
      # Doubling escalation: not a single bug → search too shallow?
      target = base_rate * 2
      any_bug_found = True  # escalate only ONCE
      Report: "⚠ No bug in {base_rate} passes → target doubled to {target}."
      CONTINUE LOOP
    ELSE:
      GOTO final verification

Практические заметки по циклу поиска (на основе реальных свипов)

  • Репозитории без git: Там, где нет git (например, папки проектов с облачной синхронизацией), версионная резервная копия заменяет "commit + push": создайте file_<ts>.bak перед первым исправлением. Внимание — резервная копия до исправления НЕ является бэкапом вашей работы: после последнего исправления сделайте свежий бэкап _FINAL_, иначе сбой синхронизации может уничтожить всю сессию исправлений.
  • Множество багов известно заранее: Если на старте уже известно N багов (например, из предыдущего запуска), подход "для каждого бага: исправить → проверить → коммит → сброс" непрактичен. Обработайте известные баги как ЕДИНЫЙ блок исправлений (общая проверка в конце) и начните отсчет базовой нормы / цикла поиска с первого ВНОВЬ найденного бага. Логика сброса по-прежнему применяется к багам, найденным во время свипа.
  • Один и тот же баг в нескольких местах: Найденный дефект (например, неверный regex, ошибочное предположение о формате) часто копируется в других местах. После каждого исправления ищите такой же паттерн в других локациях — это ценная отдельная "область".

3. Правила областей (защита от имитации)

"Область" — это либо фокус кода, либо задача (цель кода).

Фокус кода

  • Может быть расширен (больше файлов) или смещен (другая часть) между проходами
  • НЕ ДОЛЖЕН быть точно таким же набором, как в предыдущем проходе
  • ОК: проход 1 = maintenance.py, проход 5 = maintenance.py + orchestrator.py (расширен)
  • НЕ ОК: проход 1 = maintenance.py, проход 5 = maintenance.py (идентичен)

Задача (цель)

  • Может быть сделана более детализированной (проверить подфункцию) или более широкой (связанные функции вместе)
  • НЕ ДОЛЖНА быть точно такой же задачей
  • ОК: проход 1 = "потокобезопасность в watchdog", проход 5 = "потокобезопасность во всем трее" (более широкая)
  • ОК: проход 1 = "обнаружение процессов", проход 5 = "сопоставление маркеров хранилища внутри обнаружения процессов" (более детализированная)
  • НЕ ОК: проход 1 = "потокобезопасность в watchdog", проход 5 = "потокобезопасность в watchdog" (идентичная)

Именование

  • Область ДОЛЖНА быть названа ДО начала поиска (без назначений задним числом)
  • Формат: "{name}" ({type}: code|task)

4. Финальная верификация

Когда counter >= target И any_bug_found:

Шаг A — фаза 5 bugfix-protocol:

  • Полный набор тестов пройден (pytest)
  • Фактически выполнить измененный путь исполнения хотя бы один раз — не ограничиваясь тестами. Зеленые юнит-тесты на коде, который никогда не вызывает измененное место — это ложная безопасность. Запустите реально измененный путь (пробный запуск dry run, дымовой запуск smoke run, вызов из CLI) и проверьте отсутствие трассировок ошибок (tracebacks), ошибок сигнатуры или именования. py_compile или простой import проверяют только синтаксис — но не то, исполняется ли путь.
  • Каждое исправление имеет хотя бы один тест, который его затрагивает — исправление без теста, который реально активирует измененную ветку, считается неверифицированным (для путей оркестрации/сети при необходимости комбинируйте моки и dry run).
  • Проверка типов (если настроена)
  • Линтер (если настроен)
  • Проверены граничные случаи исправлений текущей сессии

Шаг B — ревью (правило моделей):

  • Более новые классы моделей (например, Claude 5 / класс Fable): внешнее ревью от советника или второй модели НЕ требуется. Шаг A (тесты + реальный дымовой запуск) является верификацией. Опционально, при реальной неуверенности: свежий субагент для ревью — но эмпирически проверьте его выводы (протестируйте на неизмененном коде), прежде чем считать их багами. Контекст (опыт свипа 2026-06-11): второй рецензент был недоступен, замещающий субагент выдал 1 замечание (уверенность 85%), которое тест опроверг как не-баг — внешнее ревью не изменило результат.
  • Более старые модели: итоговое обсуждение с советником (резервный вариант: вторая модель в качестве рецензента); советник подтверждает или указывает на пробелы.

Если во время верификации найден баг: → Исправить + протестировать + коммит → СБРОС: counter = 0, target = base_rate (свежая базовая норма, БЕЗ удвоения) → Возврат в цикл поиска (список checked сохраняется, any_bug_found = True)

Если верификация прошла успешно: → ГОТОВО. Commit + push. Вывести протокол.

5. Протокол (в конце)

## Bug Sweep Result

- **Codebase:** {LOC} LOC
- **Base rate:** {base_rate} (escalated: {target})
- **Areas checked:** {len(checked)}
- **Bugs found:** {count}
- **Resets:** {reset_count}
- **Doubling triggered:** yes/no
- **Fixes:**
  - {title} — {commit_hash}
  - ...
- **Final test suite:** {passed}/{total} green
- **Review verdict:** self-verification (newer model class) / advisor confirmed / gaps named

Когда использовать этот workflow

  • После разработки функционала (гарантия качества)
  • Перед релизом (приемочный свип)
  • Периодически в качестве гигиенической проверки
  • Когда пользователь вводит /bugsweep

Взаимодействие с другими навыками

  • bugfix-protocol: процедура исправления (фазы 4+5) для каждого найденного бага
  • systematic-debugging: для трудновоспроизводимых багов внутри свипа
  • code-review: может использоваться в качестве области-задачи

История изменений

1.1.0 (2026-06-13)

  • Перенесено правило моделей для шага B (из локальной установки навыка, состояние от 2026-06-11): более новые классы моделей самопроверяются с помощью тестов и реального дымового запуска, внешнее ревью не требуется; поле протокола "Review verdict" соответственно расширено

1.0.0 (2026-06-13)

  • Первая публикация в библиотеке навыков (адаптировано из локальной установки навыка, состояние от 2026-06-01)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Akademisches Studien- und Fristenmanagement mit Quellenprüfung, Datenschutz und realistischer Handlungsplanung.

The English summary is being prepared. Showing the original description.

ellmos-ai/skills8Updated Oct 22, 2026

Aktives Lernen, Erarbeitung von Fachinhalten und strukturierte Erstellung von Synthesen.

The English summary is being prepared. Showing the original description.

ellmos-ai/skills8Updated Oct 22, 2026

Prüfungsvorbereitung, Selbsttests, Probeklausuren und systematische Fehleranalyse.

The English summary is being prepared. Showing the original description.

ellmos-ai/skills8Updated Oct 22, 2026

Terapia de Aceptación y Compromiso (ACT) según Steven Hayes: modelo Hexaflex con los seis procesos nucleares de la flexibilidad psicológica.

The English summary is being prepared. Showing the original description.

ellmos-ai/skills8Updated Oct 22, 2026

Acceptance & Commitment Therapy (ACT) nach Steven Hayes: Hexaflex-Modell mit den sechs Kernprozessen psychischer Flexibilität.

The English summary is being prepared. Showing the original description.

ellmos-ai/skills8Updated Oct 22, 2026

スティーブン・ヘイズによるアクセプタンス&コミットメント・セラピー(ACT):心理的柔軟性の6つのコアプロセスを備えたヘキサフレックス・モデル。

The English summary is being prepared. Showing the original description.

ellmos-ai/skills8Updated Oct 22, 2026

See all skills by ellmos-ai

Report a problem with this skill