labs-graduation

Remover um recurso do Control UI Labs, ativado por padrão ou ainda desativado por padrão. Use quando for solicitado a promover, graduar ou enviar um recurso do Labs.

O que é labs-graduation?

Esta skill automatiza o processo de graduação de um recurso experimental do Control UI Labs, transformando-o em um recurso normal. Ela permite duas decisões independentes: remover o recurso do Labs (deixando de usar a terminologia 'Labs') e definir se o recurso fica ativado por padrão ou não. A skill é projetada para desenvolvedores que trabalham com o ecossistema OpenClaw e Control UI, abrangendo plataformas como plugins e configurações principais do sistema. Ela fornece diretrizes detalhadas sobre como medir custos e riscos antes da implementação, corrigir defeitos conhecidos, garantir que o caminho de ativação permaneça acessível via UI, e realizar as alterações necessárias no código, documentação e arquivos gerados. A skill também inclui verificações de prova, como screenshots e testes, para garantir que a graduação seja feita de forma segura e sem impactos inesperados para os usuários.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/labs-graduation

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

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

Documentação

Graduar um recurso do Labs

A graduação remove o switch de Labs de um recurso e o torna um recurso normal. Duas decisões separadas, tomadas pelo proprietário antes de qualquer código:

  1. Sair do Labs: o recurso ganha um local permanente (sua própria página de configurações ou plugin) e perde a terminologia "Labs".
  2. Padrão: ativado por padrão, ou ainda desativado por padrão.

Elas são independentes. #197029 tentou ambas primeiro, depois enviou apenas a primeira: o Advisor saiu do Labs, mas permaneceu desativado. Pergunte qual é desejada; não presuma que "graduar" signifique "ativado por padrão".

Precedentes: Swarm ativado por padrão (#136514), Tool Search ativado por padrão (#154068), UI de plugin nativa ativada sem opt-in do Labs (de50262a1f96), recursos do Labs movidos para Configurações (#145460), Advisor saiu do Labs e ainda desativado (#197029).

Antes do PR

  • Meça custo ou risco na rota real se o recurso custa dinheiro ou tokens, ou altera o comportamento para usuários que nunca optaram. Números de hoje de mocks ou testes unitários não são prova. #197074 mesclou uma alegação de custo de cache de um mock que provedores ao vivo refutaram, e foi revertido em #197175. Use a medição ao vivo que os próprios PRs do recurso já estabeleceram, e coloque os números no corpo do PR.
  • Resolva defeitos conhecidos primeiro. A graduação do Advisor esperou suas correções de cache fork (#197203, #197223, #197224, #197226) porque, se ativado por padrão, teria cobrado de cada usuário o custo não armazenado em cache.
  • Encontre o caminho de ativação que permanece. Depois que a linha do Labs for removida, os usuários ainda devem poder ativar o recurso pela UI. Um plugin empacotado usa Configurações → Plugins → → Ativar; um recurso principal precisa de sua página de configurações. Adicione um switch somente se nenhum existir.

A mudança

  1. Padrão. Altere-o somente se o proprietário escolheu ativado por padrão: enabledByDefault de um plugin empacotado em openclaw.plugin.json, ou o padrão de configuração principal. Um false explícito existente (ou o valor de opt-out do recurso) deve continuar funcionando, e um true existente deve permanecer ativado. Nunca adicione uma migração que reescreva configurações salvas para alterar a escolha de alguém.
  2. Labs. Remova a entrada de ui/src/pages/labs/labs-registry.ts e tudo que apenas ela usava: linhas ou slots de labs-page.tsx, entradas de labs-feature-state.ts, strings e testes.
  3. Documentação. Mova a seção do recurso de docs/concepts/experimental-features.md para sua própria página de referência. Deixe uma nota de um parágrafo lá com a âncora antiga, informando que o recurso foi graduado, seu padrão e onde ativá-lo. Atualize a lista "Labs inclui ..." e a tabela "Flags atualmente documentadas".
  4. Terminologia. Remova "Experimental" e "OpenClaw Labs" da descrição do manifesto, descrição do pacote, README, resumo do plugin e qualquer texto voltado para o usuário ou modelo, como prefixos de prompt.
  5. Arquivos gerados. Regere, nunca faça merge manual: pnpm config:docs:gen, pnpm plugins:inventory:gen. Os artefatos de localização do Control UI (*.meta.json, *.tm.jsonl, catalog-fallbacks.json) ficam fora do PR conforme ui/AGENTS.md; o fluxo de atualização de localização os atualiza. pnpm ui:i18n:verify deve passar.
  6. Prova de upgrade. Somente para uma alteração de padrão: prove em um upgrade real que nenhuma entrada salva recebe o novo padrão, um desativado explícito permanece desativado e um ativado explícito permanece ativado. Um padrão que permanece o mesmo não precisa de caso de upgrade; #197029 descartou o que havia construído para ativado por padrão.

Prova no PR

  • Screenshots do Control UI, inspecionadas quanto a dados privados antes do upload: Labs antes e depois, e o caminho de ativação funcionando em um Gateway real. Anexe-os com gh pr comment <n> --attach '<file>#<alt text>'.
  • O caminho de ativação testado de ponta a ponta: o switch salva a configuração esperada e entra em vigor sem necessidade de reinicialização.
  • Os testes do recurso e os testes da página de Labs passam; a catraca de linhas de teste não aumenta.
  • As alegações da documentação correspondem ao código. O ClawSweeper detectou o "no máximo uma revisão por everyMinutes" do Advisor, que era falso com everyToolCalls ativado.

Após o merge

O novo local só aparece em builds que incluem o merge. Informe aos usuários o caminho exato e que builds mais antigos ainda mostram o switch do Labs.

Individual skills in this repo

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

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills and agent Templates when requested; add Templates; install, verify, update, uninstall, publish, or sync skills.

Habilidades Relacionadas