clawsweeper

Utiliser pour tout le travail lié à ClawSweeper : rapports de sweep issues/PR OpenClaw, tâches de réparation, PR de correction cloud, commandes de mention du mainteneur @clawsweeper, autofix/automerge vérifié par ClawSweeper, surveillance GitHub Actions, permissions, portes et rattrapages manuels.

Qu'est-ce que clawsweeper ?

ClawSweeper est le bot de maintenance automatisé d'OpenClaw, conçu pour effectuer des opérations de sweep, de réparation et de création de PR de correction sur le dépôt OpenClaw. Il est principalement utilisé pour générer des rapports détaillés sur les issues et les pull requests, créer des tâches de réparation à partir de ces rapports ou de prompts de mainteneur, et gérer les PR de remplacement lorsque les PR sources sont obsolètes ou non modifiables. Le bot fonctionne comme une application GitHub unique, utilisant des jetons d'application GitHub de courte durée pour les mutations, et s'appuie sur des variables d'environnement dédiées pour le contrôle d'accès. Il prend en charge les mentions de mainteneur via `@clawsweeper` pour des actions telles que la re-revue, l'autofix, l'automerge, ou des questions libres, avec un routage des commentaires programmé et une exécution limitée par des portes de sécurité (`CLAWSWEEPER_ALLOW_*`). ClawSweeeper est destiné aux développeurs et mainteneurs d'OpenClaw, et il est déployé sur GitHub Actions via des workflows dédiés (sweep, réparation, routage des commentaires).

Compatible avec~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/clawsweeper

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait clawsweeper ?

ClawSweeper réside dans ~/Projects/clawsweeper. C'est l'unique bot de maintenance d'OpenClaw pour les opérations de sweep, les tâches de réparation et les PR de correction vérifiées. Utilisez cette compétence à chaque fois que vous êtes interrogé sur des rapports, des conclusions, l'état des dispatchs, la création de PR de réparation/cloud, les commandes de commentaire, l'automerge, les permissions ou les portes.

Démarrage

Inspectez git status --short --branch dans le répertoire de travail ClawSweeper. Les demandes de statut et de rapport restent en lecture seule : utilisez les rapports actuels et les API de lecture en direct lorsque la fraîcheur est importante, sans tirer ni construire juste pour les inspecter.

Pour une implémentation ou une exécution autorisée, mettez à jour un répertoire de travail propre et dédié à la tâche et ne construisez que lorsque la commande sélectionnée en a besoin. Préservez les modifications non liées et les workflows actifs des autres opérateurs.

Un Bot, Une Application

Utilisez le dépôt ClawSweeper et l'application GitHub clawsweeper. Utilisez uniquement la configuration CLAWSWEEPER_* pour cette automatisation. N'utilisez pas d'applications, de variables, d'étiquettes ou de compétences héritées.

Configuration requise de l'application :

  • CLAWSWEEPER_APP_CLIENT_ID : ID client public de l'application pour clawsweeper.
  • CLAWSWEEPER_APP_PRIVATE_KEY : clé privée utilisée uniquement à l'intérieur des étapes actions/create-github-app-token.
  • Permissions de l'application cible : lire le contexte de scan cible ; écrire les issues et les pull requests ; écrire le contenu pour les commits de rapport, les branches de réparation et les entrées de workflow ; écrire Actions sur openclaw/clawsweeper pour le dispatch de re-revue du routeur de commentaires, le dispatch de workflow, l'annulation d'exécution et l'auto-guérison.

Limite des jetons :

  • Les travailleurs Codex n'obtiennent pas d'informations d'identification de mutation.
  • Les travailleurs de révision s'exécutent avec les variables d'environnement de secret/jeton dépouillées.
  • Les scripts déterministes possèdent les commentaires, les étiquettes, les push de branche, la création de PR, les fermetures et les fusions via des jetons d'application GitHub de courte durée.
  • Les portes de fusion et d'écriture sont par défaut fermées.

Révisions de Commits Hébergées

Les rapports par commit hébergés et les vérifications de commit Check Runs sont retirés. Pour la révision hors ligne conservée d'une branche commitée, utilisez pnpm local-review -- --base main. $autoreview --mode commit --commit <sha> reste un chemin de révision séparé à usage général.

Rapports de Sweep

Les rapports Issues/PR se trouvent ici :

records/<slug-du-dépôt>/items/<numéro>.md
records/<slug-du-dépôt>/closed/<numéro>.md

Commencez par des comptes, des conclusions concrètes et des liens vers les rapports. Ne publiez pas de commentaires non sollicités sur GitHub à partir d'un travail de lecture de rapport. Les surfaces publiques sont les rapports markdown, les commentaires de révision durables de ClawSweeper et les vérifications optionnelles.

Les rapports PR incluent des reviewFindings de style /review de Codex avec priorité, confiance, fichier relatif au dépôt et plage de lignes. Les commentaires publics de PR montrent une courte liste Review findings: lorsque des conclusions existent ; les commentaires de révision complets, les preuves, les propriétaires probables et les détails d'exécution restent à l'intérieur du bloc Review details réduit.

Pour une simple demande de statut, lisez les rapports existants et l'état limité du workflow en direct. Utilisez pnpm run audit uniquement pour un audit complet demandé.

La réconciliation est une mutation autorisée séparée : pnpm run reconcile brut déplace/supprime les fichiers de rapport et de plan de travail. Inspectez son dry-run uniquement lorsque cette tâche de maintenance est demandée ; n'exécutez pas la réconciliation pendant les lectures de statut/rapport. De même, apply-decisions appartient à un workflow d'application explicitement autorisé, commençant par son dry-run.

Créer une Tâche de Réparation

Créez une tâche à partir de références issues/PR et d'un prompt de mainteneur :

pnpm run repair:create-job -- \
  --repo openclaw/openclaw \
  --refs 123,456 \
  --prompt-file /tmp/clawsweeper-prompt.md

Créez à partir d'un rapport ClawSweeper existant :

pnpm run repair:create-job -- \
  --from-report ../clawsweeper/records/openclaw-openclaw/items/123.md

Le créateur de tâche vérifie la présence d'une PR ouverte existante, d'une correspondance de corps ou d'une branche clawsweeper/<cluster-id> distante avant d'écrire une autre tâche. Utilisez --dry-run pour inspecter. Utilisez --force uniquement après avoir décidé que la protection contre les doublons est obsolète.

Validez, commitez, puis dispatchez :

pnpm run repair:validate-job -- jobs/openclaw/inbox/clawsweeper-openclaw-openclaw-123.md
pnpm run repair:dispatch -- jobs/openclaw/inbox/clawsweeper-openclaw-openclaw-123.md \
  --mode autonomous \
  --runner blacksmith-4vcpu-ubuntu-2404 \
  --execution-runner blacksmith-16vcpu-ubuntu-2404 \
  --model gpt-6-astra

Ne dispatchez pas une tâche juste créée avant que le fichier de tâche ne soit commité et pushé ; le workflow lit le chemin de la tâche depuis GitHub.

PR de Remplacement

Pour une PR source utile mais non modifiable/obsolète/dangereuse, rendez le prompt du mainteneur explicite :

Considérez #123 comme un travail source utile. Si la branche source ne peut pas être mise à jour en toute sécurité
parce qu'elle est non modifiable, obsolète, uniquement en brouillon, non fusionnable ou dangereuse, créez une
PR de remplacement ClawSweeper étroite au lieu d'attendre. Préservez l'auteur de la PR source comme co-auteur,
mentionnez la PR source dans le corps de la PR de remplacement et fermez
uniquement cette PR source après l'ouverture de la PR de remplacement.

Le travailleur doit émettre repair_strategy=replace_uneditable_branch et lister l'URL de la PR source dans source_prs. L'exécuteur déterministe ouvre ou met à jour clawsweeper/<cluster-id>, ajoute les auteurs sources non-bot comme en-têtes Co-authored-by, et ferme les PR sources remplacées uniquement après que le remplacement existe.

Portes

Modifiez les portes d'exécution uniquement sous autorisation explicite pour cette fenêtre. Enregistrez l'état d'origine et toute restauration convenue avant de le modifier :

gh variable set CLAWSWEEPER_ALLOW_EXECUTE --repo openclaw/clawsweeper --body 1
gh variable set CLAWSWEEPER_ALLOW_FIX_PR --repo openclaw/clawsweeper --body 1
gh variable set CLAWSWEEPER_ALLOW_MERGE --repo openclaw/clawsweeper --body 1
gh variable set CLAWSWEEPER_ALLOW_AUTOMERGE --repo openclaw/clawsweeper --body 1

Restaurez une porte uniquement lorsque la fenêtre autorisée inclut cette restauration et que sa propriété/état correspondent toujours. Sinon, ne la modifiez pas ; une autre fenêtre active d'un mainteneur peut intentionnellement la maintenir à 1. Ne réinitialisez jamais toutes les portes comme un nettoyage générique.

Portes importantes :

  • CLAWSWEEPER_ALLOW_EXECUTE : autorise les canaux d'écriture déterministes.
  • CLAWSWEEPER_ALLOW_FIX_PR : autorise les PR de correction/remplacement de branche.
  • CLAWSWEEPER_ALLOW_MERGE : autorise les applicateurs capables de fusion.
  • CLAWSWEEPER_ALLOW_AUTOMERGE : autorise l'automerge du routeur de commentaires.
  • CLAWSWEEPER_COMMENT_ROUTER_EXECUTE : permet au routage programmé des commentaires de poster des réponses et de dispatcher des réparations.

Mentions du Mainteneur

Préférez les commentaires @clawsweeper pour tout contrôle destiné au mainteneur. Les commandes slash sont toujours analysées comme alias de compatibilité, mais les exemples et les conseils en direct doivent utiliser les mentions.

@clawsweeper status
@clawsweeper re-review
@clawsweeper review
@clawsweeper fix ci
@clawsweeper address review
@clawsweeper rebase
@clawsweeper autofix
@clawsweeper automerge
@clawsweeper approve
@clawsweeper explain
@clawsweeper stop
@clawsweeper <question ou demande d'action sécurisée>
@clawsweeper[bot] re-review
@openclaw-clawsweeper fix ci
@openclaw-clawsweeper[bot] fix ci

Alias acceptés : review, re-review, rereview, review again, rerun review et run review. review et re-review déclenchent une nouvelle révision d'issue/PR ClawSweeper sans démarrer de réparation. fix ci, address review et rebase déclenchent le travailleur de réparation uniquement pour les PR ClawSweeper ou les PR ayant opté pour clawsweeper:autofix ou clawsweeper:automerge. autofix exécute la boucle de révision/correction limitée sans fusion. automerge exécute la boucle de révision/correction/fusion limitée, mais les PR en brouillon restent en mode correction uniquement jusqu'à ce que GitHub les marque prêtes pour la révision.

Les mentions libres du mainteneur telles que @clawsweeper pourquoi l'automerge s'est-il arrêté ? ou @clawsweeper : pouvez-vous expliquer cet échec ? déclenchent une révision d'assistance en lecture seule avec le texte de la mention comme instructions ponctuelles. La réponse apparaît dans le prochain commentaire de révision public de ClawSweeper. Un texte qui semble être une action ne mute pas directement GitHub ; il doit correspondre aux recommandations structurées existantes et passer les portes déterministes normales.

Mainteneurs acceptés par défaut : OWNER, MEMBER, COLLABORATOR ; la permission de dépôt de repli accepte admin, maintain ou write. Les commentaires des contributeurs sont ignorés sans réponse.

Exécutez le routeur manuellement :

pnpm run repair:comment-router -- --repo openclaw/openclaw --lookback-minutes 180
pnpm run repair:comment-router -- --repo openclaw/openclaw --execute --wait-for-capacity

Le routage programmé reste en dry-run sauf si CLAWSWEEPER_COMMENT_ROUTER_EXECUTE=1.

Autofix et Automerge Approuvés

@clawsweeper autofix opte une PR existante dans la boucle de révision/correction limitée. @clawsweeper automerge opte une PR existante dans la boucle de révision/correction/fusion limitée. Le routeur :

  • vérifie l'autorisation du mainteneur ;
  • étiquette la PR clawsweeper:autofix ou clawsweeper:automerge ;
  • déclenche une révision ClawSweeper pour le SHA de tête actuel ;
  • crée ou réutilise une tâche adoptée durable ;
  • corrige au maximum les limites configurées ;
  • ne fusionne jamais les PR autofix ou les PR en brouillon ;
  • fusionne les PR automerge uniquement lorsque ClawSweeper a approuvé la tête actuelle exacte, les vérifications sont vertes, GitHub indique fusionnable, aucune étiquette de révision humaine n'est présente, la PR n'est pas en brouillon et les deux portes de fusion sont ouvertes.

Un changelog manquant n'est jamais une conclusion de révision ou un bloqueur de fusion. CHANGELOG.md est réservé aux versions ; enregistrez le contexte de note de version destinée à l'utilisateur dans le corps de la PR ou le message de squash, ne modifiez jamais le changelog pour les réparations normales.

Si ClawSweeper approuve alors que les portes de fusion sont fermées, il étiquette clawsweeper:merge-ready et commente au lieu de fusionner. @clawsweeper stop ajoute clawsweeper:human-review.

Lorsqu'on vous demande de créer une PR et d'activer l'automerge ClawSweeper, ne laissez pas le répertoire de travail local OpenClaw sur la branche de la PR. Après la création de la PR, le push, et la demande @clawsweeper automerge postée ou autrement confirmée, revenez au répertoire de travail local sur main et avancez-le rapidement lorsque l'arbre de travail est propre :

git switch main
git pull --ff-only

Si des modifications locales non liées ou un rebase en cours empêchent le changement, signalez le bloqueur au lieu de stash, supprimer ou écraser le travail.

Limites de correction :

CLAWSWEEPER_MAX_REPAIRS_PER_PR=10
CLAWSWEEPER_MAX_REPAIRS_PER_HEAD=1

Périmètre de Sécurité

Ne mettez pas en scène un travail sensible à la sécurité non approuvé pour la réparation ClawSweeper. Acheminez les rapports de vulnérabilité, le travail CVE/GHSA/avis, les secrets/ jetons/clés divulgués, le stockage en texte clair des secrets, SSRF, XSS, CSRF, RCE, contournement d'authentification, élévation de privilège et exposition de données sensibles vers le traitement central de sécurité d'OpenClaw.

Pour les PR ayant explicitement opté pour clawsweeper:autofix ou clawsweeper:automerge, les conclusions de révision sensibles à la sécurité peuvent déclencher une réparation limitée, mais la fusion reste bloquée jusqu'à ce qu'une révision ultérieure de la tête exacte soit propre et que les portes de fusion normales passent. Appuyez-vous sur les marqueurs de sécurité déterministes de ClawSweeper, les étiquettes et le frontmatter de la tâche ; n'inférez pas le traitement de sécurité à partir d'un texte vague.

Surveillance

Workflows récepteurs :

gh run list --repo openclaw/clawsweeper --workflow sweep.yml \
  --limit 12 --json databaseId,displayTitle,event,status,conclusion,createdAt,updatedAt,url
gh run list --repo openclaw/clawsweeper --workflow repair-cluster-worker.yml \
  --limit 12 --json databaseId,displayTitle,event,status,conclusion,createdAt,updatedAt,url
gn run list --repo openclaw/clawsweeper --workflow repair-comment-router.yml \
  --limit 12 --json databaseId,displayTitle,event,status,conclusion,createdAt,updatedAt,url
gn run list --repo openclaw/clawsweeper --workflow github-activity.yml \
  --limit 12 --json databaseId,displayTitle,event,status,conclusion,createdAt,updatedAt,url

Dispatch cible :

gh run list --repo openclaw/openclaw --workflow "ClawSweeper Dispatch" \
  --limit 8 --json databaseId,displayTitle,event,status,conclusion,headSha,url

Lecture des Sorties

Pour les conclusions ou les échecs, résumez :

  • dépôt cible, élément/PR, exécution, chemin du rapport
  • résultat, confiance, gravité et bloqueur exact
  • fichiers affectés ou références de cluster
  • commandes de validation et si elles ont réussi
  • si les portes de mutation étaient ouvertes ou fermées
  • prochaine action déterministe

Gardez le balai petit : un cluster, une branche, une PR, une preuve étroite, des preuves visibles par le propriétaire claires.

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, 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.

Skills associés