Бизнес-школа 7К
Контент · 04

Гайд на вашем сайте

Гайд — то, что подписчик получает в директ за кодовое слово. Это страница-разбор на вашем сайте: связный текст, две инфографики, источники и кнопка с кодовым словом. Агент пишет, рисует и выкладывает её одной командой.

команда
/гайд
инфографики
2 × 1536×1024
проверка
страница отдаёт 200

01Как выглядит

Так выглядит живой гайд «Почему блог не приносит продажи» на сайте студии: шапка, связный текст, инфографика, врезка «Где обычно ошибаются».

https://guides.kurs-neuro.ru/guides/pochemu-blog-ne-prodaet
Гайд на компьютере
Первый экран гайда на компьютере
Гайд целиком
Вся страница — прокрутите внутри рамки
Гайд на телефоне
Тот же гайд на телефоне

02Канон гайда: четыре опоры

ОпораЧто значит
Реальные источникикаждая цифра и утверждение — из исследования или документации. Блок «Источники» обязателен: гайд без ссылок не публикуется
Связная прозаабзацы подряд, а не список из семи пунктов вместо текста
Готовый дизайнстраница собирается из готовых блоков сайта, свою вёрстку агент не изобретает
Две инфографикипервая — общая схема, вторая — порядок действий или сравнение

03Шаги

  1. 1

    Страница и карточка

    делает агент

    Пишет site/app/guides/<slug>/page.tsx и добавляет карточку в site/lib/guides.ts первой в список — так гайд появится на витрине.

  2. 2

    Инфографики

    делает агент

    Две картинки в ChatGPT по спеке. Готовые пропускаются, файл меньше 10 КБ считается браком.

  3. 3

    Текст через humaniser

    делает агент

    Гайд — длинный текст в публикацию, его чистят от AI-клише и проверяют линтером с флагом --allow-dots.

  4. 4

    Деплой

    делает агент

    Сайт собирается на сервере, проверяется ответ 200, при сбое сам откатывается.

  5. 5

    Проверка перед воронкой

    делает агент

    Страница и обе инфографики открываются, карточка видна в списке гайдов. В реестре — guideLive: true и ссылка.

›_
Вы пишете агенту
Сделай гайд по этой карусели и выложи на сайт.
›_
Вы пишете агенту
Проверь, что гайд открывается. / Откати сайт на прошлую версию.

04Инфографики

Агент описывает обе картинки в спеке. Каждая карточка пишется строкой по шаблону «N ЗАГОЛОВОК — пояснение | example chip: «пример»».

workspace/guides/<slug>/infographics.json
{
  "slug": "<slug>",
  "outDir": "site/public/guides/<slug>",
  "wordmark": "<БРЕНД>",
  "items": [
    {
      "file": "infographic-01.png",
      "title": "Где тема стоит в системе",
      "subtitle": "Одна строка пояснения",
      "intro": "Одно вводное предложение, которое задаёт урок.",
      "cards": [
        "1 ПЕРВЫЙ ШАГ — что это | example chip: «пример»",
        "2 ВТОРОЙ ШАГ — что это | example chip: «пример»",
        "3 ТРЕТИЙ ШАГ — что это | example chip: «пример»"
      ],
      "takeaway": "Одно правило, которое надо запомнить"
    },
    { "file": "infographic-02.png", "title": "Порядок проверки", "subtitle": "…", "intro": "…",
      "cards": ["1 …", "2 …", "3 …", "4 …"], "takeaway": "…" }
  ]
}
встроенный стиль инфографики (если свой не задан)
A DETAILED EDUCATIONAL TEACHING BANNER / classroom-poster infographic, LANDSCAPE orientation 1536x1024 (3:2). Think of a richly-labelled textbook diagram that explains a concept step by step. WARM CREAM PAPER background #F7F2E8 with a very subtle paper texture — premium editorial magazine look, NOT a white tech UI. Use an elegant high-contrast SERIF display font (like Playfair Display) for the big TITLE, and a clean readable sans for labels. ALL TEXT IN RUSSIAN, correct spelling, NO gibberish, real legible words.
Layout as a full one-page teaching poster:
- TOP: bold serif TITLE + a short subtitle + ONE intro sentence that frames the lesson.
- MIDDLE: large numbered cards on warm off-white #FCF9F2 with thin warm borders #E4DAC7 and soft shadow, arranged to fill the wide frame. Each card is detailed: a TERRACOTTA #BE4A24 rounded number badge + a simple thin line ICON + a bold heading (dark warm ink #1E1A16) + ONE short line of explanation #6E655A + a tiny MONOSPACE example chip in a darker pill.
- thin terracotta connector ARROWS left-to-right showing flow.
- BOTTOM: a highlighted TAKEAWAY strip with soft terracotta tint and a bold one-line rule to remember.
Small "<WORDMARK>" wordmark bottom-right in terracotta. Calm, warm, premium, well-spaced but information-rich like a study sheet.

