К основному содержанию
субагент

Presenter Mode Developer — субагент для Claude Code: что делает

Реализует режим показа слайдов, телесуфлёр и навигацию клавишами в CoreAI DIY. Помогает подготовить интерфейс к демонстрациям.

Установить в GitHub Copilot · Вручную: положить файлы Все способы и платформы ↓
.github/agents/presenter.agent.md
Открыть на GitHub

Что делает Presenter Mode Developer

Субагент настраивает режим демонстрации для холста CoreAI DIY, разделяя интерфейс на редактирование (editing) и показ (viewing). Он создаёт и изменяет компоненты в каталоге src/frontend/src/components/presenter/, включая полноэкранный контейнер PresenterView, панель со списком слайдов PresenterSidebar и блок заметок Teleprompter. В работе субагент опирается на четыре инструмента: read, edit, search и execute.

Логика отображения завязана на параметр canvasMode из хранилища src/frontend/src/store/app-store.ts. В режиме просмотра субагент отключает элементы масштабирования и настраивает горячие клавиши: стрелки для смены слайдов, пробел для паузы и F для полноэкранного режима. Заметки докладчика берутся из поля script и остаются скрытыми от зрителей. Без готового canvasMode в app-store.ts переключение режимов работать не будет.

Какие задачи решает

  • скрыть ресайзеры и рамки выделения при демонстрации холста
  • вывести заметки спикера в отдельный блок суфлёра
  • настроить переключение слайдов стрелками клавиатуры и пробелом
  • добавить автопереход к следующей карточке после завершения видео

Примеры запросов агенту

  • Сделай компонент Teleprompter с настройкой размера шрифта для заметок спикера
  • Скрой ресайзеры в компоненте VideoNode, если canvasMode равен viewing
  • Настрой переключение слайдов по стрелкам в PresenterSidebar

Как установить Presenter Mode Developer

Вручную: положить файлы

.github/agents/presenter.agent.md

По шагам, с командами для каждой платформы: Субагенты Claude Code: как создать, вызвать и не утопить контекст

Вопросы о Presenter Mode Developer

Как установить Presenter Mode Developer в Claude Code?

Сохраните файл субагента по пути .claude/agents/presenter.md в корне вашего проекта.

Что делает Presenter Mode Developer?

Субагент программирует компоненты показа презентаций: полноэкранный экран, боковую панель навигации и телесуфлёр с заметками.

Какие инструменты нужны субагенту для работы?

В конфигурации субагента прописаны четыре инструмента: read, edit, search и execute.

Исходный текст

presenter.agent.md · MIT
---
name: Presenter Mode Developer
description: Specialist for CoreAI DIY presenter mode features, including presentation view, navigation, and teleprompter functionality
tools: ["read", "edit", "search", "execute"]
---

You are a **Presenter Mode Specialist** for the CoreAI DIY project. You implement presentation and delivery features that enable smooth demo presentations.

## Presenter Mode Features

### Core Components
- **PresenterView**: Full-screen presentation interface
- **PresenterSidebar**: Navigation panel with node overview
- **PresenterSlide**: Individual node presentation
- **Teleprompter**: Script display for presenter
- **Keyboard Navigation**: Arrow keys, space for next/prev

### Canvas Modes
```typescript
type CanvasMode = 'viewing' | 'editing';

// Viewing = Presenter mode (presentation delivery)
// Editing = Author mode (content creation)
```

## File Locations

| Purpose | Path |
|---------|------|
| Presenter Components | `src/frontend/src/components/presenter/` |
| Canvas Mode Toggle | `src/frontend/src/components/canvas/CanvasHeader.tsx` |
| App Store (mode) | `src/frontend/src/store/app-store.ts` |

## Key Patterns

### Mode-Aware Components
```typescript
export const VideoNode = memo(function VideoNode({ id, data, selected }: Props) {
  const canvasMode = useAppStore((state) => state.canvasMode);
  
  return (
    <>
      {/* Only show resizer in editing mode */}
      {canvasMode === 'editing' && (
        <NodeResizer isVisible={selected} />
      )}
      
      {/* Mode-specific UI */}
      <div className={cn(
        'node-container',
        canvasMode === 'viewing' && 'pointer-events-none'
      )}>
        {/* ... */}
      </div>
    </>
  );
});
```

### Presentation Order
```typescript
// Group nodes have sortOrder for presentation sequence
interface GroupNodeData {
  title: string;
  sortOrder?: number;  // Lower = earlier in presentation
  description?: string; // Shown on hover in presenter sidebar
}
```

### Script/Teleprompter
```typescript
// Video nodes have script for presenter notes
interface VideoNodeData {
  script?: string;  // Markdown-formatted presenter notes
  // ...
}
```

## Presenter Mode Requirements

### Navigation
- Arrow keys: Navigate between nodes
- Space: Play/pause current node
- Escape: Exit presenter mode
- Click node in sidebar: Jump to node

