Воронки
Модуль 04F-funnel хранит и валидирует карточки воронок: типизированный flow из узлов
(content / cta / bot / channel / deliver), который описывает путь от точки входа до
выдачи (лид-магнит / ссылка / оффер). Есть два банка — reference-банк с 3 generic шаблонами
(direct / channel-magnet / bot-sub-magnet) и account-банк own-воронок аккаунта
(accounts/<slug>/funnels/_bank/); конкретные own-воронки обычно рождает strategy-wizard из
шаблонов, а /funnel даёт ручной доступ к банку.
/funnel
Заголовок раздела «/funnel»Конструктор и просмотрщик карточек воронки — детерминированная запись/чтение банка, без LLM-вызовов.
Когда использовать. Нужно вручную завести воронку, которую не поймал strategy-wizard (например, разовый эксперимент или конкурентский разбор), или посмотреть, что уже лежит в банке — свой или reference.
Как вызвать
/funnel add — новая карточка воронки в банк аккаунта/funnel list — показать карточки reference-банка и account-банка/funnel show <id> — детали одной карточкиПри add агент собирает поля карточки:
id— kebab-slug имени воронкиname— названиеsource—own|competitor|referencestatus—live|testing|idea|broken|not_implementedflow— непустой список типизированных узлов (обязателен):{node: content}— точка входа (опц.ch: ig|tg|paid|collab){node: cta}— призыв, механика в DM (опц.via: keyword|link){node: bot}— узел бота{node: channel}— TG-канал (опц.subscribe: true= гейт-подписка, опц.ref){node: deliver, gives: ...}— терминальный узел выдачи (обязателен ≥1).gives:lead_magnet(ref = id карточки 04L) |link(ref = url) |offer(ref = текст/нет)
tier,note— опциональноevidence— обязателен, еслиsource=ownилиcompetitor(Iron rule — без пруфа нельзя)
Что на входе / на выходе
- Вход:
accounts/<slug>/identity/current.yaml(для определения slug), при обычной работе косвенно опирается наaccounts/<slug>/strategy/current.yaml. - Выход:
accounts/<slug>/funnels/_bank/<id>.md— карточка воронки аккаунта; reference-шаблоны лежат отдельно вmodules/04F-funnel/reference-bank/_index.yaml(3 базовых: direct / channel-magnet / bot-sub-magnet).
Пример
/funnel addАгент спрашивает slug (если не задан), собирает поля карточки (name/source/status/flow/evidence),
показывает собранную карточку на подтверждение и пишет её через funnel_bank.write(...) в
accounts/<slug>/funnels/_bank/. В конце сообщает путь записанного файла и id карточки.
/funnel list/funnel show bot-sub-magnetlist показывает содержимое reference-банка и account-банка; show <id> печатает детали одной
карточки по id.
Гейты/апрувы
- Перед записью агент показывает собранную карточку пользователю для подтверждения — запись происходит только после согласия.
- Если
source=ownилиcompetitor, полеevidenceобязательно (Iron rule) — без него карточка не проходит.
Связанные: own-воронки в банк обычно кладёт strategy-wizard как часть /strategy; карточки воронки читает /plan-week при сборке слотов недели.