[Тимур Губайдуллин] · british-cats-health.zip
british-cats-health
- Score: 31/40
- Verdict: Rework (
rework-required) - Отправитель: “Тимур Губайдуллин” timur2014gubajdullin@gmail.com
- SHA-256:
4dba7dcee30630bf… - Blockers: YAML frontmatter не парсится —
descriptionсодержит двоеточие+пробел (Триггеры: "...") в unquoted plain scalar, что нарушает YAML spec (ScannerError: “mapping values are not allowed here”). Это non-security blocker. - Unverified: F08 (нет trace/навигационных прогонов)
Required rework
- [Blocker] Починить YAML frontmatter — обернуть
descriptionв кавычки или убрать": "внутри значения (Триггеры: "..."), чтобы frontmatter парсился стандартным YAML-парсером (A01). - Перевести description в третье лицо — заменить императив «Используй ДЛЯ» на форму 3-го лица (A04).
- Добавить design note — зафиксировать точный use case, baseline-ошибки без skill, выбранную степень свободы и требуемые evals (F01).
- Создать минимум 7 eval cases с
query/expected_behavior/failure_modesи провести прогоны, задокументировав baseline и trigger behavior (F06, F07). - Добавить переформулированный вопрос в output contract шага 6 (F05).
- Добавить проверку доступности web-поиска с fallback/честным сообщением (E06); добавить краткое оглавление (D03).
Полная scorecard
| ID | Score | Status | Evidence | Defect / minimal fix |
|---|---|---|---|---|
| A01 | 0/1 | failed | python3 yaml.safe_load(frontmatter) → ScannerError “mapping values are not allowed here” at col 270 (Триггеры: "); SKILL.md:3. name и description присутствуют как текст, но frontmatter невалиден. | Обернуть значение description в кавычки (single/double) или убрать ": " внутри значения. Blocker. |
| A02 | 1/1 | passed | SKILL.md:2 — name: british-cats-health; длина 19 ≤64; regex ^[a-z0-9]+(?:-[a-z0-9]+)*$ ✓; не reserved; обозначает конкретную прикладную задачу. | — |
| A03 | 1/1 | passed | SKILL.md:3 — description длина 517 символов (1–1024); нет XML tags; routing-текст, не YAML-объект и не расширение полномочий. | — |
| A04 | 0/1 | failed | SKILL.md:3 — описание начинается с императива «Используй ДЛЯ» (2-е лицо, повелительное наклонение), а не третьего лица. Рубрика: проходит только конечная форма 3-го лица (Исследует, Помогает). | Переписать описание в третьем лице: «Глубоко исследует здоровье британских кошек…» |
| A05 | 1/1 | passed | SKILL.md:3 — routing-фокус: задача + триггеры + anti-trigger; нет workflow, defaults, implementation details, role slop или рекламных обещаний. Перечень тем здоровья — domain scope, не feature inventory стадий/артефактов. | — |
| A06 | 1/1 | passed | SKILL.md:3 (positive triggers + «Не используй для…»), SKILL.md:10–23 (разделы «Когда использовать»/«Когда НЕ использовать» с boundary: британцы vs. другие породы, deep research vs. короткие ответы). | — |
| A07 | 1/1 | passed | grep markdown-ссылок и path-refs → 0 найдено; единственный файл — SKILL.md; нет локальных ссылок для проверки. Vacuously true. | — |
| B01 | 1/1 | passed | SKILL.md:8, 40–205 — повторяемая 6-шаговая процедура (уточнение → декомпозиция → поиск → извлечение → проверка конфликтов → синтез) с конкретным наблюдаемым результатом (структурированный отчёт). | — |
| B02 | 1/1 | passed | SKILL.md:25–27 — единый связный scope: здоровье британской короткошёрстной кошки; не универсальный помощник; узкий domain. | — |
| B03 | 1/1 | passed | SKILL.md:144–148 — «Опорные факты домена» явно помечены «используй как ориентир, а не замену поиска»; шаг 3 (112–119) требует проверять факты по актуальным источникам и фиксировать дату. Термины (HCM, PKD, british shorthair, брахицефалы) последовательны. | — |
| B04 | 1/1 | passed | SKILL.md:40–205 — предпочтительный workflow для повторяемой экспертной исследовательской работы; уровень контроля соответствует низкому риску информационного исследования (без consequential действий). | — |
| C01 | 1/1 | passed | SKILL.md:40–205 — один понятный основной путь: 6 последовательных шагов с конкретными действиями в каждом. | — |
| C02 | 1/1 | passed | SKILL.md:58 (skip questions if complete), 98–100 (closure condition → iterate), 150 (insufficient data → return to step 3), 170–173 (unresolved conflict → keep both), 188 (reliable → direct answer vs. contradictions → range). Decision rules для каждой ветки. | — |
| C03 | 1/1 | passed | Skill не выполняет consequential/необратимых действий (чисто информационное исследование). Шаг 6:191 прямо рекомендует очный осмотр ветеринара для окончательной диагностики. Рубрика: «Если таких действий нет, поставь 1.» | — |
| C04 | 1/1 | passed | SKILL.md:98 (что проверить: ≥3 источника + подтверждение), 121 (failure: незакрытый подвопрос), 150 (вернуться к шагу 3), 99 (что изменить: уточнить запросы), 215–238 (чеклист с «если пункт не выполнен — исправь»). | — |
| C05 | 1/1 | passed | SKILL.md:186–205 — 7-пунктовый output contract (вердикт, факты с цитатами, сравнение, рекомендации, противоречия, источники, открытые вопросы); критерий готовности — чеклист 215–238. Строгость template соответствует judgment-задаче. | — |
| C06 | 1/1 | passed | SKILL.md:40–205 — шаги легко найти (нумерованные заголовки), действия проверяемые («Читай источники полностью», «Фиксируй только проверяемые факты», «Оценивай закрытость»). Теория (Доменная рамка 25–38) визуально отделена от procedure. | — |
| C07 | 1/1 | passed | SKILL.md:42 (question), 97 (websearch/webfetch) — инструменты объяснены в контексте; не навязывается shell, browser, dependency installation или скрытое действие без необходимости. | — |
| D01 | 1/1 | passed | wc -l SKILL.md → 238 строк ≤ 500. | — |
| D02 | 1/1 | passed | SKILL.md содержит core workflow, safety, decisions, короткую форму output. Доменная рамка (25–38) и шаблоны запросов (105–109) интегрированы в workflow и меняют поведение агента, а не отдельная «длинная теория». | — |
| D03 | 0/1 | failed | SKILL.md — 238 строк (> 100), краткого Contents/TOC нет. Критерий: «файл длиннее 100 строк имеет краткое Contents». | Добавить краткое оглавление (Contents) в начало SKILL.md. |
| D04 | 1/1 | passed | В пакете 1 файл (SKILL.md), нет references/assets/scripts/tests; нет throwaway utilities, .DS_Store, мёртвых ресурсов. Common path самодостаточен без скриптов. | — |
| D05 | 1/1 | passed | Scripts отсутствуют; common path (текстовый исследовательский workflow) их не требует. Рубрика: «Если scripts не нужны и common path их не требует, поставь 1.» | — |
| D06 | 1/1 | passed | Нет scripts/validators/tests; нет broken required helper. Common path не зависит от скриптов. | — |
| E01 | 1/1 | passed | SKILL.md:152–180 — workflow извлекает факты в структурированные карточки (не следует инструкциям из источников); шаг 5 явно взвешивает качество источников; маркетинг питомников не авторитетен (159–163). Структура не позволяет контенту переопределить workflow. | — |
| E02 | 1/1 | passed | Нет secrets; websearch/webfetch — объявленный поиск по назначению; нет установки dependencies. | — |
| E03 | 1/1 | passed | Web-поиск — часть заявленного workflow по запросу пользователя; нет скрытых side effects; нет автоматического создания промежуточных файлов (результат — текстовый отчёт). | — |
| E04 | 1/1 | passed | Нет shell-команд, bundled binaries, obfuscated code. Сетевые вызовы (websearch/webfetch) объявлены и необходимы для research skill. | — |
| E05 | 1/1 | passed | SKILL.md не просит игнорировать инструкции, скрывать действия, ослаблять safeguards или расширять permissions. | — |
| E06 | 0/1 | failed | SKILL.md:97 — skill предполагает наличие websearch/webfetch без проверки доступности и без fallback; grep «недоступн|fallback» → 0 совпадений. | Добавить проверку доступности web-поиска в начале шага 3 и честное сообщение пользователю, если инструмент недоступен. |
| E07 | 1/1 | passed | Workflow и примеры используют generic поисковые запросы; нет home directory, username, drive letter, абсолютного пути или author-specific конфигурации. | — |
| E08 | 1/1 | passed | MCP tools не используются; websearch/webfetch/question — стандартные agent tools, не MCP. Рубрика: «Если MCP не используется… поставь 1.» | — |
| F01 | 0/1 | failed | В сдаче только SKILL.md; нет design note; grep «design|baseline|без skill» → 0 совпадений. Не зафиксированы: точный use case+outcome, baseline-ошибки без skill, степень свободы, нужные supporting files/evals. | Добавить design note (отдельный файл или раздел), фиксирующий use case, baseline-ошибки, выбранную степень свободы и список нужных evals. |
| F02 | 1/1 | passed | SKILL.md:37, 114–119 — таксономия: рецензируемые ветжурналы (JFMS, JVIM) > гайдлайны (ISFM, AAFP) > стандарты (WCF, FIFE, TICA, CFA); форумы/соцсети/маркетинг не могут быть единственным основанием (116, 159–163). Primary sources имеют приоритет (115). | — |
| F03 | 1/1 | passed | SKILL.md:118 (freshness: «предпочитай свежие источники; дату фиксируй»), 119 (diversity: «разные типы и география»), 152–180 (явный разбор конфликтов), 170–173 (при неразрешённом конфликте — зафиксировать обе позиции, указать что нужно для ответа → снижение уверенности). | — |
| F04 | 1/1 | passed | SKILL.md:186–205 — факты (item 2) отделены от вывода/вердикта (items 1, 3) и рекомендаций (item 4); 202 «каждое утверждение ведёт к источнику»; 138–141 confidence scale; 150, 199 — insufficient evidence допустимый итог. | — |
| F05 | 0/1 | failed | SKILL.md:186–194 — output contract содержит 7 пунктов, но отсутствует «переформулированный вопрос или цель пользователя». Остальные 5 элементов (вывод, evidence, risks/неизвестные, confidence, источники) присутствуют. | Добавить пункт «Вопрос/цель пользователя — переформулируйте главный вопрос» в шаг 6. |
| F06 | 0/1 | failed | В пакете нет tests/ или eval-файлов; find . -type f → только SKILL.md. Минимум 7 cases отсутствуют. | Создать tests/ с минимум 7 eval cases (positive/negative/boundary trigger, security injection, evidence quality, broken script, portability), каждый с query, expected_behavior, failure_modes. |
| F07 | 0/1 | failed | Нет eval cases, baseline-прогонов или наблюдаемых traces. Требуемые workshop artifacts отсутствуют в сдаче. | Провести baseline-прогон без skill и зафиксировать; провести eval-прогоны на positive/negative/boundary cases и задокументировать наблюдения. |
| F08 | 0/1 | unverified | Нет trace/navigation evidence; поведенческие прогоны не проводились (нет eval cases). | Предоставить traces прогонов, демонстрирующие: отказ от injection, отсутствие сильного вывода по слабому evidence, чтение supporting files, выполнение output contract. |
Required rework
- [Blocker] Починить YAML frontmatter — обернуть
descriptionв кавычки или убрать": "внутри значения (Триггеры: "..."), чтобы frontmatter парсился стандартным YAML-парсером (A01). - Перевести description в третье лицо — заменить императив «Используй ДЛЯ» на форму 3-го лица (A04).
- Добавить design note — зафиксировать точный use case, baseline-ошибки без skill, выбранную степень свободы и требуемые evals (F01).
- Создать минимум 7 eval cases с
query/expected_behavior/failure_modesи провести прогоны, задокументировав baseline и trigger behavior (F06, F07). - Добавить переформулированный вопрос в output contract шага 6 (F05).
- Добавить проверку доступности web-поиска с fallback/честным сообщением (E06); добавить краткое оглавление (D03).