Skip to content
Back to skills

Backlog Task

ASecurity

Побочная находка (чужой баг, дыра в покрытии, устаревший абзац) - таской в бэклог, не чинить сейчас: важность, пути, критерий готовности. Не для правки в пару строк. Прием в канон - `harvest-canon`.

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 29, 2026
developmentbashcode-reviewgit

Security analysis

A100/100

Scanned October 3, 2026

npx -y skills add dewil/claude-toolkit --skill backlog-task --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Backlog Task?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Backlog Task
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dewil-backlog-task/badge)](https://www.skillsdirectory.com/skills/dewil-backlog-task)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: backlog-task
description: Побочная находка (чужой баг, дыра в покрытии, устаревший абзац) - таской в бэклог, не чинить сейчас: важность, пути, критерий готовности. Не для правки в пару строк. Прием в канон - `harvest-canon`.
---

# Находка - в бэклог, а не в текущий диф

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

Третий путь: **вынуть находку из головы в файл и продолжить свою задачу.**

## Общая норма для .AI-проекта

Если есть `.AI/project.json`, каждая текущая задача получает Markdown-файл до выполнения, включая задачу пользователя. Это учет выполняемой работы, а не ее откладывание. Найди существующего владельца, иначе создай файл в проектном бэклоге (`docs/backlog/` по умолчанию). Укажи стабильный ID, цель, ограничения, критерии готовности, сделанное, проверки, блокеры и следующий шаг; обновляй по ходу работы. План может быть связанным документом. После критериев готовности перенеси владельца в `docs/done/`, сохранив ID. Нормы ниже определяют, когда отдельно откладывать побочную находку; они не отменяют файл текущей задачи.

## Когда заводить таску

Заводи, если верно все:

- находка **не входит** в то, о чем просил пользователь;
- она переживет сессию - это не "надо не забыть дописать тест через десять минут";
- ее починка **осмысленна отдельно**: у нее свой диф, своя проверка, свой смысл в истории.

## Когда НЕ заводить

- **Правка на пару строк в файле, который ты и так правишь**, и она по смыслу часть задачи - просто сделай. Файл-таска дороже самой правки.
- **Это и есть задача пользователя** - не откладывай то, о чем просили.
- **Уже заведено** - сперва посмотри, что лежит в бэклоге. Дубли обесценивают его быстрее всего.
- **Находка требует решения пользователя, а не работы** (развилка, выбор политики, деньги) - такое не в бэклог, а в ответ пользователю: бэклог для работы, а не для вопросов.
- **Это крупная отложенная работа со своими этапами** - у нее свой артефакт с задачами и сроками, а не строчка в бэклоге (в проектах, где подключено `tasks-tracking.md`, - по нему). Не мельчи ее до находки и не раздувай бэклог до нее.
- **Нужен порядок шагов с критерием на каждом** - это план-файл (`planner`, `docs-maintenance.md`), а не таска. Таска описывает, **что не так**; план описывает, **как идти**. Путать их дорого: план с одним пунктом бесполезен, таска с десятью шагами не читается.
- **Находка - про переиспользуемый прием или про дефект самого канона** - она идет вверх, в канон (`harvest-canon`), а не вбок в бэклог. Признак простой: чинить надо в этом проекте - бэклог; чинить надо у всех - канон.

**Стоп-гейт остается прежним.** Опасная находка - утекший секрет, дыра в безопасности, потеря данных - не откладывается: про нее говорят пользователю сразу (`secrets-handling.md`). Бэклог для того, что может подождать.

**В сам файл секрет не переносится.** Таска требует точных путей, воспроизведения и сырого вывода - и все это уезжает в коммитимый файл, который потом читают посторонние. Токены, ключи, куки, персональные данные и дампы чужой переписки маскируются в таске так же, как везде (`secrets-handling.md`). Соблазн приложить сырой вывод максимален как раз на находках "проверка обманывает" - там он и опаснее всего.

## Где лежит бэклог

`docs/backlog/` **в том проекте, где будет жить починка** - там ее найдет чистая сессия, и файл поедет вместе с проектом. Папки нет - создай.

**Чужое рабочее дерево молча не трогай.** Находка относится к соседнему репозиторию или к проекту другого клиента - сессия работает в своем корне, и файл там никто не ждет. Два пути: назвать находку пользователю и завести файл в чужом проекте **с его "ок"**, либо положить таску в свой бэклог со ссылкой на чужой проект в поле "Где". Второе дешевле и почти всегда достаточно.

Имя файла: `YYYY-MM-DD-<слаг>.md`, дата - когда нашли; одноименный не перезаписывать - добавь суффикс. Дата в имени дает порядок и возраст находки без открывания файла: полугодовалая таска "стоит" почти всегда означает, что она не нужна.

## Формат файла

Держи шапку машиночитаемой - по ней потом делается разбор без открывания каждого файла.

```markdown
# <Что не так, одной фразой>

**Важность:** <блокер|важно|стоит|когда-нибудь>
**Где:** <проект и точные пути, лучше с номерами строк>
**Нашлось:** <в какой задаче всплыло - одной строкой>

## Что не так

Симптом и следствие. Не "плохой код", а что именно сломается или кого это кусает.

## Что сделать

Конкретные шаги. Если решение неочевидно - назвать варианты и тот, который считаешь верным.

## Как проверить

Команда, тест или наблюдаемый признак, по которому видно, что готово.

## Чего не делать

Границы: что рядом трогать не надо и почему. Этот раздел спасает чистую сессию от расползания.
```

**Важность выбирай по последствию, а не по ощущению:**

| Уровень | Что означает |
| --- | --- |
| `блокер` | мешает работе или врет пользователю прямо сейчас |
| `важно` | задевает деньги, безопасность или то, что видит клиент, но терпит |
| `стоит` | заметно только нам: дубли, мертвый код, хрупкая проверка |
| `когда-нибудь` | косметика, которую не жаль не сделать никогда |

Таблица перевода подтвержденной находки задает отправную точку. Инструменты сохраняют свои шкалы.

| Источник | Исходный уровень | Важность бэклога по умолчанию |
| --- | --- | --- |
| code-reviewer | critical / major / minor | блокер / важно / когда-нибудь |
| qa-browser | critical / high / medium / low | блокер / важно / стоит / когда-нибудь |
| codex-audit (режим audit) | blocker / risk / ok | блокер / важно / таска не создается |
| Приоритет серии canon | P0 / P1 / P2 | блокер / важно / стоит, только предварительно с проверкой последствия |

Таблица - отправная точка; решает последствие по определениям выше. Отклонился - запиши в таске источник, исходный уровень и причину. Неподтвержденное не переводится; для P0-P2 последствие установить до выбора важности; стоп-гейты источников остаются.

## Главное требование: файл самодостаточен

Чистая сессия **не увидит** ни этого разговора, ни того, что ты уже понял. Все, что она знает, - в файле. Поэтому:

- пути **точные**, а не "где-то в сервисе синка";
- то, что ты выяснил по дороге, **вписано**, а не подразумевается: почему очевидное решение не работает, какая проверка обманывает, что уже пробовали;
- воспроизведение, если находка про поведение, - командой или шагами;
- ссылки на смежные файлы и на изменение, из которого это выпало.

Проверка себе: **отдал бы ты этот файл человеку, который проект видит впервые?** Если нет - дописывай.

## Разбор бэклога

Список без открывания файлов:

```bash
d=docs/backlog
if [ ! -d "$d" ]; then echo "бэклог не заведен"
elif ! ls "$d"/*.md >/dev/null 2>&1; then echo "бэклог пуст"
else grep -H "^\*\*Важность:\*\*" "$d"/*.md
fi
```

Отдельного индекс-файла не заводить: он гниет, а грепом важность видна всегда. Пустой вывод разбирай как три состояния, а не как одно: папки нет (бэклог не заводили), папка есть и пуста (разобрали), папка есть и не читается (это не "пусто", см. `silent-failure.md`).

Сделанную таску **переложить в `docs/done/`** - туда же, куда уезжают закрытые планы (`docs-maintenance.md`), отдельного `done` внутри бэклога не заводить. Одна папка на все завершенное: иначе на вопрос "это вообще делали?" приходится смотреть в два места. Перекладывать, а не удалять - по файлу потом восстанавливается, почему сделано именно так; в git-проекте через `git mv`, без переименования.

## В конце сессии - назвать одной строкой

Завел таски - скажи пользователю, что отложил и с какой важностью, по строке на штуку. Молча отложенное неотличимо от забытого, а решение "делать сейчас или потом" остается за ним: он может сказать "нет, это чини сразу".

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.