Spike
Create a timeboxed research SPIKE-NNN for answering an open technical / product question before committing to implementation. Use when PM mentions "research task", "spike", "investigation", "research question", "explore a problem", "ресёрч", "спайк", or any request to investigate an unknown before locking a design. Trigger liberally — under-triggering forces the agent to speculate without recording the research trail; over-triggering is recoverable (PM can close the spike early).From its SKILL.md
npx -y skills add cryndoc/polisade-orchestrator --skill spikeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.8 KB, as published. Nobody here has run it
/polisade:spike [вопрос] — Исследовательская задача
Timeboxed исследование для принятия технического решения.
Использование
/polisade:spike Какую библиотеку использовать для PDF генерации?
/polisade:spike Redis vs DynamoDB для кэширования сессий
/polisade:spike Возможно ли интегрировать с Stripe без webhook?
Когда использовать
| Ситуация | Действие |
|---|---|
| Выбор между технологиями | /polisade:spike |
| Проверка feasibility | /polisade:spike |
| Оценка сложности интеграции | /polisade:spike |
| Понятное решение | Не нужен, сразу ADR или код |
Алгоритм
- Вычисли next-id для SPIKE по протоколу из
skills/tasks/references/compute-next-id.md(единый max по.state/counters.json,PROJECT_STATE.artifactIndexи file-scanbacklog/spikes/SPIKE-*.md). При Counter drift — АБОРТ с рекомендациейpython3 {plugin_root}/scripts/polisade_sync.py . --apply --yes. - Write-guard. Перед
Writeпроверь, чтоbacklog/spikes/SPIKE-{N}-slug.mdне существует и что ключаSPIKE-{N}нет вstate.artifactIndex. При коллизии — АБОРТ. - Создай файл
backlog/spikes/SPIKE-XXX-slug.md - Спроси timebox:
- "Сколько времени выделить на исследование? (по умолчанию 4h)"
- Инкрементируй счётчик SPIKE (
counters.json[SPIKE] = N). - Обнови
.state/PROJECT_STATE.json:- Добавь SPIKE со статусом
ready - Добавь в
readyToWork
- Добавь SPIKE со статусом
- Выведи подтверждение
Timebox
SPIKE всегда имеет ограничение по времени:
| Timebox | Когда |
|---|---|
| 2h | Быстрая проверка одной библиотеки |
| 4h | Сравнение 2-3 вариантов (по умолчанию) |
| 8h | Глубокое исследование, PoC |
После истечения timebox:
- Принять решение на основе имеющихся данных
- Или попросить PM продлить timebox
Шаблон файла
Используй docs/templates/spike-template.md
Формат подтверждения
═══════════════════════════════════════════
SPIKE СОЗДАН
═══════════════════════════════════════════
ID: SPIKE-001
Вопрос: Какую библиотеку использовать для PDF?
Файл: backlog/spikes/SPIKE-001-pdf-library.md
Timebox: 4h
Статус: ready
═══════════════════════════════════════════
СЛЕДУЮЩИЙ ШАГ:
→ /polisade:implement SPIKE-001 — начать исследование
→ /polisade:continue — автономная работа
═══════════════════════════════════════════
Процесс исследования
При /polisade:implement SPIKE-XXX:
-
Исследуй варианты
- Изучи документацию
- Посмотри примеры использования
- Проверь активность проекта
-
Заполняй spike файл
- Плюсы/минусы каждого варианта
- Заметки в процессе
-
По завершении
- Запиши решение в секцию "Результат"
- Создай ADR с решением (файл в docs/architecture/decisions/)
- Статус SPIKE ->
done
Формат завершения
═══════════════════════════════════════════
SPIKE ЗАВЕРШЁН
═══════════════════════════════════════════
ID: SPIKE-001
Вопрос: Какую библиотеку использовать для PDF?
Потрачено: 3h из 4h
РЕШЕНИЕ: jsPDF
Причина:
• Простой API
• Достаточно для наших задач
• Активное сообщество
Следующие шаги:
• Создан ADR-001 с решением
• Готов к /polisade:tasks FEAT-XXX
═══════════════════════════════════════════
Важно
- SPIKE — для исследования, не для реализации
- Всегда устанавливай timebox
- Результат SPIKE -> ADR + следующие шаги
- Если timebox истёк — принимай решение или проси продление