Skip to content
Agent Memory
Skill

/github-secret-auditor

当用户希望让 OpenClaw 通过 ACP 调度 Claude Code,对 GitHub 仓库进行 API Key、Token、密码、私钥、Webhook URL 等敏感信息泄露巡检、自动修复、验收、推送修复 commit,并通过飞书发送巡检报告时使用。

BOOST
From plugin
agentic-ai
1534 skills
Install
$ npx -y skills add DjangoPeng/agentic-ai --skill github-secret-auditor --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/github-secret-auditor

Context preview

The summary Claude sees to decide when to auto-load this skill.

当用户希望让 OpenClaw 通过 ACP 调度 Claude Code,对 GitHub 仓库进行 API Key、Token、密码、私钥、Webhook URL 等敏感信息泄露巡检、自动修复、验收、推送修复 commit,并通过飞书发送巡检报告时使用。

SKILL.md

github-secret-auditor.SKILL.md
name: github-secret-auditor
description: 当用户希望让 OpenClaw 通过 ACP 调度 Claude Code,对 GitHub 仓库进行 API Key、Token、密码、私钥、Webhook URL 等敏感信息泄露巡检、自动修复、验收、推送修复 commit,并通过飞书发送巡检报告时使用。

GitHub 密钥泄露巡检 Skill

目标

本 Skill 用于让 OpenClaw 通过 ACP 调度 Claude Code,对授权 GitHub 仓库执行密钥泄露巡检、安全修复、验收、推送修复 commit,并通过飞书发送巡检报告。

核心原则:

  • OpenClaw 负责任务编排、ACP 调度、仓库准备、验收、commit、push 和飞书报告。
  • Claude Code 负责在目标仓库内执行代码级搜索、修复和验证。
  • 不允许 OpenClaw 跳过 Claude Code 手工替代巡检或修复。
  • 本 Skill 的默认且唯一调度通道是 ACP。不要把 Claude Code CLI 作为本 Skill 的常规降级路径。
  • Claude Code 只负责巡检、修改和本地验证;默认禁止 Claude Code 在子会话内执行 `git commit`、`git push`、创建 PR 或其他发布动作。commit 与 push 只能由 OpenClaw 在验收通过后执行。

适用场景

当用户提出以下需求时使用本 Skill:

  • 巡检某个 GitHub 仓库是否存在 API Key、Token、密码、Webhook URL、私钥等泄露风险。
  • 根据仓库实际泄露面自动修复,例如删除误提交凭证、改为环境变量/配置注入、替换为安全占位符或补充忽略规则。
  • 只在修复确实需要时更新 `.env.example`、`.gitignore`、README 或同类配置说明文件。
  • 验收通过后自动推送普通修复 commit 到授权 GitHub 仓库。
  • 通过飞书发送巡检报告。
  • 通过 ACP 让 OpenClaw 调度 Claude Code 完成代码级任务。

快速启动

给 OpenClaw/龙虾的一句话启动模板见 `templates/run_skill_prompt.md`。

用户只需提供目标 GitHub 仓库,OpenClaw 必须自动按默认任务流完成巡检、修复、验收、commit、push 和飞书报告。不要要求用户手动复制 session、手动执行 ACP 命令、手动拼接 prompt 或手动验收。

最小用户入口示例:

请使用 github-secret-auditor Skill 全自动巡检并修复 https://github.com/DjangoPeng/agentic-ai.git

OpenClaw 必须先读取本 `SKILL.md`,再执行默认任务流。后台自动化默认使用 OpenClaw Sessions API:

sessions_spawn(runtime="acp", agentId="claude", mode="run", thread=false, cwd=<repo_path>, prompt=<task_prompt>)
sessions_send(sessionKey=<childSessionKey>, prompt=<contextual_followup_prompt>)

飞书交互演示可使用 `/acp ...` slash command;后台自动化不要依赖聊天命令,也不要把 `/acp ...` 当 shell 命令执行。

