Спочатку дослідіть
/opsx:explore — ваш партнер для роздумів. Звертайтеся до нього щоразу, коли у вас є проблема, але ще немає плану. Він досліджує вашу кодову базу, обговорює з вами варіанти та уточнює, що ви насправді хочете, — і все це до того, як буде створено хоча б один артефакт чи рядок коду. Коли картина стає чіткою, він передає справу /opsx:propose.
Якщо ви запам'ятаєте лише одну звичку з цих документів, нехай це буде саме ця: коли ви не впевнені — досліджуйте, перш ніж пропонувати.
Ось чому це важливо. ШІ-асистенти з кодуванням завзяті. Запитайте розмито — і вони впевнено створять щось, просто можливо не те, що вам потрібно. Explore — це ліки. Це розмова без ризиків, де ви та ШІ разом визначаєте правильний хід, щоб до моменту пропозиції ви пропонували саме те, що потрібно.
Коли досліджувати
Explore — це правильний перший крок частіше, ніж люди очікують. Використовуйте його, коли виконується хоча б одна з цих умов:
- Ви знаєте проблему, але не рішення. («Сторінки повільні.» «Авторизація — хаос.» «Ми постійно отримуємо дубльовані замовлення.»)
- Ви обираєте між підходами і хочете побачити компроміси порівняно з вашим реальним кодом.
- Ви новачок у кодовій базі і вам потрібно зрозуміти, як щось працює, перш ніж це змінювати.
- Вимоги розмиті, і ви хочете уточнити їх, перш ніж зобов'язуватися.
- Ви підозрюєте, що робота більша чи менша, ніж здається, і хочете чесно оцінити її масштаб.
Пропускайте explore лише тоді, коли ви вже точно знаєте, що хочете і як. У такому разі одразу переходьте до /opsx:propose.
Що він робить (і чого не робить)
Explore — це розмова, а не генератор.
Він робить:
- Читає та шукає у вашій кодовій базі, щоб відповісти на реальні запитання.
- Порівнює варіанти та називає компроміси кожного.
- Малює діаграми, щоб зробити дизайн зрозумілим.
- Допомагає звузити розмите ідею до конкретного, реалізованого масштабу.
- Переходить до
/opsx:propose, коли ви готові.
Він не робить:
- Не створює папку змін.
- Не пише жодних артефактів (жодних пропозицій, специфікацій, дизайну чи завдань).
- Не пише та не змінює код.
Саме в цьому суть. Дослідження нічого вам не коштує і ні до чого не зобов'язує. Ви можете дослідити три тупикові стежки, щось дізнатися з кожної, і лише тоді запропонувати шлях, який вижив.
Він уже встановлений
Гарна новина: /opsx:explore постачається в стандартному профілі core, поруч з propose, apply, update, sync та archive. Вам не потрібно нічого увімикати. Якщо OpenSpec налаштовано у вашому проекті, explore готовий у вашому ШІ-чаті. (Як і всі команди /opsx:*, ви вводите її в чаті вашого асистента, а не в терміналі. Див. Як працюють команди.)
Повний приклад
Спостерігайте, як розмита тривога перетворюється на чітку, реалізовану зміну.
You: /opsx:explore
AI: What would you like to explore?
You: Our checkout sometimes creates duplicate orders. I don't know why
and I don't know how to fix it safely.
AI: Let me dig into the checkout path...
[reads the order service, the payment webhook handler, and the
client submit logic]
Here's what I found. There are two ways a duplicate can happen:
1. The client can submit twice (double-click, retry on slow network).
Nothing debounces it.
2. The payment webhook can fire more than once, and the handler
creates an order each time. There's no idempotency key.
Cause #2 is the dangerous one: it can charge and fulfill twice.
Three ways to fix it, roughly in order of robustness:
- Idempotency key on the order-creation endpoint (handles both causes)
- Dedup on the webhook by payment-intent id (handles #2 only)
- Client-side debounce (handles #1 only, papers over the real bug)
Given your code already stores the payment-intent id, the
idempotency-key approach is a small change with the biggest payoff.
Want me to scope that?
You: Yes, let's do the idempotency key.
You: /opsx:propose add-order-idempotency-key
AI: Created openspec/changes/add-order-idempotency-key/, with a proposal
and delta spec grounded in what we just found. Ready for implementation.Зверніть увагу, що сталося. Вихідна точка — «щось не так, і я боюся це чіпати». Двадцять секунд дослідження перетворили це на названу кореневу причину, три ранжовані варіанти, рекомендацію, прив'язану до наявного коду, та точну зміну. Пропозиція, що йде далі, гостра саме тому, що роздуми відбулися першими.
Передача справи propose
Explore нікуди не архівується. Коли ви готові, ви просто починаєте зміну, і ШІ переносить контекст із вашої розмови в артефакти.
explore ──► propose ──► apply ──► archive
(think) (agree) (build) (record)Ви можете сказати це простою мовою («перетворимо це на зміну») або безпосередньо виконати /opsx:propose <name>. У будь-якому разі дослідження, яке ви щойно провели, стає фундаментом пропозиції, а не викинутою розмовою.
Якщо ви використовуєте розширений набір команд, explore може передати справу /opsx:new замість цього, для покрокового створення артефактів. Див. Робочі процеси.
Поради для якісного дослідження
- Принесіть проблему, а не рішення. «Вхід у систему повільний」 дає ШІ простір для розслідування. «Додайте кеш Redis」 заздалегідь зобов'язує вас до відповіді, яку ви ще не перевірили.
- Попросіть компроміси вголос. «Які недоліки у кожного варіанту?」 дає вам чесніше порівняння.
- Дайте йому спершу прочитати. Найкраще дослідження починається з того, що ШІ насправді дивиться на ваш код, а не вгадує. Вкажіть йому на відповідну область, якщо це допоможе.
- Можна відмовитися. Якщо дослідження показує, що ідея не варта того, це перемога. Ви дізналися це дешево.
- Досліджуйте знову під час зміни. Застрягли під час
/opsx:apply? Ви можете відступити і дослідити підпроблему, а потім повернутися.
Чесні компроміси
Що ви отримуєте: explore ловить хибні повороти у найвигідніший момент, до того, як існує будь-який артефакт. Він особливо потужний у незнайомому коді, де здатність ШІ читати та узагальнювати систему економить вам післяобіднє блукання.
Що це коштує: трохи терпіння. Explore — це розмова, тому він повільніший, ніж просто відправити /opsx:propose і сподіватися. Для роботи, яку ви вже справді розумієте, цей додатковий крок — чистий надлишок, і його слід пропустити.
Правило: чим розмитіше завдання, тим більше explore виправдовує себе. Чим чіткіше завдання, тим більше можна одразу переходити до пропозиції.
Куди йти далі
- Команди:
/opsx:explore: точне посилання - Робочі процеси: explore як частина щоденного циклу
- Приклади та рецепти: explore у повному огляді
- Початок роботи: гід першої зміни, з дослідженням включно