TITLE: "<title>". Subtitle: "<subtitle>".
Intro sentence under the title: "<intro>"
<N> large detailed numbered cards (1..N), left-to-right:
<cards по строке>
Bottom takeaway strip (bold): "<takeaway>"
Свой стиль клиента подаётся полем style. Коды цвета здесь допустимы — это картинка, а не видео.

05Деплой и проверка

команды
node scripts/content/guide-infographics.mjs workspace/guides/<slug>/infographics.json   # две инфографики 1536×1024
python ~/.claude/skills/humaniser/scripts/lint.py <текст-гайда>.md --allow-dots           # проверка текста

node scripts/site-deploy.mjs              # деплой + проверка 200, при сбое сам откатывается
node scripts/site-deploy.mjs --check      # только проверить, что домен живой
node scripts/site-deploy.mjs --rollback   # вернуть предыдущий релиз

curl -s -o /dev/null -w "%{http_code}\n" https://<домен>/guides/<slug>
curl -s -o /dev/null -w "%{http_code}\n" https://<домен>/guides/<slug>/infographic-01.png

06Шаблоны страницы

site/app/guides/<slug>/page.tsx
import type { Metadata } from "next";
import { Header } from "@/components/Header";
import { Footer } from "@/components/Footer";
import { GuideHero, Figure, Callout, Sources, KeywordCTA, BackToGuides } from "@/components/Guide";
import { getGuide } from "@/lib/guides";

const g = getGuide("<slug>")!;
export const metadata: Metadata = { title: g.title, description: g.excerpt };

export default function Page() {
  return (
    <>
      <Header />
      <GuideHero title={g.title} excerpt={g.excerpt} date={g.date} readMin={g.readMin} tag={g.tag} />

      <article className="prose-editorial max-w-prose mx-auto px-5">
        <p>Вводный абзац: ситуация читателя и о чём этот гайд.</p>

        <h2>Что говорят данные</h2>
        <p>Факт с источником: кто, когда, какая цифра.</p>
        <Figure src="/guides/<slug>/infographic-01.png" alt="Общая схема" caption="Что показывает схема" />

        <h2>Как это устроено</h2>
        <p>Связная проза, не список.</p>
        <Callout title="Где обычно ошибаются" tone="warn"><p>Подвох или ограничение.</p></Callout>

        <h2>Порядок действий</h2>
        <p>В каком порядке и почему именно так.</p>
        <Figure src="/guides/<slug>/infographic-02.png" alt="Порядок шагов" caption="Проверяйте сверху вниз" />

        <h2>Чего этот гайд не обещает</h2>
        <p>Честная оговорка про ограничения.</p>
      </article>

      <KeywordCTA keyword="СЛОВО" text="Хотите <польза>? Напишите «СЛОВО»." href="https://t.me/<канал>" />
      <Sources items={[{ title: "<Источник>", url: "https://…", note: "<кто, год, какая цифра>" }]} />
      <BackToGuides />
      <Footer />
    </>
  );
}
запись в site/lib/guides.ts (первой в списке)
  {
    slug: "<slug>",                 // папка app/guides/<slug>/
    title: "<Заголовок карточки>",
    excerpt: "<1–2 предложения, зачем читать>",
    date: "ГГГГ-ММ-ДД",
    readMin: 6,
    tag: "<короткая метка темы>",
    keyword: "СЛОВО",               // если гайд связан с воронкой
  },