CommunityCodierung & Entwicklunggithub.com

plugin-sdk-impact

Zählt die Nutzer des Plugin-SDK in Live-ClawHub-Veröffentlichungen und gebündelten OpenClaw-Plugins vor der Abschaffung, Entfernung oder Verhaltensänderungen; unterstützt öffentliche Datumsfilter für Veröffentlichungen.

Was ist plugin-sdk-impact?

Dieses Skill analysiert die Auswirkungen von Änderungen am Plugin-SDK, indem es sowohl aktuelle ClawHub-Inventare als auch den Quellcode aller gebündelten OpenClaw-Plugins scannt. Es identifiziert statische Nutzungsmuster, um festzustellen, welche SDK-Oberflächen von Plugins verwendet werden, und hilft so bei der Entscheidung, ob eine Funktion abgeschafft, entfernt oder geändert werden kann. Unterstützt werden ClawHub und OpenClaw; die Analyse erfolgt durch einen statischen Quellcode-Scanner (Plugin Inspector) und eine Abfrage der ClawHub-API. Das Skill bietet detaillierte Berichte mit kombinierter Nutzungszählung, Abdeckungslücken und Empfehlungen zur Kompatibilität. Es ist besonders nützlich für Maintainer, die SDK-Änderungen sicher vornehmen möchten, ohne unerwünschte Auswirkungen auf die Plugin-Community zu verursachen.

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

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Plugin-SDK-Auswirkung

Kombiniere aktuelle ClawHub-Inventare mit einem Quellcode-Scan aller gebündelten OpenClaw-Plugins, einschließlich Plugins, die nicht in ClawHub vorhanden sind, um Kompatibilitätsentscheidungen zu treffen. Statische Nutzung identifiziert Abhängigkeiten; es beweist keine Ausführung oder Abhängigkeit von einem bestimmten Verhalten. Halte die Genehmigungs- und Abschaffungsregeln in der SDK-Grenzrichtlinie maßgeblich.

