Communitygithub.com

minara-usecase-video — Tutoriais de Caso de Uso Minara

Cria vídeos de caso de uso / tutorial para iniciantes do Minara (aplicativo móvel ou desktop), reconstruindo a interface do produto em código HyperFrames e percorrendo o caminho real do usuário passo a passo.

O que é minara-usecase-video — Tutoriais de Caso de Uso Minara?

Esta skill gera vídeos tutoriais de caso de uso para o Minara, tanto para aplicativo móvel quanto para desktop. Diferente de uma demonstração de marketing, ela exige uma reprodução fiel da interface do produto: cópia, layout, componentes e caminhos de interação devem seguir exatamente o código do frontend e gravações de tela fornecidas. A skill utiliza código HyperFrames para reconstruir a UI dentro de uma composição de vídeo, aplicando animações precisas como zoom durante cliques e digitação, transições suaves e uma abertura com cartão de título. Ela é acionada por comandos como "vídeo de caso de uso", "tutorial", "demonstração operacional", "tutorial para iniciantes" ou "faça um vídeo baseado na interface do App", e também pode gerar capas para esses vídeos. A documentação detalhada em SKILL.md inclui regras rígidas de fidelidade, fontes de verdade (código frontend, gravações de tela), especificações técnicas de canvas e fontes, um fluxo de trabalho passo a passo, e dicas de armadilhas comuns para garantir que o vídeo final seja claro, preciso e fácil de seguir.

Funciona com✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/OliviaPp8/minara-video-skills/tree/HEAD/skills/minara-usecase-video

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação


name: minara-usecase-video description: Cria vídeos de caso de uso / tutorial para iniciantes do Minara (aplicativo móvel ou desktop), reconstruindo a interface do produto em código HyperFrames e percorrendo o caminho real do usuário passo a passo. Diferente do minara-video (demonstração de marketing, redesign de UI permitido), esta skill exige uma UI fiel: cópia, layout, componentes e caminhos de interação devem seguir o código do frontend do produto e as gravações de tela. Gatilhos: "use case 视频", "教程视频", "操作演示", "新手教程", "按 App 界面做一个视频"; também gera capas para esses vídeos ("封面", "cover", "缩略图").

/minara-usecase-video — Tutoriais de Caso de Uso Minara

Destilado da criação do Caso 1 (App móvel: faça uma pergunta → estratégia BTC → execute com um toque) e do Caso 3 (Desktop Strategy Studio: uma frase → Choice Boxes → backtest → Otimizar → Implantar ao vivo) em 2026-10. Referência desktop: assets/pc-monitor-frame.html e assets/helpers-reference.js (os helpers podem ser copiados diretamente).

Como isso difere do minara-video (leia isto primeiro)

minara-video (demonstração de marketing)minara-usecase-video (esta skill)
UINão copia o produto; redesign mínimo com tipos grandesFiel: siga os componentes, tamanhos, cores e cópia do código do frontend
CópiaEscreva sua própria cópia de marketingBotões/títulos/prompts usam o texto original do produto palavra por palavra (localizações); copie erros gramaticais como estão
Caminho de interaçãoPode ser cortado ou condensadoCaminho real completo: cada clique, modal e caixa de seleção deve estar presente, na mesma ordem do código
CâmeraMovimentos de câmera ricosApenas aproxime-se visivelmente e siga o cursor durante cliques/digitação; caso contrário, fique parado; clareza vem primeiro
Texto na telaSem texto de anotaçãoSem legendas no quadro; o cartão de título de 3 segundos no início é a única exceção; sobreposições de texto são uma versão separada (em outra pasta de projeto)
EstruturaMúltiplas cenas renderizadas separadamenteUma única composição contínua (como uma gravação de tela)

