crm-assistant
将销售会议 transcript、飞书会议原始 JSON、飞书云文档正文或 Word/DOCX 会议纪要,转换成 CRM 结构化结果,并按客户信息表 +…
当用户希望让 OpenClaw 通过 ACP 调度 Claude Code,对 GitHub 仓库进行 API Key、Token、密码、私钥、Webhook URL 等敏感信息泄露巡检、自动修复、验收、推送修复 commit,并通过飞书发送巡检报告时使用。
$ npx -y skills add DjangoPeng/agentic-ai --skill github-secret-auditor --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/github-secret-auditorContext preview
The summary Claude sees to decide when to auto-load this skill.
当用户希望让 OpenClaw 通过 ACP 调度 Claude Code,对 GitHub 仓库进行 API Key、Token、密码、私钥、Webhook URL 等敏感信息泄露巡检、自动修复、验收、推送修复 commit,并通过飞书发送巡检报告时使用。
name: github-secret-auditor description: 当用户希望让 OpenClaw 通过 ACP 调度 Claude Code,对 GitHub 仓库进行 API Key、Token、密码、私钥、Webhook URL 等敏感信息泄露巡检、自动修复、验收、推送修复 commit,并通过飞书发送巡检报告时使用。
本 Skill 用于让 OpenClaw 通过 ACP 调度 Claude Code,对授权 GitHub 仓库执行密钥泄露巡检、安全修复、验收、推送修复 commit,并通过飞书发送巡检报告。
核心原则:
当用户提出以下需求时使用本 Skill:
给 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 -> 飞书报告
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 摘要。
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 应确认:
如果 ACP runtime 不可用或无法创建 Claude Code child session,会话状态为 `failed`,并返回具体阻塞原因。不要改用 OpenClaw 自己手工巡检。
用户至少应提供:
如果用户未提供 `repo_path`,默认使用:
/srv/openclaw-runner/repos/<repo-name>
默认策略:
{
"allow_auto_fix": true,
"allow_push": true,
"p将销售会议 transcript、飞书会议原始 JSON、飞书云文档正文或 Word/DOCX 会议纪要,转换成 CRM 结构化结果,并按客户信息表 +…
当用户上传 PDF、JPG、JPEG、PNG 附件,或消息中包含"报销""发票""票据""录入""火车票""机票"等关键词时触发。对附件内容进行识别,若确认为报销票据则提取结构化字段并写入飞书多维表格;若识别后内容不是报销票据,告知用户并终止流程。
当用户希望生成 AI 早报、运行晨报链路、查看今日资讯摘要,或消息中包含”早报””晨报””今日资讯””新闻摘要”等关键词时触发。