除非任务失败或用户明确要求调试细节,最终回复只展示巡检结果、修复结果、commit、push 状态、风险摘要和风险备注;不要把 `sessions_spawn`、`sessions_send` 参数作为用户需要操作的步骤暴露出来。

用户入口与默认行为

当用户只提供 `repo_url` 或说“巡检这个仓库”时,OpenClaw 不要反问执行细节,直接使用以下默认值:

{
  "branch": "main",
  "mode": "audit_fix_push_report",
  "allow_auto_fix": true,
  "allow_push": true,
  "runner": "acp_sessions",
  "repo_path": "/srv/openclaw-runner/repos/<repo-name>"
}

只有缺少仓库授权、ACP runtime 不可用、GitHub 权限不足、工作区存在未提交修改或安全边界不明确时,才返回 `failed` 并说明阻塞原因。

用户面向的完成标准是看到飞书巡检报告和最终结果;OpenClaw 内部负责完整执行以下动作:

读取 Skill -> 准备仓库 -> 生成任务包 -> sessions_spawn 调度 Claude Code -> 等待输出 -> 必要时 sessions_send 补漏 -> 验收 Diff -> commit -> push -> 飞书报告

ACP 调用 Claude Code 规范

OpenClaw 必须通过 ACP 调用 Claude Code。后台自动化与飞书交互演示使用不同入口,但底层都应调度 ACP runtime 的 Claude agent。

后台自动化调用

后台任务、Heartbeat 或定时任务默认使用 OpenClaw Sessions API,不使用 `/acp ...` 聊天命令:

sessions_spawn({
  runtime: "acp",
  agentId: "claude",
  mode: "run",
  thread: false,
  cwd: "/srv/openclaw-runner/repos/agentic-ai",
  prompt: "<完整巡检修复任务 prompt>"
})

> **任务 prompt 要命令式、强制用工具。** 遇到较弱或经中转的非 Claude 模型(如火山 `ark-code-latest`),一大段开放式任务容易被"只输出计划就判定完成"。prompt 要写成"现在立刻用 Read/Grep/Edit 动手做,不要只回计划",并把步骤拆明确(找 → 读 → 改 → 复核 → diff)。

`sessions_spawn` 成功后应返回:

{
  "status": "accepted",
  "childSessionKey": "agent:claude:acp:...",
  "mode": "run"
}

OpenClaw 必须保存 `childSessionKey`,并把它作为后续轮次的 `sessionKey`。

如果需要多轮补漏,使用:

sessions_send({
  sessionKey: "<childSessionKey>",
  prompt: "<显式包含上一轮输出、当前 git diff、验收缺失项的 follow-up prompt>"
})

注意:`sessions_send` 可以把消息继续投递到同一个 `childSessionKey`,但不要假设 Claude Code 会自动记住上一轮上下文。OpenClaw 必须在每一轮 prompt 中显式带上必要上下文,例如上一轮输出、Git Diff、验收缺失项和本轮目标。

后台多轮能力依赖以下配置:

openclaw config set tools.sessions.visibility all
openclaw config set tools.agentToAgent.enabled true

如果 `sessions_send` 返回 visibility 或 agent-to-agent forbidden,说明上述配置未生效或 gateway 需要重启。

飞书交互演示调用

`/acp doctor`、`/acp spawn`、`/acp steer` 是 OpenClaw/飞书对话框 slash command,不是服务器 shell 命令,不能在 bash、zsh、PowerShell 或 SSH 终端里执行。

在飞书/OpenClaw 对话框中,按顺序发送以下聊天消息:

/acp doctor

如果返回 `healthy: yes`,继续在同一个对话框中发送以下聊天消息,创建 Claude Code 会话:

/acp spawn claude --mode persistent --thread on --cwd /srv/openclaw-runner/repos/agentic-ai

返回示例:

Spawned ACP session agent:claude:acp:258c3125-77df-42ab-90e6-207af58ceef6

OpenClaw 必须记录完整 `session-key`:

