CommunityCodierung & Entwicklunggithub.com

labs-graduation

Ein Feature aus den Control UI Labs entfernen, entweder standardmäßig aktiviert oder weiterhin deaktiviert. Verwende dies, wenn gebeten wird, ein Labs-Feature zu promoten, zu graduieren oder auszuliefern.

Was ist labs-graduation?

Diese Skill-Anleitung beschreibt den Prozess der Graduierung eines Labs-Features in Control UI. Dabei wird der Labs-Schalter entfernt und das Feature wird zu einem normalen Feature. Zwei unabhängige Entscheidungen müssen vor dem Code getroffen werden: (1) Verlassen der Labs – das Feature erhält einen permanenten Platz (eigene Einstellungen oder Plugin-Seite) und verliert die Labs-Bezeichnung; (2) Standardeinstellung – standardmäßig aktiviert oder weiterhin standardmäßig deaktiviert. Die Anleitung betont die Bedeutung von Live-Messungen der Kosten oder Risiken auf dem echten Pfad, bevor ein PR erstellt wird, sowie die Notwendigkeit, bekannte Fehler vor der Graduierung zu beheben. Sie enthält detaillierte Schritte für die Code-Änderungen, einschließlich der Entfernung des Labs-Eintrags, der Aktualisierung der Dokumentation, der Neugenerierung von Konfigurationsdateien und des Nachweises des Upgrade-Verhaltens. Die Plattform ist Control UI und die Skill-Dokumentation basiert auf realen Beispielen wie Advisor, Swarm und Tool Search. Der Benutzer sollte immer nach der gewünschten Standardeinstellung fragen, da „Graduierung“ nicht automatisch „standardmäßig aktiviert“ bedeutet.

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

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

Graduierung eines Labs-Features

Die Graduierung entfernt den Labs-Schalter eines Features und macht es zu einem normalen Feature. Zwei separate Entscheidungen, die vom Eigentümer vor jeglichem Code getroffen werden:

  1. Labs verlassen: Das Feature erhält einen permanenten Platz (eigene Einstellungen oder Plugin-Seite) und verliert die Labs-Bezeichnung.
  2. Standard: Standardmäßig aktiviert oder weiterhin standardmäßig deaktiviert.

Sie sind unabhängig. #197029 hat zuerst beides versucht, dann nur das erste ausgeliefert: Advisor hat Labs verlassen, blieb aber deaktiviert. Frage, was gewünscht wird; gehe nicht davon aus, dass „Graduierung“ „standardmäßig aktiviert“ bedeutet.

