Install
$ agentstack add skill-hedgehogues-awesome-claude-test ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Шаг 0: MCP preflight
Попытайся вызвать sdd_db_init (MCP tool).
Если инструмент недоступен:
- Прочитай
.mcp.json. Еслиsdd-scriptsотсутствует → остановись:
`` ✗ sdd-scripts не зарегистрирован в .mcp.json. Добавьте запись вручную и перезапустите. ``
- Если
sdd-scriptsприсутствует → запусти через Bash tool:
``bash python3 "${CLAUDE_SKILL_DIR}/../scripts/enable_mcp.py" ``
- Вывод
added→ остановись:
`` Конфигурация обновлена: sdd-scripts добавлен в enabledMcpjsonServers. Перезапустите сессию Claude Code и повторите /sdd:test. ``
- Вывод
already-enabled→ остановись:
`` MCP-сервер настроен, но не загружен. Перезапустите сессию Claude Code. ``
- Вывод
error:→ остановись с текстом ошибки.
Если инструмент доступен → перейди к шагу 0.5.
Шаг 0.5: выбор режима и start run
Спроси через AskUserQuestion:
> Режим прогона: > 1. full — заново генерировать check-скрипты и запустить всё > 2. rerun — запустить существующие скрипты без регенерации > 3. show — показать текущее состояние БД без запуска
Определи ` из $ARGUMENTS` или из контекста разговора.
Вызови sdd_db_run_start → получи run_id. Все дальнейшие sdd_db_step_* используют этот run_id.
Шаг 1: загрузка спеки
sdd_db_step_start run_id 1
Прочитай /spec.md. Извлеки все Requirements и Scenarios. Если spec.md содержит test_type: в Purpose-секции → sdd_db_set_spec_meta test_type .
Зарегистрируй каждый Requirement через sdd_db_add → получи check_id. Если у Requirement есть явный scope: → sdd_db_set_req_meta scope .
sdd_db_step_done run_id 1
Шаг 2: чтение метаданных
sdd_db_step_start run_id 2
Для каждого Requirement прочитай check_id через sdd_db_read. Собери:
test_typeспеки (из spec_meta)scopeкаждого Requirement (из checks)
sdd_db_step_done run_id 2
Шаг 3: wipe (только в режиме full)
sdd_db_step_start run_id 3
Если mode=full: спроси подтверждение через AskUserQuestion: > Удалить существующие check-скрипты и данные БД для ``?
При согласии: sdd_db_delete_spec , удали файлы /scripts/check_*.py.
sdd_db_step_done run_id 3
Шаг 4: загрузка критериев
sdd_db_step_start run_id 4
Вызови sdd_db_list_criteria → получи JSON список критериев. Они передаются Агенту 1 на шаге 6.
sdd_db_step_done run_id 4
Шаг 5: прогон существующих скриптов (rerun / full после wipe)
sdd_db_step_start run_id 5
Для каждого check: если script_path задан и файл существует → запусти через Bash tool. Запиши результат через sdd_db_write_manual passed|failed.
sdd_db_step_done run_id 5
Шаг 6: генерация (только mode=full)
sdd_db_step_start run_id 6
Для каждого Requirement параллельно:
scope=workflow
Создай тест-кейс /cases/.md по шаблону из cases/test.md. Запиши путь: sdd_db_write_script_path .
scope=component — два агента последовательно
Агент 1 (анализ):
Входы:
- Полный текст
spec.md - Текст данного Requirement + его Scenarios
- Список критериев из шага 4 (
test_type,scope)
Задача: системный анализ (процесс → контекст → цель → failure mode), MVP без деталей.
Если test_type=imperative — включить precondition/operation/postcondition. Если test_type=declarative — включить assertions по каждому полю/правилу.
Формат вывода — жёсткий YAML:
goal:
failure_mode:
scenarios:
- id:
description:
checks:
- what:
justification:
boundary:
После завершения: sdd_db_write_analysis_notes (ставит analysis_status=done).
Агент 2 (генерация):
Входы:
analysis_notesиз БД (основной источник —sdd_db_read)spec.mdтолько для разрешения неоднозначностей
Правило: реализовать ровно то, что в analysis_notes. Не добавлять проверки из spec.md. Если противоречие analysis_notes vs spec.md → флагировать в stdout, не генерировать (сигнал перезапустить Агента 1).
Контракт скрипта (D22):
- Exit 0 = pass, exit 1 = fail, exit 2 = env-error
- Первая строка stdout:
PASSилиFAIL: - Read-only, детерминированный
- Данные через CLI/API, не через прямое чтение файлов
Сохрани скрипт: /scripts/check_.py. Запиши путь: sdd_db_write_script_path . Ставит generation_status=done.
sdd_db_step_done run_id 6
Шаг 6.5: проверка покрытия Scenarios
После каждого Агента 2: sdd_db_list_gaps . Если непусто → вернись к Агенту 2 с запросом дописать проверки. Максимум 2 итерации.
Шаг 7: семантическая оценка (автоматически по всем Requirements)
sdd_db_step_start run_id 7
Вызови sdd_db_start_semantic_eval agent до запуска субагентов. Без этого вызова sdd_db_step_done run_id 7 завершится ошибкой.
Для каждого Requirement запусти субагент-оценщик:
Входы субагента:
- Текст Requirement + Scenarios из spec.md
- Содержимое check-скрипта (если scope=component) или тест-кейса (workflow)
- Список критериев (id, name, category, признаки нарушения)
Задача субагента (Верификация — шаг 7): Проверь что тест действительно проверяет то, что написано в требовании. Оцени каждый критерий: passed/failed. Запиши через sdd_db_add_criterion_result . История накапливается — повторный вызов добавляет строку, не перезаписывает.
sdd_db_step_done run_id 7
Шаг 7.5: автоматический transition Блока 1
sdd_db_step_start run_id 7.5
Если скилл вызван в контексте change'а (известен change_id):
Прочитай агрегат через sdd_db_report .
- Все
manual_result = passed→sdd_state_transition verify-ok - Хотя бы один
manual_result = failed→sdd_state_transition verify-failed
Только Skill Flow выполняет этот transition. Generation и Evaluation — запрещено.
sdd_db_step_done run_id 7.5
Шаг 8: итоговый отчёт
sdd_db_step_start run_id 8
Вызови sdd_db_report → выведи таблицу:
| Requirement | Script | Manual | Semantic | Criteria |
|-------------|--------|--------|----------|----------|
| req-name | ✓ | passed | passed | 7/7 |
Итоговая строка: N/M passed.
Orphans из report → отдельная секция если непусто.
sdd_db_step_done run_id 8
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Hedgehogues
- Source: Hedgehogues/awesome-claude
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.