Skip to content
Back to skills

Task

ASecurity

Начать задачу по этому проекту с правильного яруса входа — определить класс задачи, прочитать ровно то, что ей нужно, описать область, если база о ней молчит, спроектировать правку до первой строки и собрать «что придётся тронуть» одним вызовом инструмента. Использовать в начале любой работы с кодом этого репозитория: анализ, объяснение, багфикс, рефактор, новая функциональность, удаление.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 19, 2026
ai-agentsnodecode-review

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add Igor-lx/claudeHarness --skill task --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Task?

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

Security grade badge for Task
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/igor-lx-task/badge)](https://www.skillsdirectory.com/skills/igor-lx-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: task
description: Начать задачу по этому проекту с правильного яруса входа — определить класс задачи, прочитать ровно то, что ей нужно, описать область, если база о ней молчит, спроектировать правку до первой строки и собрать «что придётся тронуть» одним вызовом инструмента. Использовать в начале любой работы с кодом этого репозитория: анализ, объяснение, багфикс, рефактор, новая функциональность, удаление.
user-invocable: true
---

# Начало задачи: ярус входа

Полный вход в проект — тысячи строк доктрины; сколько именно у этого
проекта, записано в фактах, раздел «Цена ярусов входа». Для рефактора слоя
это дёшево, для вопроса про одну константу — абсурдно. Этот скилл задаёт, что
читать под конкретную задачу, и не даёт ни занизить ярус, ни завысить.

Что читать под каждый класс, записано в доктрине — `.claude/rules/loop.md`,
раздел «Соразмерность: что читать под задачу». Здесь эта таблица **не
пересказывается**: прежде скилл держал свою копию, и она разошлась с
доктриной — у объяснения узла копия велела читать «сам файл и его тест», а
доктрина — всю очерченную область и документы. Здесь — порядок и команды,
которыми строка таблицы исполняется.

## Шаг 1. Определи класс задачи

Класс определяется **по тому, что будет в ответе**, а не по глаголу, которым
попросили. Признак: в ответе есть хотя бы одно утверждение о том, как код себя
ведёт, что означает или верно ли сделан. При наличии такого утверждения класс —
не A, независимо от формулировки просьбы.

| Класс | Признак |
| --- | --- |
| **A. Расположение** | ответ — «где лежит», «что уже решено», без утверждений о поведении |
| **B. Объяснение узла** | ответ описывает поведение одного файла или хука |
| **C. Багфикс** | место известно, поведение меняется точечно |
| **D. Рефактор** | код переезжает, поведение обязано остаться прежним |
| **E. Новое** | появляется файл, ветка, проп или модуль |
| **F. Удаление** | уходит узел, возможность, проп или экспорт |

Род задачи — вторая ось, и она про судьбу найденного: у работы есть дифф
кода — новое, правка, рефактор, удаление, тест — чинить, в том числе место,
записанное пунктом долга перехода; диффа кода нет — назвать и предложить
(`loop.md`, «чинить или назвать»).

## Шаг 2. Прочитай строку своего класса — командами

| Класс | Команды |
| --- | --- |
| **A** | раздел «Проект на одной странице» в `.context/00-map.md`, затем нужный раздел карты |
| **B** | `node .claude/tools/graph.mjs brief <путь>` — и **всё, что он очертил**, целиком и дословно: сам файл, то, чем он пользуется, то, что пользуется им, тесты области, дверь папки и документ по её имени |
| **C** | то же плюс `node .claude/tools/graph.mjs plan <путь>` и записи `07-invariants.md`, `09-decisions.md` по области |
| **D** | полный вход (`CLAUDE.md`, `01-facts.md`) плюс `plan`, `blast` и `levels` по узлу |
| **E** | полный вход плюс `.context/10-idioms.md`, раздел «Как заводится новый узел» в `.claude/rules/code.md`, `plan` и `levels` по точке встраивания и `brief` по каждому предполагаемому импорту |
| **F** | полный вход плюс `plan`, `blast` и `levels` по удаляемому и раздел «Как убирается узел» в `.claude/rules/code.md` |

Ярус занижать нельзя: если по ходу выяснилось, что задача шире выбранного
класса, недостающее дочитывается и это называется в отчёте. Завышать тоже
нельзя: прочитанное сверх необходимого результата не даёт, и завышение
называется в отчёте так же.

## Шаг 3. База молчит об области — сначала описать область

Инструменты знания отвечают из базы. Досье печатает «записей нет», «долг базы
про этот файл» либо прогон — баннер «знание о проекте не собрано»: значит
область базе неизвестна, и работа по ней пойдёт вслепую. Переход, который
собрал бы знание целиком, зовёт разработчик; до него — первым делом
петля, шаг 4: описать прочитанную область в базе (карта, состояние, порядок,
связи, сценарий, тесты) и документации, а задачу делать после.

Найдено работой на стенде: задачи, сделанные до заполнения базы, проверили
только механику — досье и план отвечали из пустоты, и всё, что база должна
была остановить, не останавливалось ничем.

## Шаг 4. C, D, E, F — проект правки до первой строки

```
node .claude/tools/graph.mjs plan <путь>
```

Отдаёт сразу: радиус прямой и транзитивный, парную копию (её правят в той же
правке), тесты, обязанные покраснеть, и те, что гоняют узел через другие,
записи базы под обновление, документы, публичную поверхность. Это заменяет
связку `brief` + `blast` + чтение карты руками.

```
node .claude/tools/graph.mjs levels <путь>
```

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

Замер читается **планкой**, а не к сведению: радиус судит `I1`, потребителей —
`I2`, общий ресурс — `C6-бис`, изменённое поведение соседа — `J9-тер`, второй
источник истины — `A6`, ребро между слоями — `A5`. Имена, уходящие наружу через
вход пакета, — изменение контракта: это развилка разработчика, и ставится она
вопросом до правки. Не сошлось — перепроектировать сейчас: замысел правится
дешевле написанного.

Проект правки называется в отчёте первым пунктом работы: что меняется, где,
какие тесты обязаны покраснеть, какие записи и документы уйдут в правку.

## Шаг 5. Помни, чем работа закончится

- правка кода — тесты в том же заходе, J1 «Тест обязан уметь падать» на
  каждом (сломай, убедись, что краснеет именно он);
- **свод по планке — режим `bar`** на конечном виде правки, до прогона
  (на задаче чтения — `bar <путь>`, адрес-папка — вся папка): модель
  предмета по уровням, сперва чтение — страницы `bar-read`: критерии с формами,
  код предмета, срезы соседей, слово каждой страницы в протокол, — затем
  свидетели — фраза каждой единицы по коду одним
  предложением и ответ по каждому объявлению, — затем исход по каждому
  живому критерию: признак, видимый текстом, называют номером строки; ядро узла по
  каждой тронутой единице переноса, ядро слоя по каждому слою, соседей
  области одной строкой, — база и документация по каждому файлу области, итог
  по каждому предмету, печать. Область та же, что прочитана, и найденное в ней
  на правке чинится; новое состояние и новый файл сверяют с каталогом
  проекта, а потребителей правленого за областью называет радиус — о
  совместимости отвечают с опорой на него. Не сошлось — переделать. В
  отчёте — отпечаток печати, итог по уровням и каждая находка;
- **попутные находки** — что попалось по дороге в коде, тестах, базе, правилах
  или в инструменте, на работе с диффом кода чинится этим же заходом и
  называется в отчёте отдельно; на задаче чтения — называется и предлагается.
  Чинится **класс**, а не пример: правка под один случай оставляет остальные
  случаи того же класса без изменений. Машинной проверки у этого пункта нет:
  находку, которую не записали, не обнаруживает ни одна сверка;
- **БД** (`.context/**`, «что и где» для следующей сессии) и **документация**
  («почему» для человека) правятся вместе с кодом и подтверждаются **порознь,
  пофайлово, в протоколе свода** — таблица «База и документация»: `правлено` с
  адресом либо `не требуется` с причиной. Пустая клетка не даёт печати, а
  печати нет — нет и закрытия. Кодом здесь считается всё: модули, тесты,
  стили. **Прибавилась возможность, видная снаружи, — строка в витрине**,
  словами продукта, а не кода;
- **`node .claude/tools/graph.mjs tested`** перед отчётом: он и спросит про тесты
  тронутых файлов, про записи базы и соседей, про документацию, про публичную
  поверхность и про то, задета ли область смоука;
- **мутационный прогон по новым и изменённым файлам**, если правился код:
  узел закрывается в том контексте, в котором писались его тесты, и печать
  свода на правке файла, до которого доходят тесты, без свежего замера
  «чисто» по `J10` не ставит. Долг и готовую команду показывает
  `node .claude/tools/graph.mjs mutated`;
- **`npm run check`** — весь обязательный набор одной цепочкой: типы, линт,
  формат, тесты, сверка базы;
- **`/code-review` на правку узла до коммита** — прогон с кодом возврата ноль
  означает «поведение не сломано», а не «узел устроен верно»;
- **`/run`, если правка видна на экране** — ни база, ни тесты, ни смоук не
  отвечают, как это выглядит и ощущается;
- широкое сметание («найди все места, где…») — агентом `Explore`, чтобы выдача
  не оседала в основном контексте. Решает разработчик, но **предлагаешь ты**:
  форма опознаётся по трём условиям сразу — десятки файлов, на выходе нужен
  список, а не дословный текст, и где смотреть заранее неизвестно. Не выполнено
  одно — обычный поиск дешевле, и предлагать нечего;
- `commit`, `push`, `deploy` — только по прямой команде.

## Правило остановки

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

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.

View all in ai-agents →

Comments

Loading comments…

Newsletter

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