Impacto do Plugin SDK

Conta consumidores do Plugin SDK em lançamentos públicos do ClawHub e plugins OpenClaw empacotados antes de descontinuação, remoção ou alterações de comportamento; suporta filtros de data de lançamento público.

O que é Impacto do Plugin SDK?

Esta skill capacita agentes de IA a analisar o impacto de mudanças no Plugin SDK do ecossistema ClawHub/OpenClaw. Ela combina inventários do ClawHub (lançamentos públicos) com uma varredura estática de fontes de todos os plugins OpenClaw empacotados, mesmo aqueles ausentes do ClawHub, para fornecer uma contagem abrangente de consumidores. A skill suporta filtros por data de lançamento público (relativa, com `--months`, ou absoluta, com `--since`) para focar a análise em lançamentos recentes. Ao consultar chaves canônicas (como `api-member:api.registerTool`), ela gera relatórios com contagens separadas para ClawHub e fontes empacotadas, além de uma contagem combinada, alertando sobre lacunas de cobertura. Útil para decisões de compatibilidade antes de descontinuar ou alterar APIs, a skill enfatiza que o uso estático não prova execução em tempo de execução, e sempre recomenda inspecionar as evidências de uso antes de concluir. Suporta plataformas ClawHub e OpenClaw, exigindo Node.js e o `@openclaw/plugin-inspector` para varreduras.

Funciona com~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/plugin-sdk-impact

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

O que Impacto do Plugin SDK faz?

Combine inventários atuais do ClawHub com uma varredura de fontes de cada plugin OpenClaw empacotado, incluindo plugins ausentes do ClawHub, para informar decisões de compatibilidade. O uso estático identifica dependências; não prova execução ou dependência de um comportamento específico. Mantenha as regras de aprovação e descontinuação em o guia de limites do SDK como autoritativas.

