Skip to content

Latest commit

 

History

History
144 lines (108 loc) · 5.51 KB

File metadata and controls

144 lines (108 loc) · 5.51 KB
name dashboard
description Generate accessible HTML dashboards from data, briefs, or structured information. Creates portable JSON+HTML dashboards with tabs, checklists, progress tracking, and localStorage. Use when user asks to create a dashboard, checklist, or interactive form.
metadata
clawdbot
command
/dashboard

Dashboard Skill

Генерация доступных дашбордов в формате HTML + JSON.

Триггеры

  • "Создай дашборд..."
  • "Сделай чеклист..."
  • "Создай форму..."
  • Любой запрос на создание интерактивной таблицы/формы с прогрессом

Что делает

Создаёт портативный дашборд:

  • Вкладки — навигация между разделами
  • Чекбоксы — отметки с сохранением
  • Текстовые поля — для ввода данных
  • Поля приоритетов — нумерация (1, 2, 3...)
  • Прогресс — сколько заполнено
  • localStorage — прогресс сохраняется в браузере
  • Экспорт/импорт JSON — для передачи данных

Использование

# Создать дашборд из JSON-файла
python3 ~/.openclaw/workspace/skills/dashboard/scripts/generate.py -d data.json -z -o my-dashboard

Структура JSON

{
  "title": "Название дашборда",
  "tabs": [
    {
      "id": "tab1",
      "name": "1. Раздел",
      "items": [
        {
          "id": "1.1",
          "text": "1.1. Вопрос",
          "hint": "Подсказка (опционально)",
          "type": "text|textarea|checklist|priority",
          "options": ["Вариант1", "Вариант2"],
          "checked": [],
          "value": ""
        }
      ]
    }
  ]
}

Типы полей

  • text — однострочное поле
  • textarea — многострочное поле
  • checklist — чекбоксы (options = варианты)
  • priority — приоритеты с нумерацией

Важно: отправка архива

После создания дашборда обязательно отправь ZIP-архив пользователю!

ZIP содержит:

  • dashboard.html — сам дашборд
  • data.json — структура данных

Команда с ZIP создаётся с флагом -z.

Структура по умолчанию

Дашборд включает 8 вкладок (по брифу для ИИ-консалтинга). Каждое поле может иметь hint — пояснение или пример.

  1. О компания — сотрудники, структура, показатели (c hint: "Например: ...")
  2. Продажи — воронка, лиды, конверсия
  3. CRM — система, коммуникации
  4. Документы — процессы, ошибки
  5. Маркетинг — каналы, контент
  6. Университеты — взаимодействие, дедлайны
  7. Инструменты — софт, ИИ
  8. Проблемы — боли, приоритеты

Workflow

  1. Получи данные от пользователя (файл, описание, текст)
  2. Создай JSON с данными (структура ниже)
  3. Сгенерируй дашборд: python3 .../generate.py -d data.json -z -o <name>
  4. Отправь ZIP-архив пользователю

Как парсить данные в JSON

Пользователь может прислать данные в любом формате. Примеры:

  1. Простой текст/список:

    Раздел 1:
    - Пункт 1
    - Пункт 2
    Раздел 2:
    - Пункт 3
    

    → Создай JSON с tabs и items

  2. HTML-файл (как этот бриф):

    • Парси заголовки h2 → tabs
    • Парси li → items
    • Определи тип (checklist если есть чекбоксы/список, text если нужен ввод)
  3. Описание: "Дашборд для отслеживания постов с чекбоксами написано/опубликовано"

Передача данных

  • Экспорт: кнопка "Экспорт JSON" в дашборде
  • Импорт: кнопка "Импорт JSON" в дашборде
  • Передача: отправить файл через Telegram/Email

Доступность

  • Скринридер: логичная структура, навигация с клавиатуры
  • Для зрячих: читаемый CSS, понятный интерфейс
  • Тёмная/светлая тема через prefers-color-scheme

Требования

  • Python 3.8+
  • zipfile (встроен)

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

  1. Бриф на ИИ-агента: создал дашборд → отправил → компания заполнила → прислала JSON → ты продолжил работу

  2. План постов: создал дашборд с чеклистом → отметил выполненные → экспортировал

  3. Метрики блокчейна: данные в таблицах → фильтрация → экспорт