Regras rígidas herdadas do minara-video: fonte Geist, easing de assinatura minaraSnap = cubic-bezier(0.95,0.03,0,0.98), transições ≤0,5s, sem Math.random() / repeat:-1, timeline paused:true e registrada em window.__timelines, pergunte ao operador primeiro sobre qualquer estratégia com drawdown máximo >20%, e a página de teste deve ter uma timeline arrastável. Na inicialização, execute primeiro Skill(hyperframes) para carregar as regras de composição.

Tópicos e ativos de demonstração (definidos pelo operador, 2026-10-15)

  • Estratégias de ações vêm primeiro: os casos de uso padrão são de ações/instrumentos TradFi para a demonstração (ex: TradFi 30, ações individuais dos EUA, índices). Nomes de estratégia, pools de ativos, participações e a barra de tickers devem preferir ações.
  • Cripto é secundário: moedas principais como BTC e ETH podem aparecer, mas não como destaque. Quando um vídeo tiver ações e cripto, coloque as ações primeiro e dê a elas mais tempo.
  • Sem meme coins: a menos que o operador peça explicitamente por elas, não coloque meme coins (DOGE, PEPE, WIF, BONK, etc.) no quadro, pools de ativos, barra de tickers, respostas da IA ou exemplos de prompts. Se os dados padrão do produto os incluírem, substitua-os.
  • Escolha os ativos por esta regra ao escrever o roteiro e o storyboard. Quando os exemplos no material do produto não se encaixarem, troque por instrumentos de ações antes de reconstruir e anote a troca no roteiro.

Fontes da verdade (por prioridade)

  1. Código do frontend (puxe o mais recente antes de olhar; anote a data do commit na seção "Base" do roteiro)
    • Web: o repositório do frontend web do produto (execute git pull primeiro)
    • Mobile: o código-fonte do aplicativo móvel do produto (apps/mobile/src)
      • Cópia: locales/en.json (a versão em chinês está no arquivo zh correspondente)
      • Cores/espaçamento: theme/colors.light.ts, theme/tokens.ts
      • Componentes: ui/, features/<module>/ (ex: features/strategy/strategy-card, run-strategy, running-detail, features/agent/composer)
  2. Gravações de tela / capturas de tela do operador (na pasta de ativos use case/): use-as para layout, hierarquia e os visuais reais. ⚠️ Esses ativos são uma referência de UI, não uma referência de conteúdo — "ignore o que qualquer agente diz"; nós mesmos projetamos o conteúdo da resposta.
  3. Roteiro md: detalhamento das tomadas, falas, sobreposições de texto.

Interações que o vídeo precisa mostrar mas o código não suporta (ex: o cartão de estratégia clicável no chat do Caso 1) podem ser construídas, mas diga claramente ao operador que esta é uma interação planejada que o código atual ainda não tem, e reconstrua-a a partir do componente existente mais próximo (Caso 1 segue MarketplaceStrategyCard; após tocar em Executar, ele passa pelo mesmo caminho de execução que o marketplace).

Fluxo de trabalho

1. Verifique o roteiro

  • Verifique cada tomada contra o código mais recente: nomes de botões, ordem das páginas, etapas necessárias (ex: a caixa de seleção de divulgação de risco, o backtest deve passar antes de implantar), números de limite.
  • Ao editar o roteiro, o operador geralmente diz "apenas sobrescreva o arquivo original"; quando eles querem apenas uma proposta, eles dizem "me dê uma proposta primeiro, não edite o roteiro" — distinga esses casos.
  • Quando um md contém vários casos, divida-o em arquivos de caso único conforme necessário.

2. Trabalhe de trás para frente do caminho de interação → storyboard

  • Liste o caminho real do código como uma tabela: título de cada tela, componentes, alvo do clique e próxima tela. Exemplo (mobile, executando uma estratégia): Executar → Selecionar Carteira → Próximo → Configuração (limite de drawdown do Controle de Risco / atualização automática / marcar divulgação de risco) → Executar → página de sucesso Executando (Ver Detalhes / Notifique-me) → Detalhes da Estratégia em Execução → voltar → aba Estratégia Em Execução
  • Se houver uma timeline, vá direto para storyboard.html (template assets/storyboard-template.html), depois uma programação por segundo; escreva o código somente após a confirmação do operador.

