OpenHands v1.16.0 foi lançada às 18:19:22 UTC em 27 de agosto, substituindo o catálogo de skills embutido e ativo por padrão do agente por uma allow-list explícita. O pull request por trás da mudança é incomumente franco sobre os números e a justificativa.

O estado que ela substituiu

Textualmente, o PR diz: "The whole @openhands/extensions catalog is baked into the bundle at build time and merged into agent_context.skills for every conversation, with disabled_skills as the only escape hatch." E, sobre a consequência: "All-on-with-a-deny-list means every catalog addition is on by default for everyone, which is how @rbren ended up opted into javadoc and bitbucket skills."

O novo padrão

"59 catalog skills render, 11 on, 48 off." O caso de regressão nomeado é add-javadoc — "the skill from the issue report — is among the 48." enabled_skills é descrito como "an allow-list over the bundled catalog only, defaulting to the 11 entries the catalog flags defaultEnabled."

A razão declarada é contenção de prompt

"The cost isn't disk — it's ~60 skill bodies and 60 trigger sets competing in every system prompt." Esse é um argumento de orçamento de contexto. Não dito no PR: um catálogo all-on também significa que toda skill adicionada pelo fornecedor ou por uma dependência torna-se capacidade ativa em toda conversa sem que o operador dê opt-in — que é exatamente o caminho de ingestão por trás da pesquisa sobre agent-skill-poisoning que circula neste mês.

O que a leitura comum erra

Três coisas. Ela está arquivada em "Features", encaixada entre uma mudança de fixação da barra lateral e um link para a gaveta de arquivos, quando o que aconteceu foi que um agente de codificação open source amplamente implantado admitiu que seu catálogo de skills operava com opt-out e reverteu isso.

A cobertura vai exagerar o escopo. A allow-list cobre apenas o catálogo embutido; skills descobertas em runtime a partir de .agents/skills/ permanecem ativas no momento em que aparecem e continuam regidas pela deny-list. Dizer que "OpenHands agora exige que skills sejam allow-listed" estaria errado.

E o número em si não é o número implantado. Uma migração única preserva o comportamento antigo: um workspace cuja deny-list já nomeia uma skill do catálogo "keeps everything else on." O padrão de 11 de 59 se aplica a novos workspaces, não retroativamente à base já instalada. A data também importa — o PR foi mesclado em 24 de agosto às 18:53 UTC, três dias antes de os usuários o receberem; o lançamento é o evento visível para o usuário.