Investigar

  1. Identifique cada superfície pública afetada a partir do código-fonte, incluindo exportações alternativas do SDK e caminhos em tempo de execução. Verifique a grafia em relação à definição e aos chamadores conhecidos; uma chave incorreta pode retornar um zero convincente. Rastreie também fachadas agrupadas, helpers do SDK e leitores de registro: um alias simples pode ter zero chamadas diretas de plugin enquanto implementa um método agrupado suportado.

  2. Escaneie cada plugin empacotado em uma cópia limpa do OpenClaw usando a análise estática de fontes do Plugin Inspector. Reutilize um Inspector 0.4.3 ou mais novo instalado; caso contrário, instale-o em um diretório temporário separado, sem scripts de ciclo de vida:

    inspector_dir=$(mktemp -d)
    npm install --prefix "$inspector_dir" --ignore-scripts @openclaw/[email protected]
    node {baseDir}/scripts/scan-bundled.mjs \
      --inspector "$inspector_dir/node_modules/@openclaw/plugin-inspector" \
      --out /tmp/openclaw-bundled-sdk-usage.json
    

    O scanner usa como padrão o checkout desta skill; --root <checkout> seleciona outro. Ele descobre extensions/*/openclaw.plugin.json, nunca executa código de plugin, e registra o commit, impressão digital de entrada, versão do Inspector, cada plugin e análises incompletas. Uma varredura com falha ou tempo limite permanece como lacuna. Plugins sem pontos de entrada declarados também permanecem lacunas de cobertura, porque o Inspector pode perder pontos de entrada implícitos. Uma varredura de corpus interrompida não pode ser usada como um inventário concluído. Reutilize o relatório para múltiplas consultas enquanto sua fonte permanecer inalterada. Um commit alterado, lista de plugins ou fonte não commitada o invalida; reescaneie em vez de editar o recibo.

  3. Consulte cada chave canônica com ambas as fontes:

    node {baseDir}/scripts/query.mjs 'api-member:api.registerTool' \
      --bundled /tmp/openclaw-bundled-sdk-usage.json
    

    Para "atualizado nos últimos três meses", adicione --months 3. Isso significa que o lançamento público elegível mais recente foi enviado dentro de três meses corridos de agora, medido em UTC (os finais de mês são limitados). Edições de listagem e reescaneamentos não contam como atualizações. A data de lançamento armazenada é seu horário de criação/envio; a aprovação pública pode ocorrer depois. --since 2026-07-16T12:00:00Z aceita um corte explícito. Relate o corte exato e inclusivo de releaseWindow, não uma data adivinhada. Consumidores públicos e cobertura usam a mesma janela em cada página. A fonte empacotada não tem data de envio comparável: relate-a separadamente, sem filtro, mesmo para uma pergunta de lançamento recente. A contagem combinada é a união dessa janela de lançamento público e da fonte empacotada atual, não uma contagem de lançamentos recentes.

    O helper segue todas as páginas de uso e cobertura, incluindo páginas intermediárias vazias. Contagens e cobertura incluem cada resultado; items, gaps e warnings contêm exemplos limitados com contagens omitidas em output.omitted. Referências mistas contam tanto nos totais de runtime quanto de tipo. Para uma investigação que precisa de cada consumidor ou lacuna, salve a saída --full em um arquivo e leia em seções:

    node {baseDir}/scripts/query.mjs 'api-member:api.registerTool' \
      --bundled /tmp/openclaw-bundled-sdk-usage.json --full > sdk-usage.json
    

    --help documenta os limites de endpoint e travessia local.

  4. Inspecione as evidências correspondentes em relação à mudança proposta. Uma chamada de método pode não usar o comportamento que está sendo alterado. Consumidores apenas de tipo ainda importam para remoção de tipo/exportação. Consulte membros relacionados separadamente; uma importação de módulo não prova o uso de cada exportação. Referências repetidas em um plugin contam como um consumidor.

  5. Para uma pergunta de contagem de uso, relate a chave, horário da consulta, janela de lançamento exata (se solicitada), contagens do ClawHub e empacotadas, sua contagem combinada, commit empacotado e ambas as lacunas de cobertura. distinctPlugins e coverage de nível superior permanecem apenas para ClawHub; bundled descreve resultados da fonte; combined mescla identidades exatas de pacotes uma vez. Alguns plugins empacotados não têm nome de pacote: quando podem se sobrepor a correspondências públicas, combined.distinctPlugins é nulo e distinctPluginBounds relata o intervalo possível. observedPluginIdentities conta identidades da fonte antes dessa sobreposição incerta. Relate o intervalo, não seu limite superior como uma contagem exata. Nomes diferentes permanecem distintos; nunca adivinhe aliases a partir de nomes de exibição. Evidências empacotadas ausentes tornam o impacto combinado indisponível. Para uma mudança proposta no SDK, relate também as evidências correspondentes, chamadores indiretos e sua recomendação de compatibilidade. Conclua investigações de mudança com a decisão do mantenedor: preservar comportamento, descontinuar com migração ou prosseguir sob política existente. Nunca infira permissão a partir da contagem.

Chaves canônicas

SuperfícieExemplo
Módulo do SDKsdk-module:openclaw/plugin-sdk/core
Exportação nomeada do SDKsdk-export:openclaw/plugin-sdk/core#OpenClawPluginApi
Método da API do pluginapi-member:api.registerTool
Membro runtime do hostruntime-member:runtime.channel.reply.dispatchReplyFromConfig
Hook nomeadohook:hook.before_agent_start
Contrato de manifestomanifest-contract:manifest.contracts.tools:example_tool

Chaves descrevem identidades do SDK, não aliases locais. Membros de api.runtime normalizam para runtime.*. O inventário inclui referências suportadas e descontinuadas; deprecationCodes não vazio seleciona entradas associadas a avisos existentes. A inspeção por plugin está disponível em https://clawhub.ai/api/v1/sdk-usage/plugin?package=<encoded-name>; siga seu nextCursor até nulo para obter o inventário completo.

Interpretar o resultado

ResultadoRelatório
Consumidores observadosRelate contagens públicas, empacotadas e combinadas com seus escopos separados. Inspecione evidências antes de julgar uma alteração de comportamento.
Nenhum consumidor observado, cobertura completa“Nenhuma referência estática detectada em N identidades de plugin público/empacotado.” Requer ambas as varreduras; exclui plugins não empacotados privados e dependências não empacotadas. Não é prova de que ninguém usa a API.
Análise parcial, com falha, ausente, incompatível ou não resolvidaRelate correspondências observadas, contagens de lacunas e lacunas representativas. Zero correspondências deixa o impacto desconhecido.
Corpus vazioNenhum plugin elegível foi observado; isso não fornece garantia do ecossistema.
Endpoint indisponível, resultado malformado ou travessia incompletaO impacto é desconhecido. Preserve o erro e use evidências locais; nunca substitua por zero.

A cobertura está vinculada às versões atuais do lançamento/artefato e análise. Relatórios elegíveis do ClawHub têm inputKind: "artifact"; relatórios empacotados usam "source". Uma referência de checkout de fonte não pode estabelecer o que um pacote publicado contém. Referências de tipo apenas de fonte ainda importam para remoção de tipo e exportação do SDK; preserve a fonte de cada correspondência. Um timestamp de varredura antigo por si só não torna um artefato imutável obsoleto. As evidências são amostradas; cada varredura relata seus limites de evidência/desconhecido. As páginas são leituras ao vivo, não um instantâneo: reexecute se lançamentos ou visibilidade mudarem durante a investigação. O helper sinaliza mudanças que observa, mas não pode estabelecer um instantâneo em toda a transação.

Não descarte um problema de segurança só porque nenhum consumidor foi observado. Descreva como as evidências de uso afetam o risco de compatibilidade; os proprietários de segurança e SDK ainda decidem a correção e qualquer exceção à janela de migração normal.

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 when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

Habilidades Relacionadas