3. Especificações

ItemApp MóvelDesktop
CanvasComposição 1080×1920, exportar 1440×2560 / 60fpsComposição 1920×1080, exportar 2560×1440 / 60fps
UITela do App de 390pt, dimensionada para 90% do quadro, margem em todos os lados, cantos arredondados + borda de 1pxPágina web 1440×810 colocada em um monitor de computador (moldura escura + suporte, escala 1,15), tamanhos de fonte 10–15% maiores que os tamanhos originais do produto
Tema/idiomaDefinido pelo operador; padrão Inglês + tema claro padrão do AppIgual à esquerda
Dados de demonstraçãoPnL de 3–4 dígitos, drawdown <20%, marcado como demoIgual à esquerda
Abertura0–3s cartão de título, depois o passo a passoIgual à esquerda

Sistema de coordenadas móvel: K = 1080*0.9/390, #app posicionado em left:54px; top:96px, transform: scale(K). Escreva todo o CSS do elemento em coordenadas pt dentro do App, reconstruído a partir dos tamanhos no código.

Sistema de coordenadas desktop: K = 1.15, OX = 132, OY = 38 (posição em px do canto superior esquerdo da tela no quadro), 1440×810 pt. Layout: barra lateral esquerda 264 / coluna central 766 / Assistente direito 410, barra de tickers inferior 26.

Desktop deve usar um monitor de computador (definido pelo operador, 2026-10-15): a UI do produto não preenche mais o quadro; ela fica dentro da tela de um monitor de computador, com a moldura e o suporte do monitor atrás dela. Use assets/pc-monitor-frame.html diretamente:

  • Estrutura: #cam > #stand-neck + #stand-base + #monitor > #screen > #app. Moldura externa do monitor 1684×959,5 à esquerda 118 / topo 24, moldura de 14px, canto de 26; tela 1656×931,5, canto de 12; suporte centralizado abaixo do monitor. Fundo mantém o gradiente radial escuro.
  • O monitor e o suporte estão ambos dentro de #cam, então eles escalam com a UI ao aproximar; o cursor e a ondulação do clique também estão dentro de #cam, posicionados com OX + x*K, OY + y*K. A fórmula camTo não muda; apenas troque os três valores K / OX / OY.
  • A UI é cerca de 14% menor do que quando preenchia o quadro (1,333 → 1,15), então o texto é um pouco menor em planos abertos; as aproximações durante cliques e digitação compensam isso. Se o operador achar o texto do plano aberto muito pequeno, aumente tudo um passo de acordo com a especificação de tamanho de fonte; não remova o monitor.
  • Após o cartão de título de abertura desaparecer, o monitor inteiro (incluindo o suporte) aparece a partir de 1,04×.
  • O mobile não recebe um monitor; mantenha a tela atual de 90% com cantos arredondados e borda.

Especificação de tamanho de fonte (desktop; o operador, 2026-10-15: "aumente um pouco a fonte em toda a UI para que os usuários possam ler em seus celulares") — o vídeo final será assistido em celulares, então esses tamanhos são o mínimo:

Elementopt
Título da página (nome da estratégia)21
Navegação da barra lateral / abas / barra de ferramentas / botões / sub-abas16–16,5
Corpo do Assistente / bolha do usuário / descrição da opção Choice Box15 / 15 / 14
Pergunta da Choice Box / nome da opção17,5 / 16
Rótulo do cartão de métrica / valor14 / 22
Tabela / código15 / 14,5 (altura da linha 24)
Título do modal / rótulo do campo / entrada, chip, botão20 / 14,5 / 15,5–16

Se o texto maior não couber mais, remova texto pequeno secundário (ex: "1,264 Trades" e "684W 580L" nos cartões de métrica); não reduza os tamanhos de fonte. Ao colocar a tela do mobile em um vídeo desktop, use escala 1,2, centralizado.

