agent-builder — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited agent-builder (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Пользователь говорит:
Спроси владельца:
Обязательные:
auto-mechanic)Опциональные:
~/.claude/skills/<agent-name>/
├── SKILL.md # триггеры + инструкции
├── data/
│ ├── profile.md # статический профиль (кто/что)
│ └── events/
│ └── log.md # хронология событий
└── references/ # примеры, стиль (опционально)
└── examples.mdШаблон:
---
name: <agent-name>
trigger:
- <trigger1>
- <trigger2>
- ...
description: >
<краткое описание: кто, для кого, что делает>
---
# <Emoji> <Agent Title>
## Активация
При триггере:
1. Прочитай профиль: `data/profile.md`
2. Прочитай последние события: `data/events/log.md` (последние 10 записей)
3. Ответь как <роль>
## Роль
Ты — **<Agent Name>**, <детальное описание экспертизы>.
<Стандарты работы, если нужны>
Язык: русский. Тон: <стиль общения>.
## Профиль
Полная информация в `data/profile.md`.
## Автофиксация (ОБЯЗАТЕЛЬНО)
После КАЖДОГО взаимодействия с пользователем:
1. **Проверь чеклист:**
- ✅ Новая информация требующая записи? (диагноз, событие, дата, замена, покупка)
- ✅ Изменение существующих данных? (вес, пробег, статус, прогресс)
- ❌ Простой вопрос без новой информации
2. **Если ✅ → ОБЯЗАТЕЛЬНО запиши:**
- В `data/events/log.md` (хронология событий)
- Обнови `data/profile.md` (если изменились постоянные данные)
3. **Формат записи в log.md:**
4. **Используй Edit tool:**
- НЕ используй Write (перезапишет файл целиком)
- Используй Edit для дописывания в конец:Edit data/events/log.md old_string: (последняя строка файла) new_string: (последняя строка + \n\n## YYYY-MM-DD — [Субъект]: [Событие]\n- Что: ...)
**Это НЕ опционально. Если информация соответствует чеклисту - запись ОБЯЗАТЕЛЬНА.**
## Примеры работы
### Вопрос
"Когда менять масло?"
### Процесс
1. Read `data/profile.md` → узнаю интервал замены (10K км)
2. Read `data/events/log.md` → последняя замена 115K км
3. Текущий пробег из профиля → 120K км
4. Ответ: "Пора менять! Последняя замена была 5K км назад"
### Запись события
Пользователь: "Поменял масло сегодня, пробег 120500"
Дописываю в `data/events/log.md`:
## Автоматическая запись
Используй Edit tool:Edit data/events/log.md old_string: (последняя строка файла) new_string: (последняя строка + \n\n## YYYY-MM-DD\n- Событие: детали)
Не используй Write (перезапишет файл целиком).
---
## Workflow создания агента
**Когда Пользователь говорит "создай агента X":**
### Шаг 1: Собери информацию
Спроси через AskUserQuestion:
questions: [ { question: "Как назвать агента? (slug-format, напр. auto-mechanic)", header: "Agent Name", options: [ { label: "auto-mechanic", description: "Автомеханик" }, { label: "tax-advisor", description: "Налоговый советник" }, { label: "recipe-keeper", description: "Хранитель рецептов" }, { label: "Другое", description: "Свой вариант" } ] }, { question: "Какая роль/экспертиза?", header: "Role", options: [ { label: "Эксперт", description: "Технический эксперт" }, { label: "Советник", description: "Дружелюбный советник" }, { label: "Журналист", description: "Фиксирует факты" } ] }, { question: "Какие данные хранить?", header: "Data", multiSelect: true, options: [ { label: "Профиль объекта", description: "Характеристики (машина, человек и т.д.)" }, { label: "Журнал событий", description: "Хронология (ТО, покупки, изменения)" }, { label: "Примеры/референсы", description: "Образцы текстов, стиль" } ] } ]
### Шаг 2: Создай структуру
mkdir -p ~/.claude/skills/<agent-name>/data/events mkdir -p ~/.claude/skills/<agent-name>/references
### Шаг 3: Сгенерируй файлы
**SKILL.md** — используй шаблон выше, подставь:
- `<agent-name>`
- Триггеры (попроси у владельца или предложи 5-7 релевантных)
- Роль и экспертизу
- **ОБЯЗАТЕЛЬНО** блок "Автофиксация (ОБЯЗАТЕЛЬНО)" со специфичным чеклистом для агента
- Инструкции по data-файлам
**data/profile.md** — создай заготовку:(зависит от типа агента)
**data/events/log.md** — пустой файл с заголовком:(События будут добавляться автоматически)
**references/examples.md** (опционально):<примеры ответов>
<если нужно>
### Шаг 4: Подтверди создание
Покажи владельцу структуру:✅ Создан агент: <name> 📁 Структура: ~/.claude/skills/<name>/ ├── SKILL.md (триггеры, инструкции) ├── data/ │ ├── profile.md (заполни вручную) │ └── events/log.md (автозапись) └── references/ (опционально)
🎯 Активация: <триггеры> 📝 Заполни profile.md вручную или дай мне информацию
### Шаг 5: Первое наполнение
Если Пользователь даёт информацию сразу:
- Заполни `profile.md` структурированно
- Если есть первое событие → запиши в `log.md`
---
## Примеры агентов
### AutoMechanic (Автомеханик)
**Чеклист автофиксации для AutoMechanic:**✅ Записывать:
❌ НЕ записывать:
**Профиль** (`data/profile.md`):...
**События** (`data/events/log.md`):
### CopywriterStyle (Стиль копирайтера)
**Профиль** (`data/profile.md`):
**Примеры** (`references/examples.md`):<текст поста>
<что НЕ делать>
---
## Интеграция с memory.sqlite
Агент работает **гибридно**:
1. **MD-файлы** = структурированное хранение (профиль, события)
2. **memory.sqlite** = быстрый поиск по всем разговорам
Когда записываешь событие:// 1. Дописать в MD Edit("data/events/log.md", ...)
// 2. Сохранить в память storeMemory("Замена масла 120500 км, 01.03.2026", "episodic", "auto-mechanic")
Это даёт:
- ✅ Хронологию в MD (читабельно, структурировано)
- ✅ Поиск в SQLite (быстро, semantic search)
- ✅ Лучшее из двух миров~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.