Communitygithub.com

vos-remix

Remixe um programa da galeria vos.so no seu próprio — busque sua configuração, edite os controles ou o código localmente, valide com vos check e envie uma cópia privada com linhagem que itera como versões. Segue a doutrina params/Looks e a receita de vitrine 3D GLB. Use ao ser solicitado a remixar, personalizar ou customizar uma animação de galeria, trocar um modelo 3D em uma vitrine ou iterar um programa buscado como versões.

O que é vos-remix?

O skil vos-remix permite que um agente de IA (como Claude Code, Cursor ou Codex) pegue qualquer programa de vídeo público da galeria vos.so, baixe sua configuração JSON, edite localmente (parâmetros, código ou ativos 3D) e envie uma cópia privada para a conta do usuário como uma nova versão com linhagem. A principal utilidade é permitir personalização profunda de animações: você pode ajustar paletas de cores, gramática de movimento, trocar modelos 3D (via GLB) e declarar knobs (parâmetros) e Looks (presets) de forma limpa, tudo validado localmente pelo CLI antes do push. O skill suporta três modos de autenticação: chave durável (VOS_API_KEY), concessão de remix (vos_rg_…) ou push reivindicável sem credencial. A ênfase está em edições intencionais (não incrementos de 10%), respeito à linhagem (pull antes de editar para ver mudanças humanas) e limitação de criação de voses (máximo 50 por 24h com chave, 5 por concessão). O fluxo termina com a entrega de dois links ao usuário: a página de pré-visualização e o estúdio para ajustes finos ao vivo.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/vosjs/skills/tree/main/skills/vos-remix

Perguntar na sua IA favorita

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

Documentação

Remixar um programa vos

Todo vídeo em vos.so/gallery é um programa: entradas + uma função determinística → vídeo. Remixar é editar a configuração JSON desse programa e enviar o resultado de volta como um vos privado na conta do usuário, com linhagem. Você edita localmente; a plataforma valida, compila e renderiza uma prévia.

Configuração

npm i -D @vosjs/cli   # o loop de fetch/check/push/pull

Nenhum navegador é necessário para este loop (a renderização de prévias acontece na plataforma). Tudo também funciona como HTTP simples se o CLI não estiver disponível: references/remix-contract.md documenta cada endpoint.

Credenciais (nunca as imprima)

Duas formas, ambas usadas como Authorization: Bearer:

  1. Concessão de remix (vos_rg_…) — se o prompt do usuário contiver uma, use-a. Vida útil de 24h, vinculada a UM vos de origem, máximo de 5 envios.
  2. Chave durável (vos_sk_…) — ordem de resolução antes de perguntar: env VOS_API_KEY, depois a primeira linha de ~/.config/vos/credentials. Humanos criam chaves em https://vos.so/app/api.
  3. Nenhuma credencial — o envio reivindicável (apenas programas):
    vos push my-remix.json --claimable --title "Meu remix"
    # → claim: https://vos.so/claim/…   expires: <72h a partir de agora>
    
    # Sem CLI, ou uma versão antiga? A mesma coisa via HTTP simples:
    curl -s -X POST https://vos.so/api/claim \
      -H 'content-type: application/json' \
      -d '{"title": "Meu remix", "config": <o VosConfigJson>}'
    # → { "claimUrl": "https://vos.so/claim/…", "expiresAt": "…" }
    
    Entregue claimUrl ao usuário e a ninguém mais — é a única referência e a única credencial. O link dura 72 horas; o trabalho não reivindicado é excluído após esse período (limpeza deliberada, não perda de dados — re-envie se expirar). Reivindicar move o vos para a biblioteca do usuário e inicia sua prévia hospedada; iteração após a reivindicação usa a chave do usuário (o loop abaixo). Limites: config ≤200KB, 5 envios por dia por rede.

O CLI resolve concessões e chaves automaticamente (export VOS_API_KEY=…). Nenhuma forma pode publicar: voses enviados permanecem privados até que um humano publique em vos.so.