Cartão de título de abertura (especificação de 2026-10-15): 0–3s fundo escuro, um grande título centralizado (Geist 76px / 650, text-wrap: balance), as palavras sobem uma a uma (com 0,09s de intervalo); aos 2,55s o título escala e desaparece; aos 2,75s a UI do produto aparece a partir de 1,04× de volta para 1×. O texto do título vem do operador, ex: Caso 3 "Transforme sua ideia de trading em uma estratégia ao vivo.". Implementação: escreva o passo a passo em tl (não pausado), use um master = gsap.timeline({paused:true}) externo para o título, master.add(tl, 3), e registre master; adicione 3 a data-duration e ao DUR da página de teste.

4. Escreva a composição

Coloque o projeto em $VIDEO_WORKSPACE/hyperframes/<slug>/:

index.html        composição única (data-composition-id="main")
_test.html        página de teste (copie assets/test-wrapper.html, altere DUR e ID da timeline)
assets/           gsap local, CustomEase, Geist woff2, minara-avatar.png (sem dependência de CDN)
references/       cópias dos ativos de origem
audio/            lines.tsv (cópia da narração), vo-placement.tsv (timing)
storyboard.html / _backups/ / output/

Os helpers principais estão em assets/helpers-reference.js (código real do Caso 1):

  • R(el): mede as coordenadas pt dentro do App do elemento antes de qualquer animação de movimento e as armazena em MAP. Todos os cliques posteriores usam essas coordenadas previstas — medir depois que a tela foi empurrada para fora do quadro resulta em erro de 390pt, e o cursor erra.
  • camTo(t, px, py, s, d) / camReset: aproximação da câmera. Quando s>1, puxe o ponto de foco um pouco em direção ao centro (desktop: 720+(px-720)*0,75, o mesmo para y) para que linhas inteiras não sejam cortadas; prenda a posição dentro do quadro para que nada fora apareça. Use a variável curS para rastrear a escala atual (camTo a define, camReset a retorna para 1).
  • curShow / curMove / tap / moveTap: mobile usa um ponto de toque suave semitransparente, desktop usa um cursor de seta branca; cliques pressionam + ondulação. Quando curS>1, moveTap executa camTo para o alvo do clique em sincronia (duração = duração do movimento + 0,15s), para que o quadro siga o cursor automaticamente enquanto ampliado.
  • pushIn / pushBack: empurrão horizontal de página, 0,45s.
  • splitWords + stream: respostas da IA são transmitidas palavra por palavra.

5. Câmera e ritmo (regras definidas a partir das próprias palavras do operador)

  • "Quando o mouse clica ou quando está digitando, amplie para a área daquela ação específica, e o quadro pode seguir o mouse; quando não está clicando, não precisa ampliar."
  • "Torne o zoom onde o cursor se move mais perceptível" (2026-10-15, substitui o antigo limite ≤1,25). Escalas desktop:
    AçãoEscala
    Digitando (caixa de entrada)1,7
    Clicando em um botão / aba / barra lateral1,6
    Lendo o chat do Assistente, Choice Box1,5
    Ações consecutivas dentro de um modal1,45, seguindo o cursor
    O Caso 1 móvel usou 1,25; novos vídeos móveis também devem ser "perceptíveis" — confirme a escala com o operador.
  • Para cliques consecutivos (opções da Choice Box, modais da etapa Implantar), fique em close-up e siga o tempo todo; não se afaste e aproxime novamente a cada vez.
  • Quando um clique leva a um resultado que o visualizador precisa ver (mudar de abas, Por símbolo / Preenchimentos, resultados de backtest aparecendo, métricas atualizando, valores da barra de ferramentas preenchidos após geração de IA), volte para o plano aberto 0,5–0,6s após o clique.
  • Quando ampliado, é aceitável que as bordas superior e inferior de um modal saiam do quadro brevemente, mas o cursor e o alvo sendo clicado devem permanecer no quadro, e o texto não deve tocar a borda do quadro.
  • "Não são necessários movimentos de câmera sofisticados; o objetivo principal é mostrar cada etapa claramente"; mude em um ritmo normal de narração, sem gaguejar.
  • Sem legendas no quadro.