Untersuchen

  1. Identifiziere jede betroffene öffentliche Oberfläche aus dem Quellcode, einschließlich alternativer SDK-Exporte und Laufzeitpfade. Überprüfe die Schreibweise anhand der Definition und bekannter Aufrufer; ein falscher Schlüssel kann eine überzeugende Null zurückgeben. Verfolge auch gruppierte Fassaden, SDK-Helfer und Registrierungsleser: ein flacher Alias kann null direkte Plugin-Aufrufe haben, während er eine unterstützte gruppierte Methode implementiert.

  2. Scanne jedes gebündelte Plugin in einem sauberen OpenClaw-Checkout mit der statischen Quellcode-Analyse des Plugin Inspector. Verwende einen installierten Inspector 0.4.3 oder neuer; andernfalls installiere ihn in einem separaten temporären Verzeichnis, ohne Lebenszyklus-Skripte:

    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
    

    Der Scanner verwendet standardmäßig das Checkout dieses Skills; --root <checkout> wählt ein anderes aus. Er erkennt extensions/*/openclaw.plugin.json, führt niemals Plugin-Code aus und zeichnet den Commit, den Eingabe-Fingerprint, die Inspector-Version, jedes Plugin und unvollständige Analysen auf. Ein fehlgeschlagener oder zeitlich abgelaufener Scan bleibt eine Lücke. Plugins ohne deklarierte Einstiegspunkte bleiben ebenfalls Abdeckungslücken, da Inspector implizite Einstiegspunkte übersehen kann. Ein unterbrochener Korpus-Scan kann nicht als fertiges Inventar verwendet werden. Verwende den Bericht für mehrere Abfragen wieder, solange seine Quelle unverändert bleibt. Ein geänderter Commit, eine geänderte Plugin-Liste oder nicht festgeschriebener Quellcode macht ihn ungültig; scanne erneut, anstatt den Beleg zu bearbeiten.

  3. Frage jeden kanonischen Schlüssel mit beiden Quellen ab:

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

    Für „aktualisiert innerhalb der letzten drei Monate“ füge --months 3 hinzu. Das bedeutet, die neueste berechtigte öffentliche Veröffentlichung wurde innerhalb von drei Kalendermonaten ab jetzt hochgeladen, gemessen in UTC (Monatsenden werden begrenzt). Bearbeitungen und erneute Scans von Auflistungen zählen nicht als Aktualisierungen. Das gespeicherte Veröffentlichungsdatum ist die Erstellungs-/Hochladezeit; die öffentliche Genehmigung kann später erfolgen. --since 2026-07-16T12:00:00Z akzeptiert einen expliziten Cutoff. Melde den genauen inklusiven Cutoff aus releaseWindow, kein geschätztes Datum. Öffentliche Nutzer und Abdeckung verwenden auf jeder Seite dasselbe Fenster. Gebündelter Quellcode hat kein vergleichbares Hochladedatum: melde ihn separat, ungefiltert, selbst bei einer Frage zu einer aktuellen Veröffentlichung. Die kombinierte Anzahl ist die Vereinigung dieses öffentlichen Veröffentlichungsfensters und des aktuellen gebündelten Quellcodes, nicht eine Anzahl aktueller Veröffentlichungen.

    Der Helfer folgt allen Nutzungs- und Abdeckungsseiten, einschließlich leerer Zwischenseiten. Zählungen und Abdeckung umfassen jedes Ergebnis; items, gaps und warnings enthalten begrenzte Beispiele mit ausgelassenen Zählungen in output.omitted. Gemischte Referenzen zählen sowohl in Laufzeit- als auch in Typ-Gesamtsummen. Für eine Untersuchung, die jeden Nutzer oder jede Lücke benötigt, speichere die --full Ausgabe in einer Datei und lese sie in Abschnitten:

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

    --help dokumentiert lokale Endpunkt- und Durchlaufgrenzen.

  4. Überprüfe die übereinstimmenden Beweise anhand der vorgeschlagenen Änderung. Ein Methodenaufruf verwendet möglicherweise nicht das Verhalten, das geändert wird. Nur-Typ-Nutzer sind dennoch für die Entfernung von Typen/Exporten relevant. Frage verwandte Mitglieder separat ab; ein Modulimport beweist nicht die Verwendung jedes Exports. Wiederholte Referenzen in einem Plugin zählen als ein Nutzer.

  5. Für eine Frage zur Nutzungsanzahl melde den Schlüssel, die Abfragezeit, das genaue Veröffentlichungsfenster (falls angefordert), die ClawHub- und gebündelten Zählungen, ihre kombinierte Anzahl, den gebündelten Commit und beide Abdeckungslücken. Top-Level distinctPlugins und coverage bleiben nur für ClawHub; bundled beschreibt Quellcode-Ergebnisse; combined führt genaue Paketidentitäten einmal zusammen. Einige gebündelte Plugins haben keinen Paketnamen: wenn sie sich mit öffentlichen Treffern überschneiden könnten, ist combined.distinctPlugins null und distinctPluginBounds gibt den möglichen Bereich an. observedPluginIdentities zählt Quellcode-Identitäten vor dieser unsicheren Überschneidung. Melde den Bereich, nicht seine obere Grenze als genaue Anzahl. Unterschiedliche Namen bleiben unterschiedlich; rate niemals Aliase aus Anzeigenamen. Fehlende gebündelte Beweise machen die kombinierte Auswirkung nicht verfügbar. Für eine vorgeschlagene SDK-Änderung melde auch übereinstimmende Beweise, indirekte Aufrufer und deine Kompatibilitätsempfehlung. Beende Änderungsuntersuchungen mit der Entscheidung des Maintainers: Verhalten beibehalten, mit Migration abschaffen oder unter bestehender Richtlinie fortfahren. Leite niemals eine Berechtigung aus der Anzahl ab.

Kanonische Schlüssel

OberflächeBeispiel
SDK-Modulsdk-module:openclaw/plugin-sdk/core
Benannter SDK-Exportsdk-export:openclaw/plugin-sdk/core#OpenClawPluginApi
Plugin-API-Methodeapi-member:api.registerTool
Host-Laufzeitmitgliedruntime-member:runtime.channel.reply.dispatchReplyFromConfig
Benannter Hookhook:hook.before_agent_start
Manifest-Vertragmanifest-contract:manifest.contracts.tools:example_tool

Schlüssel beschreiben SDK-Identitäten, keine lokalen Aliase. api.runtime-Mitglieder normalisieren zu runtime.*. Das Inventar umfasst unterstützte und veraltete Referenzen; nicht leere deprecationCodes wählt Einträge aus, die mit vorhandenen Warnungen verbunden sind. Die Inspektion pro Plugin ist verfügbar unter https://clawhub.ai/api/v1/sdk-usage/plugin?package=<encodierter-name>; folge seinem nextCursor bis null, um das vollständige Inventar zu erhalten.

Interpretiere das Ergebnis

ErgebnisBericht
Beobachtete NutzerMelde öffentliche, gebündelte und kombinierte Zählungen mit ihren separaten Bereichen. Überprüfe Beweise, bevor du ein Verhaltensänderung beurteilst.
Keine beobachteten Nutzer, vollständige Abdeckung„Keine statischen Referenzen erkannt über N öffentliche/gebündelte Plugin-Identitäten.“ Erfordert beide Scans; schließt private nicht gebündelte Plugins und nicht gebündelte Abhängigkeiten aus. Kein Beweis, dass niemand die API verwendet.
Teilweise, fehlgeschlagene, fehlende, inkompatible oder ungelöste AnalyseGib übereinstimmende Funde, Lückenzahlen und repräsentative Lücken an. Null Treffer lässt die Auswirkung unbekannt.
Leerer KorpusEs wurden keine berechtigten Plugins beobachtet; dies bietet keine Ökosystem-Sicherheit.
Nicht verfügbarer Endpunkt, fehlerhaftes Ergebnis oder unvollständiger DurchlaufDie Auswirkung ist unbekannt. Behalte den Fehler bei und verwende lokale Beweise; ersetze niemals durch null.

Abdeckung ist an die aktuelle Version von Veröffentlichung/Artefakt und Analyse gebunden. Berechtigte ClawHub-Berichte haben inputKind: "artifact"; gebündelte Berichte verwenden "source". Ein Quellcode-Checkout-Benchmark kann nicht feststellen, was ein veröffentlichtes Paket enthält. Nur-Quellcode-Typ-Referenzen sind dennoch für die Entfernung von SDK-Typen und -Exporten relevant; bewahre die Quelle jedes Treffers. Ein alter Scan-Zeitstempel allein macht ein unveränderliches Artefakt nicht veraltet. Beweise werden stichprobenartig erhoben; jeder Scan meldet seine Beweis-/Unbekannt-Grenzen. Seiten sind Live-Lesevorgänge, keine Momentaufnahme: führe erneut aus, wenn sich während der Untersuchung Veröffentlichungen oder Sichtbarkeit ändern. Der Helfer markiert Änderungen, die er beobachtet, kann aber keine transaktionsweite Momentaufnahme erstellen.

Entlasse ein Sicherheitsproblem nicht, nur weil keine Nutzer beobachtet wurden. Beschreibe, wie Nutzungsnachweise das Kompatibilitätsrisiko beeinflussen; Sicherheits- und SDK-Eigentümer entscheiden weiterhin über den Fix und jede Ausnahme vom normalen Migrationsfenster.

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.

Verwandte Skills