O loop

  1. Busque o programa fonte (programas públicos não precisam de autenticação):

    vos fetch https://vos.so/vos/<id>        # ou o id puro
    # → <slug>/config.json (params preservados) + <slug>/vos.json (rastreamento)
    
  2. Edite config.json localmente. Os campos de função (setup, createContent, createTimeline, onFrame) são JavaScript como strings — sem sintaxe TypeScript, sem interpolação de template ${}. Altere 1–2 eixos de forma decisiva (paleta, gramática de movimento, densidade) — nunca uma duplicata de ajuste de 10%. Se o programa declarar params, prefira reajustar ou estender esses controles a cirurgia nas strings de função.

  3. Declare knobs e Looks — a superfície de controle do remix. 2–4 params com nomes intencionais mais 2–3 presets. Isso é uma arte com regras: references/params-knobs.md.

  4. Verifique localmente antes de enviar:

    vos check <slug>/config.json     # migra → esquema → sintaxe → compila → lints
    vos still <slug>/config.json probe.webp --time 2   # EXECUTE — check compila
                                     # mas nunca executa o módulo; um lançamento
                                     # em tempo de execução (um TDZ contra as próprias declarações
                                     # da função) viaja invisivelmente apenas com check.
                                     # Renderize um still após cada edição de
                                     # código, antes de cada envio.
    

    Corrija todos os erros; trate avisos de determinismo com seriedade (uma configuração que renderiza diferente a cada execução é quebrada por definição).

  5. Envie como um vos privado com linhagem (o CLI lê vos.json ao lado da configuração para o crédito remixOfId):

    vos push <slug>/config.json --title "Fitas Aurora — entardecer"
    # → Vos privado criado <id>
    #   veja:  https://vos.so/vos/<id>
    #   estúdio: https://vos.so/studio?vos=<id>
    
  6. Itere — edições posteriores tornam-se versões do mesmo vos:

    vos push <slug>/config.json --vos <id> --note "paleta mais fria, deriva mais lenta"
    

    O diretório RASTREIA seu vos através de vos.json, então a versão base é carregada automaticamente: se o humano editou no estúdio desde seu último envio, o envio é REJEITADO COM o changelog digitado deles. --note é sua linha de entrega — é o que o humano lê primeiro; --label nomeia a versão.

  7. Puxe antes de cada rodada de edição — o humano pode ter ajustado:

    vos pull <slug>          # o que mudou desde sua base, depois sincroniza
    

    Imprime cada versão atribuída (v3 (estúdio · mais quente): knob matiz 0.2→0.35 mais suas notas), sincroniza config.json para a cabeça (sua cópia anterior é mantida como config.backup.json) e redireciona a base. Nós editados pelo humano são protegidos: um envio que os toca é rejeitado a menos que você passe --override <id> — faça isso APENAS quando a instrução do usuário visar explicitamente aquele nó. As alterações deles em seus knobs são dados de preferência: leia o changelog antes de decidir o que fazer em seguida.

  8. Entregue AMBOS os links — a página de visualização (prévia, knobs, código) e o estúdio (https://vos.so/studio?vos=<id>) onde o usuário ajusta seus knobs ao vivo. Publicar é ação deles, em vos.so.

Regras que mantêm os envios honestos

  • Privado é o contrato. Nunca tente visibility: "public" — ele restringe para privado, e publicar por chave é rejeitado por design.
  • Ciente de cota: chaves duráveis criam ≤50 voses/24h; concessões enviam ≤5. Itere versões em um vos em vez de criar muitos voses.
  • Restrições de renderização do servidor (a frota de prévias é software-GL): sem THREE.DoubleSide em materiais de transmissão, sem dispersion, e cada ativo buscado deve ser uma URL https absoluta que a frota possa alcançar.
  • Cada knob deve agir. Um param que o código nunca lê é pior do que nenhum param — veja a seção de honestidade de references/params-knobs.md.
  • Trocas de modelo 3D (GLB em um programa de vitrine): references/3d-recipe.md.
  • Referência completa de endpoint, cotas e tabela de erros: references/remix-contract.md.

Individual skills in this repo

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

launch-kit

Ship the media with the release — one take of the real product becomes YouTube demo, Chrome Web Store screenshots/tiles, Product Hunt gallery, social cuts, and OG cards; verified kit.json manifest.

vos-authoring

Author a vos animation program (VosConfigJson) from scratch or debug one — declarative configs compiling into deterministic Three.js + GSAP-dialect animations on the MIT vos engine (@vosjs/core), validated locally with compileVosConfig. Covers the schema, dialect rules, 2D overlay elements, shaders, and params/presets knobs. Use when asked to write a vos animation program, create a VosConfigJson, make a programmatic motion graphic or logo animation, or fix a config that fails to compile or lint.

vos-create

Create vos programs in the user

vosjs/product-video

Record and produce the demo video of a website, app, or feature with the vos CLI — the agent scripts the click path (actions.json), the recording auto-plans zooms, and every editing decision is data in doc.json, so fixes are edits and re-renders, never re-recordings. Renders are deterministic; export is free up to 4K with no watermark. Use when asked to make a product video, demo video, screen recording of a URL or feature, or a marketing clip, including a product behind a login (the session ladder: mint one from the project's own test auth before asking anyone), or when a feature was verified in agent-browser and that walk should become a take. A whole release's asset set (store listing, Product Hunt gallery, social cuts) is the launch-kit skill, which records through this one.

vosjs/vos-cut

Cut a screen recording (a vosso take) into the product video it was recorded for, from its evidence, with the vos CLI — read the take's digest (the moments the cursor track says mattered, each with a footage frame and a crop), narrate beats, edit doc.json by exception over the planners, verify with stills, and push an attributed version the human fine-tunes at vos.so; every edit is a data patch, so a re-cut never re-records. Use when asked to edit or cut a recording, make a product video or what's-new clip from a take, cut it like the last one, or cut a series of recordings in one style.

vosjs/vos-footage

Hand a Remotion, HyperFrames, or any video composition a clean captured clip of the real product — recorded and auto-zoomed with the vos CLI, delivered as full-bleed footage with no chrome, and always backed by an editable take on the maker's shelf, which the handoff says. Use when a composition needs real product footage, app or site b-roll, "capture our app for the video", or a screen-recorded segment to drop into another tool's timeline.

vosjs/vos-migrate

Turn an existing Loom, Screen Studio, Cap, or plain mp4/webm screen demo into an editable vosso take — re-encode the file, synthesize the take's metadata, plan, and push, so the old demo becomes a living document you re-cut instead of a file you re-record. Use when asked to "convert this Loom", "migrate our old demos", "re-edit this mp4", "make our Screen Studio recording editable", or to bring any already-recorded demo into vosso.

Habilidades Relacionadas