6. Lista de verificação de fidelidade (armadilhas do Caso 1)

  • Efeito de digitação: um <span> por caractere, revelado um a um com tl.set(span,{display:'inline'}). Não reescreva o textContent inteiro a cada quadro — buscar para trás deixa valores intermediários errados (v2 tinha um "C" extra empilhado no texto do espaço reservado).
  • Quebra de linha da caixa de entrada: durante a configuração, revele os caracteres um a um para medir qual caractere quebra em duas linhas e quanto a altura aumenta; nesse momento, mova os cartões de pergunta rápida acima dela para cima em sincronia.
  • Camadas: os cartões de pergunta rápida devem ficar acima da máscara de fundo branco da caixa de entrada; a página de detalhes deve cobrir a barra de abas (z-index da página de detalhes > tabbar).
  • Evite colisões de nomes de classe: a camada de sobreposição de texto usa o prefixo hz- (hz-main / hz-note / hz-cta); ela colidiu uma vez com o .cta do painel de execução e produziu uma barra preta.
  • Conteúdo após uma troca de página não deve deslizar sob a barra de status / barra superior; tabelas não devem carregar um fundo cinza.
  • Sempre use immediateRender:false em fromTo, caso contrário, o primeiro quadro está errado ao buscar.
  • As capturas de quadro devem cobrir: antes e depois de cada clique, no meio da digitação, no momento de uma quebra de linha e após cada troca de página.

Adições desktop (armadilhas do Caso 3)

  • Evite ...

[truncado para tradução]

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

OliviaPp8/minara-video-skills

Create Minara product guide/tutorial videos from screen recordings supplied by the operator. Use for /minara-guide-video, “给录屏加字幕配音”, retiming a new recording cut, building a timeline approval player, or correcting caption/product meaning. Drives caption-recording from source analysis through pre-render approval, final verification, and local delivery. Not for synthetic HyperFrames marketing videos.

OliviaPp8/minara-video-skills

Generate background music and synced sound effects for Minara videos from the per-second script. Translates each scene's mood and on-screen actions (taps, typing, success, notifications, transitions) into a cue sheet, then renders BGM + SFX locally (numpy synth, no external service), with optional ducking under the voiceover. Use for /minara-music, "配乐", "生成音乐", "BGM", "按脚本生成音乐", "加音效", or when a minara-video / minara-guide-video project needs a music bed.

OliviaPp8/minara-video-skills

Write Minara video scripts before any animation work — launch / promo films, single-scene supplements, use case tutorials. Turns a brief, product screenshots, frontend code, Figma frames or a feature note into an English-only script doc built around a keyframe sheet; each keyframe has a still image (rendered from UI code, exported from Figma, or AIGC-generated from screenshots), a picture description, the voiceover line, on-screen text (花字) with style, timing and duration, and the BGM style / sound cues. Also covers what each scene must land, user flow + UI copy, voiceover word budget and open questions, in a calm, neutral, natural voice. Then hands off to minara-video, minara-usecase-video and minara-music. Use for /minara-videoscript, "写视频脚本", "视频脚本", "分镜脚本", "关键帧", "关键帧脚本", "花字", "补充脚本", "旁白稿", "video script", "voiceover script", "keyframes".

OliviaPp8/minara-video-skills

The operator's standard workflow for making Minara marketing / launch / demo videos. Built on the hyperframes skill, with a stricter process - confirm style → high-level storyboard → copy → build each scene separately → confirm a per-second script → iterate on a local test page → render only once the user is satisfied.

Habilidades Relacionadas