本文へ移動
cccskills
無料GitHub で公開

bugsweep

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

インストール方法を見る

含まれるファイル(1)

  • SKILL.md12.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

<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)

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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

日本語の概要は準備中です。原文の説明を表示しています。

ellmos-ai/skills82026年10月12日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

ellmos-ai/skills82026年10月12日 更新

Prüfungsvorbereitung, Selbsttests, Probeklausuren und systematische Fehleranalyse.

日本語の概要は準備中です。原文の説明を表示しています。

ellmos-ai/skills82026年10月12日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

ellmos-ai/skills82026年10月12日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

ellmos-ai/skills82026年10月12日 更新

Acceptance & Commitment Therapy (ACT) according to Steven Hayes: Hexaflex model with the six core processes of psychological flexibility.

日本語の概要は準備中です。原文の説明を表示しています。

ellmos-ai/skills82026年10月12日 更新

ellmos-ai のスキルをすべて見る

このスキルの問題を報告する