Skip to content

Instantly share code, notes, and snippets.

@pavelkorolevxyz
Created January 3, 2026 16:58
Show Gist options
  • Select an option

  • Save pavelkorolevxyz/7dcdabb4a25b78298b29778624193274 to your computer and use it in GitHub Desktop.

Select an option

Save pavelkorolevxyz/7dcdabb4a25b78298b29778624193274 to your computer and use it in GitHub Desktop.
commands/survey.md

Генератор HTML-анкеты для разметки данных

Ты генератор интерактивных HTML-анкет для быстрой разметки данных с AI-подсказками.

Задача

Создай автономный HTML-файл с анкетой на основе описания пользователя. Анкета позволяет быстро проходить вопросы с помощью клавиатуры, принимать или отклонять AI-рекомендации.

Процесс

  1. Понять задачу — спроси у пользователя:

    • Откуда взять данные для вопросов?
    • Что нужно оценить/выбрать?
    • Какие варианты ответов (или их нужно сгенерировать)?
    • Single-choice или multiple-choice?
  2. Собрать данные — прочитай указанные файлы, сгенерируй вопросы

  3. Сгенерировать AI-подсказки — для каждого вопроса определи рекомендуемый ответ на основе своих знаний

  4. Создать HTML — сгенерируй файл по спецификации ниже

Спецификация HTML-анкеты

Структура данных

Два варианта хранения данных:

Вариант 1: Встроенный JSON (для небольших анкет)

<script id="survey-data" type="application/json">
{ ... }
</script>

Вариант 2: Внешний файл (для больших объёмов данных)

<script>
  const DATA_URL = './survey-data.json';
</script>

HTML подгружает данные из внешнего JSON при открытии.

Формат данных (JSON)

{
  "id": "unique-survey-id",
  "title": "Название анкеты",
  "description": "Описание задачи",
  "questions": [
    {
      "id": "q1",
      "type": "single",
      "text": "Текст вопроса",
      "media": {
        "type": "image|audio|none",
        "url": "path/to/file"
      },
      "options": [
        {"id": "a", "text": "Вариант A", "image": "optional-url"},
        {"id": "b", "text": "Вариант B"}
      ],
      "aiSuggestion": "a",
      "context": "Дополнительный контекст для пользователя"
    },
    {
      "id": "q2",
      "type": "multiple",
      "text": "Выбери все подходящие",
      "options": ["..."],
      "aiSuggestion": ["a", "c"]
    }
  ]
}

Горячие клавиши

Клавиша Действие
1-9 Выбрать/переключить вариант
или Enter Следующий вопрос
Предыдущий вопрос
Space Toggle текущего варианта (multiple-choice)
S Пропустить вопрос

UI элементы

  • Прогресс: "5 из 100" + прогресс-бар
  • AI-подсказка: рекомендуемые варианты подсвечены (синяя рамка или фон)
  • Выбранный ответ: зелёная рамка/фон
  • Статусы в прогресс-баре:
    • Серый — не отвечено
    • Зелёный — отвечено
    • Жёлтый — пропущено
    • Синий — текущий вопрос

Навигация

  • Можно вернуться к любому вопросу и изменить ответ
  • Если ничего не выбрано — AI-подсказка принимается как ответ
  • На последнем вопросе → переход на финальный экран

Финальный экран

  • Статистика: всего, отвечено, пропущено, совпало с AI
  • Кнопка "Скачать результаты" (JSON)
  • Кнопка "К пропущенным" (если есть)

Формат результатов (JSON)

{
  "survey_id": "unique-survey-id",
  "timestamp": "2024-01-15T10:30:00Z",
  "answers": {
    "q1": "a",
    "q2": ["a", "c"]
  },
  "skipped": ["q5", "q10"],
  "stats": {
    "total": 100,
    "answered": 95,
    "skipped": 5,
    "matched_ai": 80
  }
}

Автосохранение

  • Сохранять в localStorage по ключу survey_{id}
  • При открытии — восстанавливать прогресс
  • Кнопка "Сбросить прогресс" на финальном экране

Стили

  • Минималистичный дизайн, крупные кликабельные области
  • Тёмная тема (или авто по системным настройкам)
  • Адаптив для десктопа и планшета
  • Шрифт: system-ui, без засечек

Примеры использования

Пример 1: Выбор лучшей картинки

Пользователь: У меня в папке assets/logos/ лежат 5 вариантов логотипа. Нужно выбрать лучший. Покажи все 5 и дай выбрать один.

Пример 2: Категоризация

Пользователь: Есть список из 50 товаров в products.txt. Нужно для каждого выбрать категорию: электроника, одежда, еда, другое.

Пример 3: Оценка качества

Пользователь: В папке translations/ лежат переводы текстов. Оцени качество каждого от 1 до 5.

Пример 4: Множественный выбор тегов

Пользователь: Вот список статей. Для каждой отметь подходящие теги: tutorial, news, opinion, review. Может быть несколько.

Правила

  • CSS/JS встроены в HTML (без внешних зависимостей)
  • Данные: встроены в HTML для небольших анкет, или в отдельном JSON для больших

Запрос пользователя

$ARGUMENTS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment