Agent skill

Openclaw Secret Scanning Maintainer

by openclaw in openclaw/openclaw

Triage, redact, clean up, and resolve OpenClaw GitHub Secret Scanning alerts in issues or PRs.

MITAuto-check passedDevOps & Cloud

Install Openclaw Secret Scanning Maintainer

skills CLI
$ npx skills add openclaw/openclaw --skill openclaw-secret-scanning-maintainer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install openclaw/openclaw openclaw-secret-scanning-maintainer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/openclaw/openclaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/openclaw-secret-scanning-maintainer .claude/skills/openclaw-secret-scanning-maintainer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
openclaw-secret-scanning-maintainer
GitHub stars
392k
Token cost
~2.5k tokens
SKILL.md length
948 words
Files
2 (incl. scripts)
Skills in repo
97
Repo updated
First seen
Licence
MIT

At a glance

Triage, redact, clean up, and resolve OpenClaw GitHub Secret Scanning alerts in issues or PRs.

  • Works in 7 steps: Identify → Decide (Agent) → Redact → …
  • Tasks that involve Secrets management
  • SKILL.md covers Script, Overall Flow, Step 1: Identify and Step 2: Decide (Agent), plus 6 more sections
  • Runs JavaScript scripts from its folder; calls node; reaches support.github.com

What it does

Openclaw Secret Scanning Maintainer is an agent skill from openclaw/openclaw. Triage, redact, clean up, and resolve OpenClaw GitHub Secret Scanning alerts in issues or PRs.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts.

It sits in DevOps & Cloud, covering Secrets management. It works with GitHub. The repository describes itself as: The AI that really does things. Any OS. Any Platform. The lobster way. 🦞. The licence is MIT.

When your agent uses it

  • Tasks that involve Secrets management

Example prompts

  • “/openclaw-secret-scanning-maintainer”

Requirements

  • Node.js

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Identify
  2. Decide (Agent)
  3. Redact
  4. Purge Edit History
  5. Notify
  6. Resolve
  7. Summary

What it can do on your machine

Read from SKILL.md and the folder at commit 5843d60. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • support.github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Openclaw Secret Scanning Maintainer loads about 2.5k tokens when it runs. Until then it costs about 33 tokens; SKILL.md has 948 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~33
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from openclaw/openclaw at commit 5843d60, republished under its MIT licence (© openclaw). 948 words, ~2,500 tokens.

Download SKILL.mdSave it as .claude/skills/openclaw-secret-scanning-maintainer/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
openclaw-secret-scanning-maintainer
description
Triage, redact, clean up, and resolve OpenClaw GitHub Secret Scanning alerts in issues or PRs.

OpenClaw Secret Scanning Maintainer

Maintainer-only. This skill requires repo admin / maintainer permissions to edit or delete other users' comments and resolve secret scanning alerts.

Use this skill when processing alerts from https://github.com/openclaw/openclaw/security/secret-scanning.

Language rule: All notification comments and replacement comments MUST be written in English.

Script

All mechanical operations (API calls, temp file management, security enforcements) are handled by:

$REPO_ROOT/.agents/skills/openclaw-secret-scanning-maintainer/scripts/secret-scanning.mjs

The script enforces:

  • hide_secret=true on all alert fetches (no plaintext secrets in stdout)
  • mktemp with random UUIDs for all temp files
  • -F body=@file for all body uploads (no inline shell quoting)
  • Notification templates branched by location type
  • Never prints .secret or .body to stdout

Overall Flow

Supports single or multiple alerts. For multiple alerts, process in ascending order.

For each alert:

  1. Identify — fetch-alert + fetch-content to get metadata and body
  2. Decide — Agent reads the body file, identifies whether plaintext secrets remain, and produces a redacted version only when needed
  3. Redact — redact-body-if-needed for issue/PR body; skip for comments (delete directly)
  4. Purge — delete-comment + recreate-comment for comments; cannot purge body history
  5. Notify — notify posts the right template per location type, unless the current issue/PR body is already redacted
  6. Resolve — resolve closes the alert
  7. Summary — summary prints formatted results

Step 1: Identify

bash
# List all open alerts
node secret-scanning.mjs list-open

# Fetch specific alert metadata + locations
node secret-scanning.mjs fetch-alert <NUMBER>

# Fetch content for each location (saves body to temp file)
node secret-scanning.mjs fetch-content '<location-json>'

The fetch-content output includes:

  • body_file: path to temp file with full body content
  • author: who posted it
  • issue_number / pr_number: where it is
  • edit_history_count: number of existing edits
  • type: location type for routing
  • For discussion_comment, it also includes comment_node_id, discussion_node_id, and reply_to_node_id when the original comment was a reply.
Location type routing
typeFlow
issue_commentComment: delete+recreate
pull_request_commentComment: delete+recreate
pull_request_review_commentComment: delete+recreate
discussion_commentDiscussion comment: delete+recreate (GraphQL)
issue_bodyBody: redact in place
pull_request_bodyBody: redact in place
commitNotify only
otherSkip and report

Step 2: Decide (Agent)

The agent reads the body file from fetch-content output and:

  1. Identifies ALL secrets in the content (there may be more than the alert flagged)
  2. Determines whether any plaintext credential remains in the current body
  3. Replaces each remaining secret with [REDACTED <secret_type>] — no partial values, no prefix/suffix
  4. Saves the redacted content to a new temp file

This is the only step that requires semantic understanding. Everything else is mechanical.

For issue_body and pull_request_body: if the current body has already been redacted by the author and no plaintext credential remains, do not post a public notification comment. Resolve the alert with a maintainer-only resolution comment such as:

bash
node secret-scanning.mjs resolve <ALERT_NUMBER> revoked "Current issue/PR body is already redacted; no public notification posted."

This avoids creating a fresh public pointer to historical sensitive content.

Step 3: Redact

For comments (issue_comment / PR comments)

Do NOT redact. Skip directly to Step 4 (delete + recreate). PATCHing before DELETE creates an unnecessary edit history revision.

For issue_body / pull_request_body
bash
node secret-scanning.mjs redact-body-if-needed <issue|pr> <NUMBER> <current-body-file> <redacted-body-file> <result-file>

Use the body_file from fetch-content as <current-body-file>. The command writes notify_required to <result-file> and only PATCHes the body when the redacted file differs from the current body.

Step 4: Purge Edit History

Comments — Delete and Recreate

For issue/PR comments:

bash
# Delete original (all edit history gone)
node secret-scanning.mjs delete-comment <COMMENT_ID>

# Recreate with redacted content
node secret-scanning.mjs recreate-comment <ISSUE_NUMBER> <body-file>

For discussion comments (uses GraphQL):

bash
# Delete original
node secret-scanning.mjs delete-discussion-comment <COMMENT_NODE_ID>

# Recreate with redacted content
node secret-scanning.mjs recreate-discussion-comment <DISCUSSION_NODE_ID> <body-file> [REPLY_TO_NODE_ID]

The fetch-content output for discussion_comment includes comment_node_id and discussion_node_id for these commands. When the original discussion comment was a reply, it also includes reply_to_node_id; pass that optional third argument so the redacted replacement stays in the original thread.

The recreated comment should follow this format:

> **Note:** The original comment by @<AUTHOR> has been removed due to secret leakage. Below is the redacted version of the original content.

---

<redacted original content>
issue_body / pull_request_body — Cannot Purge Edit History

Editing creates an edit history revision with the pre-edit plaintext. This cannot be cleared via API.

Do not advise authors publicly to delete/recreate issues or close/reopen PRs. That can draw attention to historical content. Keep purge guidance maintainer-only.

Output to maintainer terminal only (never in public comments):

⚠️ Issue/PR body edit history still contains plaintext secrets.
Contact GitHub Support to purge: https://support.github.com/contact
Request purge of issue/PR #{NUMBER} userContentEdits.

CRITICAL: Do NOT mention edit history or the "edited" button in any public comment or resolution_comment.

Show full SKILL.md (349 more words)Show less
Commits

Cannot clean. Notify author to delete branch or force-push (for unmerged PRs).

Step 5: Notify

bash
node secret-scanning.mjs notify <TARGET> <AUTHOR> <LOCATION_TYPE> <SECRET_TYPES> [REPLY_TO_NODE_ID|BODY_REDACTION_RESULT_FILE]
  • For non-discussion types, <TARGET> is the issue/PR number.
  • For discussion_comment, <TARGET> is the discussion_node_id returned by fetch-content.
  • For reply-style discussion_comment locations, pass the optional reply_to_node_id from fetch-content so the notification stays in the same thread.
  • For issue_body and pull_request_body, pass the <result-file> from redact-body-if-needed. The script skips notification when notify_required is false and refuses body notifications without this file.

Secret types are comma-separated: "Discord Bot Token,Feishu App Secret"

The script picks the right template:

  • comment types: "your comment … removed and replaced"
  • body types: "your issue/PR description … redacted in place"
  • commit: "code you committed"

For issue_body and pull_request_body, only notify when the current body still contained plaintext and maintainers redacted it. If the user already redacted the current body, skip this step and resolve silently.

Step 6: Resolve

bash
node secret-scanning.mjs resolve <ALERT_NUMBER>
# or with custom resolution:
node secret-scanning.mjs resolve <ALERT_NUMBER> revoked "Custom comment"

Resolution is revoked by default. As maintainers we cannot control whether users rotate — our responsibility is to remove current plaintext exposure and notify only when public notification is useful. The revoked means "this secret should be considered leaked", not "I confirmed it was revoked".

Step 7: Summary

After processing, create a JSON results file and pass it to the summary command:

bash
node secret-scanning.mjs summary /tmp/results.json

The script outputs a block delimited by ---BEGIN SUMMARY--- and ---END SUMMARY---. You MUST output the content between these markers verbatim to the user. Do NOT rephrase, reformat, abbreviate, or create your own summary. The script already includes full URLs for every alert and location.

The JSON format:

json
[
  {
    "number": 72,
    "secret_type": "Discord Bot Token",
    "location_label": "Issue #63101 comment",
    "location_url": "https://github.com/openclaw/openclaw/issues/63101#issuecomment-xxx",
    "actions": "Deleted+Recreated+Notified",
    "history_cleared": true
  }
]

For unsupported types, add "skipped": true, "unsupported_type": "<type>".

Safety Rules

  • Agent reads content, identifies secrets, produces redaction. Script handles all API calls.
  • Never include any portion of a secret in public comments, redaction markers, or terminal output.
  • Never include alert URLs or numbers in public comments.
  • For comments, skip PATCH — go directly to DELETE + recreate.
  • Never mention edit history, "edited" button, or commit SHAs in any public content.
  • Ask for confirmation before deleting any comment.
  • One alert at a time unless user requests batch.
  • All public comments in English.
  • Skip unsupported location types and report in summary.

© openclaw, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in .agents/skills/openclaw-secret-scanning-maintainer of openclaw/openclaw.

  • SKILL.md
  • scripts/secret-scanning.mjs

Open the folder on GitHubat commit 5843d60

Compare with similar skills

Openclaw Secret Scanning Maintainer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Openclaw Secret Scanning Maintainer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Openclaw Secret Scanning Maintainer this skillopenclaw/openclaw392k—~2.5kAutomated safety check: PassMIT
Sicurezza GitHubccplugins/awesome-claude-code-plugins970—~486Automated safety check: NotesApache-2.0
Secure GitHub Actionsvechain/x-app-template450—~1.2kAutomated safety check: PassMIT
Private Secret Scanningjamditis/claude-skills-journalism416—~1.8kAutomated safety check: PassMIT
Deploy To Hostinghostinger/api-mcp-server160—~2.7kAutomated safety check: NotesMIT
Secrets Managementdavila7/claude-code-templates33k12 repos~2kAutomated safety check: PassMIT

Similar skills

  • Sicurezza GitHub

    ccplugins/awesome-claude-code-plugins

    Aggiunge alle repository GitHub dei siti workflow di sicurezza automatici - scansione dipendenze vulnerabili, ricerca di segreti/chiavi nel codice, analisi statica CodeQL e Dependabot.

    970 GitHub stars~486 tokensUpdated 1 mo ago
    DevOps & CloudAuto-check: notes
  • Secure GitHub Actions

    vechain/x-app-template

    Secure GitHub Actions workflows against supply-chain, privilege, and shell-injection risks.

    450 GitHub stars~1.2k tokensUpdated 2 mo ago
    DevOps & CloudAuto-check passed
  • Private Secret Scanning

    jamditis/claude-skills-journalism

    Local Gitleaks scans for staged changes, push ranges, and full history in private repos, with redacted reports.

    416 GitHub stars~1.8k tokensUpdated 6 days ago
    DevOps & CloudAuto-check passed
  • Deploy To Hosting

    hostinger/api-mcp-server

    Deploy an existing project to a website on Hostinger web hosting (Shared, Cloud or Agency plans) and keep it deployed: picks the right deploy for static sites, Node.js apps (Next.js, Nuxt, Express…

    160 GitHub stars~2.7k tokensUpdated 2 days ago
    DevOps & CloudAuto-check: notes
  • Secrets Management

    davila7/claude-code-templates

    Secure secrets management practices for CI/CD pipelines using Vault, AWS Secrets Manager, and other tools.

    33k GitHub starsUsed in 12 repos~2k tokens
    DevOps & CloudAuto-check passed
  • Secret Scanning

    github/awesome-copilot

    Official

    Guide for configuring and managing GitHub secret scanning, push protection, custom patterns, and secret alert remediation.

    40k GitHub starsUsed in 1 repo~2.4k tokens
    DevOps & CloudAuto-check passed

More from openclaw/openclaw

All 97 skills in this repo
  • Model Usage

    openclaw/openclaw

    Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.

    392k GitHub starsUsed in 1 repo~637 tokens
    Auto-check passed
  • Openclaw Live Updater

    openclaw/openclaw

    Maintain the canonical live OpenClaw main checkout, macOS LaunchAgent-managed Gateway, local macOS app, exact-head main CI, and recurring full release validation.

    392k GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Feishu Doc

    openclaw/openclaw

    Feishu document read/write workflows. An agent skill from openclaw/openclaw.

    392k GitHub stars~516 tokensUpdated today
    Auto-check passed
  • Tmux

    openclaw/openclaw

    Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.

    392k GitHub starsUsed in 1 repo~640 tokens
    Auto-check passed
  • Openclaw PR Maintainer

    openclaw/openclaw

    Review, triage, repair, or land OpenClaw issues and pull requests with current-source evidence and the native maintainer workflow.

    392k GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Browser Automation

    openclaw/openclaw

    A skill your agent uses when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

    392k GitHub stars~2.9k tokensUpdated today
    Auto-check passed

Works with

Questions about Openclaw Secret Scanning Maintainer

What does Openclaw Secret Scanning Maintainer do?

Triage, redact, clean up, and resolve OpenClaw GitHub Secret Scanning alerts in issues or PRs. Openclaw Secret Scanning Maintainer is an agent skill from openclaw/openclaw. Triage, redact, clean up, and resolve OpenClaw GitHub Secret Scanning alerts in issues or PRs.

When should I use Openclaw Secret Scanning Maintainer?

Openclaw Secret Scanning Maintainer fits situations like: tasks that involve Secrets management.

How do I install Openclaw Secret Scanning Maintainer in Claude Code?

Run `npx skills add openclaw/openclaw --skill openclaw-secret-scanning-maintainer -a claude-code`. Or copy the skill folder (.agents/skills/openclaw-secret-scanning-maintainer in openclaw/openclaw) into .claude/skills/openclaw-secret-scanning-maintainer in your project. Claude Code loads it when a task matches its description.

How do I install Openclaw Secret Scanning Maintainer in Codex?

Run `npx skills add openclaw/openclaw --skill openclaw-secret-scanning-maintainer -a codex`. Or copy the skill folder (.agents/skills/openclaw-secret-scanning-maintainer in openclaw/openclaw) into .agents/skills/openclaw-secret-scanning-maintainer in your project. Codex loads it when a task matches its description.

Can I use Openclaw Secret Scanning Maintainer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openclaw/openclaw --skill openclaw-secret-scanning-maintainer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openclaw-secret-scanning-maintainer, .gemini/skills/openclaw-secret-scanning-maintainer, .github/skills/openclaw-secret-scanning-maintainer and .opencode/skills/openclaw-secret-scanning-maintainer in your project.

What does Openclaw Secret Scanning Maintainer need to run?

Going by SKILL.md and its folder, Openclaw Secret Scanning Maintainer needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: Node.js.

Does Openclaw Secret Scanning Maintainer access the network?

SKILL.md names 1 domain. In commands or code: support.github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Openclaw Secret Scanning Maintainer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Openclaw Secret Scanning Maintainer use?

Openclaw Secret Scanning Maintainer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Openclaw Secret Scanning Maintainer use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Openclaw Secret Scanning Maintainer?

Skills that share tags, products or a category with Openclaw Secret Scanning Maintainer: Sicurezza GitHub (ccplugins/awesome-claude-code-plugins, 970 stars), Secure GitHub Actions (vechain/x-app-template, 450 stars), Private Secret Scanning (jamditis/claude-skills-journalism, 416 stars) and Deploy To Hosting (hostinger/api-mcp-server, 160 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Openclaw Secret Scanning Maintainer?

openclaw (a GitHub organization) maintains it in openclaw/openclaw, which has 391,658 GitHub stars. The repository holds 97 skills in this directory. The repository was last updated on October 11, 2026.

Source: openclaw/openclaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.