agent:claude:acp:258c3125-77df-42ab-90e6-207af58ceef6

然后继续在对话框中发送以下聊天消息,投递任务:

/acp steer --session <session-key> 读取 /srv/openclaw-runner/tasks/agentic-ai-secret-audit.json,并严格按照 /root/projects/agentic-ai/github-secret-auditor/templates/acp_steer_prompt.md 执行。

如果验收发现缺失项,继续使用同一个 `session-key` 追加 steer:

/acp steer --session <session-key> 上一轮输出如下:<上一轮输出>。当前 git diff 如下:<git diff>。OpenClaw 验收缺失项如下:<具体缺失项>。请只修复这些缺失项,完成后重新输出修改文件清单、风险摘要、测试/静态检查结果和 git diff 摘要。

Session 保存

OpenClaw 应把 session 信息保存到当前任务状态:

{
  "runner": "acp",
  "agent": "claude",
  "session_key": "agent:claude:acp:258c3125-77df-42ab-90e6-207af58ceef6",
  "repo_path": "/srv/openclaw-runner/repos/agentic-ai",
  "task_path": "/srv/openclaw-runner/tasks/agentic-ai-secret-audit.json"
}

后台自动化中,`session_key` 来自 `sessions_spawn` 的 `childSessionKey`。如果任务重试且 session 仍可用,优先复用现有 `session_key` 并通过 `sessions_send` 继续投递;如果 session 丢失或不可解析,重新 `sessions_spawn`。

前置条件

使用本 Skill 前,OpenClaw 应确认:

  • OpenClaw 所在服务器已安装 Claude Code,并完成认证或 API 中转配置。
  • ACP runtime 可用;后台可调用 `sessions_spawn(runtime="acp", agentId="claude", mode="run", thread=false, ...)`。
  • 如需后台多轮,`tools.sessions.visibility=all` 且 `tools.agentToAgent.enabled=true`。
  • `configuredBackend` 和 `registeredBackend` 均为 `acpx`。
  • `sessions_spawn` 能返回 `childSessionKey: agent:claude:acp:...`。
  • OpenClaw 运行用户具备目标 GitHub 仓库的 clone、commit 和 **push 权限**:服务器配了可写该仓库的凭据(fine-grained PAT 勾 Contents: Read and write,或 SSH deploy key)。缺凭据时 push 报 `403`,巡检 + 修复 + 本地 commit + 报告仍完成、报告标 `pushed: no`。
  • 目标仓库已获得用户授权。
  • 默认工作根目录为 `/srv/openclaw-runner`。

如果 ACP runtime 不可用或无法创建 Claude Code child session,会话状态为 `failed`,并返回具体阻塞原因。不要改用 OpenClaw 自己手工巡检。

输入契约

用户至少应提供:

  • `repo_url`:GitHub 仓库地址,例如 `https://github.com/DjangoPeng/agentic-ai.git`。
  • `branch`:目标分支,默认 `main`。
  • `mode`:默认 `audit_fix_push_report`。

如果用户未提供 `repo_path`,默认使用:

/srv/openclaw-runner/repos/<repo-name>

默认策略:

{
  "allow_auto_fix": true,
  "allow_push": true,
  "p
Read more
Ships withagentic-ai

OpenClaw 生产部署、Agent 开发与 Claude Code 深度实战的完整知识库

Get the whole plugin
Stats
153
Stars
118
Forks
Maintained
Maintenance
Python
Language
MIT
License
3mo ago
Last commit
6mo ago
Created
1d ago
Added

Repo: DjangoPeng/agentic-ai

Other skills on agentic-ai.

financial-expense-automation
Skill

financial-expense-auto…

当用户上传 PDF、JPG、JPEG、PNG 附件,或消息中包含"报销""发票""票据""录入""火车票""机票"等关键词时触发。对附件内容进行识别,若确认为报销票据则提取结构化字段并写入飞书多维表格;若识别后内容不是报销票据,告知用户并终止流程。