Präzedenzfälle: Swarm standardmäßig aktiviert (#136514), Tool Search standardmäßig aktiviert (#154068), native Plugin-UI ohne Labs-Opt-in aktiviert (de50262a1f96), Labs-Features in die Einstellungen verschoben (#145460), Advisor hat Labs verlassen und ist weiterhin deaktiviert (#197029).

Vor dem PR

  • Messe Kosten oder Risiko auf dem echten Pfad, wenn das Feature Geld oder Tokens kostet oder das Verhalten für Benutzer ändert, die nie opt-in waren. Aktuelle Zahlen aus Mocks oder Unit-Tests sind kein Beleg. #197074 hat eine Cache-Kosten-Behauptung aus einem Mock zusammengeführt, die von Live-Providern widerlegt wurde, und wurde in #197175 rückgängig gemacht. Verwende die Live-Messung, die die eigenen PRs des Features bereits etabliert haben, und füge die Zahlen in den PR-Body ein.
  • Behebe zuerst bekannte Fehler. Die Graduierung von Advisor wartete auf seine Fork-Cache-Fixes (#197203, #197223, #197224, #197226), weil die standardmäßige Aktivierung jeden Benutzer mit den ungecachten Kosten belastet hätte.
  • Finde den verbleibenden Aktivierungspfad. Nachdem die Labs-Zeile entfernt wurde, müssen Benutzer das Feature weiterhin über die UI aktivieren können. Ein gebündeltes Plugin verwendet Einstellungen → Plugins → → Aktivieren; ein Kern-Feature benötigt seine Einstellungsseite. Füge einen Schalter nur hinzu, wenn keiner existiert.

Die Änderung

  1. Standard. Ändere ihn nur, wenn der Eigentümer die standardmäßige Aktivierung gewählt hat: enabledByDefault eines gebündelten Plugins in openclaw.plugin.json oder die Kern-Konfigurationsvorgabe. Ein bestehender expliziter false (oder der Opt-out-Wert des Features) muss weiterhin funktionieren, und ein bestehender true muss aktiviert bleiben. Füge niemals eine Migration hinzu, die gespeicherte Konfiguration überschreibt, um die Wahl eines Benutzers zu ändern.
  2. Labs. Entferne den Eintrag aus ui/src/pages/labs/labs-registry.ts und alles, was nur von ihm verwendet wurde: labs-page.tsx-Zeilen oder -Slots, labs-feature-state.ts-Einträge, Zeichenketten und Tests.
  3. Dokumentation. Verschiebe den Abschnitt des Features aus docs/concepts/experimental-features.md auf eine eigene Referenzseite. Hinterlasse dort einen einseitigen Hinweis mit dem alten Anker, der besagt, dass es graduiert wurde, seine Standardeinstellung und wo es aktiviert werden kann. Aktualisiere die Liste „Labs umfasst ...“ und die Tabelle „Aktuell dokumentierte Flags“.
  4. Formulierung. Entferne „Experimentell“ und „OpenClaw Labs“ aus der Manifest-Beschreibung, Paketbeschreibung, README, Plugin-Zusammenfassung und allen benutzer- oder modellbezogenen Texten wie Prompt-Präfixen.
  5. Generierte Dateien. Generiere neu, niemals per Hand zusammenführen: pnpm config:docs:gen, pnpm plugins:inventory:gen. Control UI-Lokalisierungsartefakte (*.meta.json, *.tm.jsonl, catalog-fallbacks.json) bleiben gemäß ui/AGENTS.md außerhalb des PRs; der Lokalisierungs-Refresh-Workflow aktualisiert sie. pnpm ui:i18n:verify muss bestehen.
  6. Upgrade-Nachweis. Nur bei einer Änderung der Standardeinstellung: Weise bei einem echten Upgrade nach, dass kein gespeicherter Eintrag die neue Standardeinstellung erhält, eine explizite Deaktivierung bleibt deaktiviert und eine explizite Aktivierung bleibt aktiviert. Eine Standardeinstellung, die gleich bleibt, benötigt keinen Upgrade-Fall; #197029 hat den Fall entfernt, den es für die standardmäßige Aktivierung gebaut hatte.

Nachweise im PR

  • Control UI-Screenshots, vor dem Hochladen auf private Daten überprüft: Labs vorher und nachher, und der Aktivierungspfad funktioniert auf einem echten Gateway. Füge sie mit gh pr comment <n> --attach '<file>#<alt text>' an.
  • Der Aktivierungspfad Ende-zu-Ende getestet: Der Schalter speichert die erwartete Konfiguration und wird ohne Neustart wirksam.
  • Die Tests des Features und die Tests der Labs-Seite bestehen; die Testzeilen-Ratsche wächst nicht.
  • Die Behauptungen in der Dokumentation stimmen mit dem Code überein. ClawSweeper hat bei Advisor die Aussage „höchstens eine Überprüfung pro everyMinutes“ erwischt, die mit aktiviertem everyToolCalls falsch war.

Nach dem Merge

Der neue Ort erscheint nur in Builds, die den Merge enthalten. Teile den Benutzern den genauen Pfad mit und dass ältere Builds weiterhin den Labs-Schalter zeigen.

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.

Verwandte Skills