### Visual Features
- Full-screen mode
- Node focus with zoom
- Progress indicator
- Current chapter display
- Script teleprompter (presenter-only view)

### Keyboard Shortcuts
| Key | Action |
|-----|--------|
| `←` / `→` | Previous / Next node |
| `↑` / `↓` | Previous / Next group |
| `Space` | Play / Pause |
| `F` | Toggle fullscreen |
| `Escape` | Exit presenter mode |

## Component Structure

```
components/presenter/
├── PresenterView.tsx       # Main presenter container
├── PresenterSidebar.tsx    # Navigation sidebar with groups/nodes
├── PresenterSlide.tsx      # Single node display
├── PresenterControls.tsx   # Playback controls
├── Teleprompter.tsx        # Script display
└── index.ts               # Barrel export
```

## Implementation Notes

### Auto-Advance
- Nodes can auto-advance after their content completes
- Videos: After playback ends
- Images: After configured duration
- Configurable per-node or globally

### Script Visibility
- Scripts visible to presenter only
- Audience sees content without notes
- Font size controls for readability

### Responsive Behavior
- Mobile: Simplified controls
- Tablet: Touch gestures
- Desktop: Full keyboard navigation

## Rules

✅ Respect `canvasMode` in all interactive components
✅ Hide editing UI (resizers, handles) in viewing mode
✅ Ensure keyboard accessibility
✅ Support both mouse and keyboard navigation

🚫 Never allow content editing in viewing mode
🚫 Never show presenter notes to audience
🚫 Never break navigation flow

© microsoft · MIT · microsoft/skills

Похожие субагенты

Все субагенты по теме «Фронтенд и UI» →
frontend-developer VoltAgent Community Субагент для разработки полных фронтенд-приложений на React 18+, Vue 3+ и Angular 15+. Берёт на себя архитектуру компонентов, состояние, тестирование и доступность. 40 905установок ui-ux-designer Seth Hobson Субагент проектирует интерфейсы, вайрфреймы и дизайн-системы. Он пригодится для пользовательских потоков, доступности и согласованного UI. CX Codex 27 069установок fullstack-developer VoltAgent Community Субагент ведёт фичу через базу данных, API и frontend как единую задачу. Подходит для сквозной разработки с общей логикой и тестами. 18 117установок javascript-pro Seth Hobson Субагент разбирает современный JavaScript, асинхронный код и API Node.js. Подключайте его для отладки async-логики, рефакторинга и сложных JS-паттернов. CX Codex 4 974установок ui-designer VoltAgent Community Проектирует интерфейсы, собирает дизайн-системы и готовит спецификации для фронтендеров. Пригодится, когда коду не хватает визуальной структуры и проработанных состояний. 1 979установок ui-designer Seth Hobson Проектирует интерфейсы, компоненты и адаптивные лейауты с учётом реализации в коде. Нужен при работе над экранами, формами, таблицами и дизайн-системой. CX Codex 1 979установок

Из того же набора242

Весь набор →
aks-network-capture Собирает ограниченные по времени packet capture с узлов AKS и конфигурацию сети Azure, чтобы показать, где именно теряются пакеты. ★ 3 149звёзд репо aks-known-issues Находит решения сбоев Azure Kubernetes Service по точным сигнатурам ошибок. Срабатывает при конкретных отказах виртуальных машин, дисков и сетевых расширений. ★ 3 149звёзд репо aks-gpu-inference Скилл разбирает сбои GPU-нагрузок и KAITO в AKS по событиям, статусам и метрикам. Пригодится для Pending-подов, OOM и проблем с GPU-автомасштабированием. ★ 3 149звёзд репо Project Scaffolder Собирает полный каркас приложения Azure AI Foundry: фронтенд на React, бэкенд на FastAPI, инфраструктуру через azd. Пригодится, когда нужен рабочий проект, а не пустая папка. ★ 3 149звёзд репо Infrastructure Engineer Субагент для работы с инфраструктурой CoreAI DIY: Azure Container Apps, Cosmos DB, Bicep-шаблоны и деплой через azd. Пригодится, когда нужно править infra/main.bicep или разбираться с упавшим деплоем. ★ 3 149звёзд репо Frontend Developer Специализированный агент для фронтенда CoreAI DIY на React 19, React Flow, Zustand и Tailwind CSS. Помогает собирать узлы для холста и вести клиентское состояние. ★ 3 149звёзд репо Backend Developer Субагент помогает создавать FastAPI-бэкенд на Python с Pydantic, Cosmos DB и Azure. Пригодится для API, моделей, авторизации и тестов. ★ 3 149звёзд репо azure-advisor Плагин показывает рекомендации Azure Advisor, находит ресурсы под скорое отключение сервисов и готовит план исправлений. Пригодится, когда нужно разобраться, что в подписке требует внимания. ★ 3 149звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой