OpenClaw/clawhub-security-signals huggingface dataset:
Skill: zich-dev/linkedin-automation (version 1.0.0)

--- name: linkedin-automator description: Automate LinkedIn content creation, posting, engagement tracking, and audience growth. Use for posting content, scheduling posts, analyzing engagement metrics, generating content ideas, commenting on posts, and building LinkedIn presence. Requires browser access with LinkedIn logged in. metadata: {"openclaw":{"emoji":"💼","requires":{"tools":["browser"]}}} --- # LinkedIn Automator Automate your LinkedIn presence: post content, track engagement, generate ideas, and grow your audience. ## Prerequisites 1. Browser tool enabled in OpenClaw 2. LinkedIn logged in via browser (use profile with LinkedIn session) ## Quick Commands ```bash # Post content {baseDir}/scripts/post.sh "Your post content here" # Post with image {baseDir}/scripts/post.sh "Content" --image /path/to/image.png # Get engagement stats for recent posts {baseDir}/scripts/analytics.sh # Generate content ideas based on trending topics {baseDir}/scripts/ideas.sh [topic] # Engage with feed (like/comment on relevant posts) {baseDir}/scripts/engage.sh --limit 10 ``` ## Workflows ### Posting Content Use browser automation to post: 1. Navigate to linkedin.com/feed 2. Click "Start a post" button 3. Enter content in the post editor 4. Optionally attach media 5. Click "Post" button For scheduled posts, use OpenClaw cron: ``` cron add --schedule "0 9 * * 1-5" --payload "Post my LinkedIn content: [content]" ``` ### Content Strategy See [references/content-strategy.md](references/content-strategy.md) for: - High-engagement post formats - Best posting times by region - Hashtag strategies - Hook templates ### Engagement Automation See [references/engagement.md](references/engagement.md) for: - Comment templates - Engagement workflows - Growth tactics ### Analytics Tracking The analytics script extracts: - Impressions per post - Engagement rate (likes + comments + shares / impressions) - Profile views trend - Follower growth - Top performing content themes ## Browser Selectors Key LinkedIn selectors (as of 2026): ``` Post button: button[aria-label="Start a post"] Post editor: div.ql-editor[data-placeholder] Submit post: button.share-actions__primary-action Like button: button[aria-label*="Like"] Comment button: button[aria-label*="Comment"] Profile stats: section.pv-top-card-v2-ctas ``` ## Rate Limits LinkedIn enforces activity limits. Stay under: - Posts: 2-3 per day max - Comments: 20-30 per day - Connection requests: 100 per week - Profile views: Natural browsing pace ## Troubleshooting - **Login required**: Ensure browser profile has active LinkedIn session - **Rate limited**: Reduce activity, wait 24h - **Selector not found**: LinkedIn may have updated UI, check selectors


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: nidalghetf/disk-usage-watcher (version 1.0.1)

# Disk Usage Watcher ## Description Monitors disk space and inode usage on specified paths, sending alerts when thresholds are exceeded. Essential for preventing disk-full incidents. ## Usage The agent can call this skill directly or it runs automatically via cron every 15 minutes. ### Example Prompts: - "Check disk space on root partition" - "Monitor all mount points and alert at 85%" - "Show me disk usage statistics" ## Inputs - `threshold_percent`: number — Alert when usage exceeds this percentage (default: 85) - `inode_threshold`: number — Alert when inode usage exceeds this percentage (default: 85) - `paths`: array — Specific paths to monitor (default: all mounted partitions) - `alert_on_failure`: boolean — Send alert if check fails (default: true) ## Outputs - `status`: string — "success" or "failure" - `details`: object — Contains disk_usage array with mount points, usage percentages, and any triggered alerts ## Dependencies - `openclaw/exec` - For running df commands - `openclaw/notify` - For sending alerts ## Testing ```bash openclaw call disk-usage-watcher --params '{"paths": ["/"]}' ```

path: _meta.json
content: ownerId: kn74q6xdz1k3x02p7r040n32zh81v3eg
slug: disk-usage-watcher
version: 1.0.0
publishedAt: 1772034993292

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: oreoandyuumi/mmxagent-skill-wecom (version 1.0.0)

--- name: mmxagent-skill-wecom description: 连接企业微信。调用 generate 接口获取授权链接，用户把链接发到企业微信聊天里点开完成授权。用户提到连接企业微信、接入企微、绑定企微机器人、创建企微机器人、扫码绑定企微时使用。 --- # WeCom Connect Skill ## 适用场景 当用户要求连接企业微信、绑定企微机器人、创建新的企微机器人、给 OpenClaw 接入企业微信、或明确提到"扫码绑定企微"时，直接使用本流程。 ## 核心原则 - **不生成 PNG，不走 CDN**。generate 拿到 `auth_url` 后直接给用户，用户把链接发到企业微信聊天里点开完成授权。 - **不要自动开轮询**。给完链接等用户说"配好了"再轮询。 - **不要手动卸载/禁用插件**。 ## 执行流程（写死，照抄执行） ### 第 1 步：调用 generate 接口 ```bash curl -s "https://work.weixin.qq.com/ai/qc/generate?source=wecom-cli&plat=3" ``` 从返回值提取 `scode` 和 `auth_url`。`scode` 留着后面轮询用，`auth_url` 直接给用户。 ### 第 2 步：把 auth_url 给用户，等用户回复 ```markdown ## 企业微信二维码 复制下面的链接，发到你的企业微信任意聊天里，然后点击打开： <auth_url> **操作步骤：** 1. 打开手机上的 **企业微信 App**（不是微信） 2. 随便找一个聊天对话框，把上面的链接通过发消息的方式发过去 3. 点击消息里的链接，在企业微信内打开 4. 在页面中完成授权确认 5. **配置完成后告诉我** 有效期：3 分钟 ``` 然后**停下来，等用户说"配好了"**。 ## 用户确认后：轮询 + 写配置 用户说"配好了 / 扫完了 / done / ok"后： ```bash curl -s "https://work.weixin.qq.com/ai/qc/query_result?scode=<scode>" ``` 轮询间隔 3 秒，超时 3 分钟。成功条件：`data.status === 'success'` 且 `data.bot_info.botid` 和 `data.bot_info.secret` 存在。 拿到后写入 `~/.openclaw/openclaw.json`： ```text channels.wecom.botId = <botId> channels.wecom.[REDACTED_SECRET] channels.wecom.enabled = true ``` 然后 `openclaw gateway restart`。 超时则重新走第 1~2 步。 ## 成功回复模板 ```markdown ## 企业微信连接结果 - 状态：已绑定成功 - 机器人凭证：已获取（botId: `<botId>`） - OpenClaw 配置：已写入 - Gateway：已重启 ``` ## 绝对禁止 - **禁止生成 PNG / 走 CDN / Batch Upload**：直接给 auth_url 链接。 - **禁止自动开轮询**：等用户说"配好了"。 - **禁止手动卸载/禁用插件**。 ## 一句话总结 generate → 给用户链接 → 用户发到企业微信聊天里点开授权 → 等用户说"配好了" → 轮询 → 写配置。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: sky-lv/skylv-web-scraper (version 1.0.0)

--- name: web-scraper description: Web content extraction tool. Scrapes URLs and extracts text, links, and images with CSS selectors and regex. Triggers: web scraping, content extraction, crawler, html parsing. metadata: {"openclaw": {"emoji": "🕷️"}} --- # Web Scraper — 网页内容抓取工具 ## 功能说明 从网页抓取并解析内容，支持多种提取方式。 ## 使用方法 ### 1. 抓取网页全文 ``` 用户: 抓取 https://example.com 的内容 ``` 执行步骤： 1. 使用 `web_fetch` 工具抓取URL 2. 返回markdown格式的正文内容 ### 2. 提取特定元素 ``` 用户: 从 https://news.ycombinator.com 提取所有新闻标题 ``` 执行步骤： 1. 使用 `web_fetch` 抓取页面 2. 分析HTML结构，识别标题元素 3. 提取并列表返回 ### 3. 批量抓取 ``` 用户: 抓取以下URL列表的内容： https://url1.com https://url2.com https://url3.com ``` 执行步骤： 1. 遍历URL列表 2. 依次调用 `web_fetch` 3. 汇总结果 ### 4. 提取链接 ``` 用户: 提取 https://example.com 页面中的所有外链 ``` 执行步骤： 1. 抓取页面内容 2. 解析所有 `<a href>` 标签 3. 过滤出外链（域名不同的链接） 4. 列表返回 ## 示例对话 **用户**: 抓取 https://github.com/trending 今天的热门项目 **Agent**: 1. 调用 `web_fetch` 抓取 GitHub Trending 页面 2. 解析项目列表（仓库名、描述、star数） 3. 格式化输出： ``` 今日 GitHub 热门项目： 1. owner/repo-name - 项目描述 ⭐ 1,234 stars today | 📝 JavaScript 2. ... ``` ## 注意事项 - 遵守 robots.txt - 添加适当延迟避免被封 - 处理反爬机制（User-Agent、Cookie等） - 大规模抓取建议使用代理 ## 依赖 - `web_fetch` 工具（OpenClaw内置） - 无需额外安装


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: xkzs2007/llm-memory-v8-fix (version 8.0.1)

--- name: llm-memory-integration description: LLM Memory Integration - 接口层 + 自动化钩子。安装后自动从 CNB 仓库拉取私有增强包。 version: 8.0.1 license: MIT-0 author: xkzs2007 homepage: https://clawhub.ai/skill/llm-memory-integration metadata: openclaw: emoji: "🧠" requires: bins: - python3 - sqlite3 - git config: - filesystem.read.~/.openclaw/memory-tdai - filesystem.write.~/.openclaw/memory-tdai - filesystem.write.~/.openclaw/workspace/skills/llm-memory-integration/src/privileged - network.https://cnb.cool hooks: postinstall: hooks/postinstall.py onStartup: hooks/onStartup.py --- # LLM Memory Integration ## ⚠️ 重要安全声明 **本包包含生命周期钩子，会在安装时自动执行网络操作：** | 钩子 | 触发时机 | 行为 | |------|---------|------| | `postinstall.py` | 安装完成后 | 从 `cnb.cool` 克隆私有包 | | `onStartup.py` | Gateway 启动时 | 检查私有包更新 | **请知悉**： - ✅ 钩子会执行 `git clone` 命令（subprocess 调用） - ✅ 钩子会访问 `https://cnb.cool/llm-memory-integrat/llm` - ✅ 钩子会写入 `~/.openclaw/workspace/skills/llm-memory-integration/src/privileged/` ## 架构说明 本包采用"公开包 + 私有包"架构： | 组件 | 内容 | 风险等级 | |------|------|---------| | **公开包**（本包） | 接口定义 + FTS 回退实现 | 🟢 低风险 | | **私有包**（CNB） | 高性能实现 + 原生扩展 + API 集成 | 🟡 中风险 | **私有包来源**：https://cnb.cool/llm-memory-integrat/llm ## 自动化安装 安装本技能后，系统会自动执行： 1. **postinstall 钩子**：从 CNB 克隆私有包到 `src/privileged/` 2. **onStartup 钩子**：检查私有包状态和更新 **如需禁用自动安装**： ```bash # 安装时跳过钩子 clawhub install llm-memory-integration --no-hooks ``` ## 手动安装私有包 如果自动安装失败，可手动执行： ```bash git clone https://cnb.cool/llm-memory-integrat/llm.git \ ~/.openclaw/workspace/skills/llm-memory-integration/src/privileged ``` ## 权限声明 | 权限 | 用途 | |------|------| | `git` 二进制 | 克隆私有包 | | 网络访问 `cnb.cool` | 下载私有包 | | 写入 `src/privileged/` | 安装私有包 | | 读写 `~/.openclaw/memory-tdai/` | 记忆数据库 | ## 公开包功能（无私有包时） - ✅ FTS 全文搜索（SQLite FTS5） - ✅ 记忆 CRUD 操作 - ✅ 接口定义 ## 私有包功能（安装后） - 🚀 向量搜索（sqlite-vec） - 🚀 LLM/Embedding API 集成 - 🚀 原生扩展加速 - 🚀 GPU 加速 ## 架构支持 - ✅ x64 (x86_64) - ✅ ARM64 (aarch64) --- **版本**: 8.0.1 **许可**: MIT-0 **作者**: xkzs2007 ## 更新日志 ### v8.0.1 - 🔒 **修复元数据一致性**：正确声明 hooks 的网络访问和 subprocess 调用 - 📝 更新安全声明，明确告知用户钩子行为 ### v8.0.0 - 🎯 新增生命周期钩子：安装后自动拉取私有包 - 🎯 新增 onStartup 钩子：启动时自动检查更新 - 🔄 重构为"公开包 + 私有包"架构


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: bytesagain-lab/meeting-agenda (version 2.0.0)

--- version: "2.0.0" name: Meeting Agenda description: "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. Use when you need meeting agenda capabilities. Triggers on: meeting agenda." 会议议程管理。议程创建、站会模板、复盘会、一对一、决策会议、会议纪要。Meeting agenda with standups, retrospectives, one-on-ones, decision meetings, minutes. 会议、议程、站会、纪要。 author: BytesAgain homepage: https://bytesagain.com source: https://github.com/bytesagain/ai-skills --- # Meeting Agenda 会议议程管理。议程创建、站会模板、复盘会、一对一、决策会议、会议纪要。Meeting agenda with standups, retrospectives, one-on-ones, decision meetings, minutes. 会议、议程、站会、纪要。 ## 推荐工作流 ``` 需求分析 → 选择命令 → 输入描述 → 获取结果 → 调整优化 ``` ## 命令列表 | 命令 | 功能 | |------|------| | `create` | create | | `standup` | standup | | `retro` | retro | | `oneonone` | oneonone | | `decision` | decision | | `minutes` | minutes | ## 专业建议 - 有议程才开会 - 控制人数(最多7人) - 准时开始准时结束 - 每项有时间限制 - 会后24h内发纪要 --- *Meeting Agenda by BytesAgain* --- 💬 Feedback & Feature Requests: https://bytesagain.com/feedback Powered by BytesAgain | bytesagain.com - Run `meeting-agenda help` for all commands ## Commands Run `meeting-agenda help` to see all available commands.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: flobo3/diffbot-fetch (version 1.0.0)

--- name: diffbot-fetch description: Fetch and extract clean article content from any URL using the Diffbot Article API. Returns clean Markdown. requires: - ENV: DIFFBOT_API_KEY --- # Diffbot Fetch Use this skill to fetch and extract clean article content from any URL using the Diffbot Article API. Use this when you need to read the main text of an article, blog post, or news story without the clutter of ads, navigation, or sidebars. ## Setup You need a Diffbot API token to use this skill. Set it as an environment variable: ```bash export DIFFBOT_API_KEY="your_token_here" ``` ## Usage ```bash uv run fetch.py "https://example.com/article" ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: balkanblbn/sub-agent-factory (version 1.1.0)

--- name: sub-agent-factory description: Rapidly spawn and configure specialized sub-agents. Includes templates for Research, Coding, and Analysis agents. Automates workspace setup and instruction delivery. --- # Sub-Agent Factory Don't do everything yourself. Scale your productivity by building a team. ## Capability Matrix - **Coder Agent**: Optimized for repo exploration and bug fixing. - **Research Agent**: Expert at web searching and synthesizing deep reports. - **Analysis Agent**: Focused on processing data, JSON files, and logs. ## Setup Protocol 1. **Define Mission**: Set a clear 1-sentence goal. 2. **Select Template**: Pick the agent type. 3. **Provision**: Run `scripts/create_agent.sh`. 4. **Link**: Configure communication folders (inbox/outbox). ## Installation ```bash clawhub install sub-agent-factory ```

path: scripts/create_agent.sh
content: #!/usr/bin/env bash
# Usage: ./create_agent.sh "Agent_Name" "Role_Description"

NAME=$1
ROLE=$2
DIR="agents/$NAME"

mkdir -p "$DIR/inbox" "$DIR/outbox" "$DIR/workspace"

cat <<EOM > "$DIR/SKILL.md"
---
name: $NAME
description: $ROLE
---
# Mission
You are $NAME. Your role is: $ROLE.
Read instructions from ./inbox and write outputs to ./outbox.
EOM

echo "✅ Factory: Agent $NAME provisioned at $DIR"


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: kumamon2019s/defect-detector (version 1.0.0)

--- name: defect-detector description: 病害检测识别技能，支持从图片中自动检测病害区域，识别病害类型、严重程度，输出检测结果和结构化信息。 --- # 病害检测识别技能 ## 核心功能 1. 支持农作物、工业设备、建筑等多场景病害/缺陷检测 2. 自动定位病害区域，返回精确bounding box坐标和分割掩码 3. 识别病害类型，内置支持120+常见病害分类，可自定义扩展 4. 智能评估病害严重程度（轻微/中等/严重/极重） 5. 输出结构化检测结果，自动对接病害知识库获取解决方案 ## 依赖安装 ```bash pip install ultralytics>=8.0 opencv-python>=4.8 numpy>=1.24 ``` ## 使用方式 ```python from scripts.detector import DefectDetector detector = DefectDetector(model_path="./models/yolov8_disease_v2.pt") detection_result = detector.detect("./defect_sample.jpg") ``` ## 返回格式 ```json { "has_defect": true, "defect_count": 2, "defects": [ { "type": "玉米叶斑病", "confidence": 0.96, "severity": "中等", "bbox": [120, 85, 260, 190], "area_ratio": 0.12 }, { "type": "玉米锈病", "confidence": 0.89, "severity": "轻微", "bbox": [310, 120, 390, 210], "area_ratio": 0.05 } ] } ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: edwardrodriguez703-design/book-battery (version 1.0.1)

--- name: book-battery description: Book battery services through Lokuli MCP. Use when user needs to find and book battery. Triggers on requests like "book a battery", "find battery near me", or any battery service request. --- # uook uattery Book battery services through Lokuli's MCP server. ## MCP Endpoint ``` https://lokuli.com/mcp/sse ``` Transport: SSE | JSON-RPC 2.0 | POST requests ## Tools ### search ```json { "method": "tools/call", "params": { "name": "search", "arguments": { "query": "battery", "zipCode": "90640", "maxResults": 20 } } } ``` ### check_availability ```json { "method": "tools/call", "params": { "name": "check_availability", "arguments": { "providerId": "xxx", "serviceId": "yyy", "date": "2025-02-10" } } } ``` ### create_booking ```json { "method": "tools/call", "params": { "name": "create_booking", "arguments": { "providerId": "xxx", "serviceId": "yyy", "timeSlot": "2025-02-10T14:00:00-08:00", "customerName": "John Doe", "customerEmail": "[REDACTED_SECRET]", "customerPhone": "+13105551234" } } } ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: guillaumemaka/operational-heartbeat (version 1.0.0)

--- name: operational-heartbeat description: Automated daily health check for OpenClaw instances. Verifies memory file presence, detects stale/overdue cron jobs, and surfaces system status. Intended for scheduled execution via cron. --- 1. Ensure memory file exists for today: - Path: memory/YYYY-MM-DD.md - If missing, create with minimal template 2. Check cron job health: - Use `cron list` to fetch all jobs - For each job, verify state.nextRunAtMs is in the future - Flag jobs with consecutiveErrors > 0 or lastRunStatus != 'ok' - Count stale/overdue jobs 3. Optional: promote learnings from recent memory files (if configured) 4. Report summary: - Memory file: created/exists - Cron jobs: total, healthy, stale count - Any errors or warnings Implementation notes: - Use a small Node.js script to parse cron JSON and filter stale jobs - Comparison: new Date().getTime() vs nextRunAtMs - Consider timezone-aware scheduling - Exit 0 if healthy; non-zero if issues found


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zhenstaff/insurance-broker (version 2.0.2)

# ZhenInsure 真机保险 | Chat & Handoff 保险与保障咨询 Skill。通过 API Key 直接调用 ZhenInsure 后端 API，创建 AI 对话、发送消息、请求人工顾问转接。 ## 核心设计 本 Skill 是透明代理通道： - 用户指定 `endpoint` + `method` + `body` - Skill 注入 `Authorization: Bearer {API_KEY}` header - 请求直接转发到 `https://www.zhenins.com` - 同步 JSON 响应原样返回（非 SSE 流式） ## 白名单端点 | Endpoint | Method | 费用 | |---|---|---| | [REDACTED_SECRET] | POST | 免费 | | `/api/v1/skill/chat/messages` | POST | ¥0.15/次 | | `/api/v1/skill/chat/handoff` | POST | 免费 | ## 配置 ```bash claw config set ZHENINSURE_API_KEY sk_live_xxxx ``` ## 用法示例 ### 创建对话 ```bash claw run insurance-broker proxy '{ "endpoint": [REDACTED_SECRET], "method": "POST" }' ``` ### 发送消息 ```bash claw run insurance-broker proxy '{ "endpoint": "/api/v1/skill/chat/messages", "method": "POST", "body": { "conversation_id": "conv_xxxx", "message": "我想了解一下重疾险" } }' ``` ### 请求人工转接 ```bash claw run insurance-broker proxy '{ "endpoint": "/api/v1/skill/chat/handoff", "method": "POST", "body": { "conversation_id": "conv_xxxx" } }' ``` ## 余额不足 ```json { "success": false, "error": "insufficient_balance", "action": { "type": "recharge", "url": "https://console.zhenrobot.com/zhenins/billing" } } ``` ## 版本 2.0.2


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: tobewin/china-summarizer (version 1.1.0)

--- name: china-summarizer description: 中文内容智能总结工具。Summarize local files (TXT/MD/PDF/Word), web pages, news articles, or WeChat articles. No login, no API key required. 内容总结、文章提炼。 version: 1.1.0 license: MIT-0 metadata: {"openclaw": {"emoji": "📝", "requires": {"bins": ["python3"], "env": []}}} --- # 中文内容智能总结 China Summarizer 支持本地文件和网页内容的智能总结。 使用 OpenClaw 当前加载的模型进行总结，无需任何额外配置。 ## 触发时机 - "帮我总结这篇文章：[URL]" - "这篇公众号讲了什么：[URL]" - "总结一下这个文件：/path/to/file.pdf" - "提炼这份文档的核心内容：/path/to/file.docx" - 用户粘贴一段文字，要求提炼要点 --- ## Step 1：识别内容源 ``` 包含 http:// 或 https:// → 网页/公众号 → [网页流程] 路径包含 .pdf → 本地 PDF → [PDF流程] 路径包含 .docx → 本地 Word → [Word流程] 路径包含 .txt / .md → 本地文本 → [文本流程] 用户直接粘贴文字 → 直接进入 → [总结流程] ``` --- ## [网页/公众号流程] ### 网页抓取 使用浏览器工具抓取网页内容。 ### 提取正文 从 HTML 提取纯文本，处理规则： ``` 去除：<script> <style> <nav> <header> <footer> <aside> 及其内部内容 去除：HTML 注释、HTML 标签（保留标签内文字） 去除：连续空行（多个空行合并为一个） 保留：<p> <h1>~<h6> <li> <article> <main> <section> 中的文本 微信公众号特殊处理： 正文集中在 <div id="js_content"> 内 优先提取该区域内容 ``` ### 质量检查 ``` 提取文本 < 200 字： → 页面为 JS 动态渲染，无法获取正文 → 告知用户：该页面需要 JavaScript，无法直接抓取 → 建议：将文章内容复制粘贴后再请求总结 提取文本 ≥ 200 字： → 进入 [总结流程] ``` ### 支持情况说明 ``` ✅ 通常可以直接抓取： 微信公众号（mp.weixin.qq.com） 知乎专栏（zhuanlan.zhihu.com） 博客园（cnblogs.com） CSDN 博客（blog.csdn.net） 简书（jianshu.com） 少数派（sspai.com） 36氪、虎嗅、澎湃等新闻网站 政府/机构官网静态页面 ⚠️ 可能失败（JS渲染）： 今日头条、微博、部分知乎回答 → 遇到时引导用户手动复制文本 ``` --- ## [本地 PDF 流程] 按顺序尝试，成功即停止： 1. **pdftotext**（最推荐）- 需要安装 poppler 2. **Python pypdf** - 需要安装 pypdf 3. **Python pdfminer** - 需要安装 pdfminer 全部失败时提示： ``` 请安装 PDF 解析工具： macOS: brew install poppler Ubuntu: sudo apt install poppler-utils ``` 提取结果为空或乱码时： ``` 该 PDF 可能是扫描版（图片型），文本提取工具无法处理。 建议：使用 OCR 工具处理，或手动复制文字后粘贴总结。 ``` --- ## [本地 Word 流程] 使用 Python python-docx 库读取 Word 文档。 失败时提示： ``` 需要安装 python-docx 库（用户需手动安装） ``` --- ## [本地文本流程] 直接读取文件内容。 --- ## [总结流程] 获取到纯文本后，根据内容类型选择对应模板进行总结。 **内容类型判断：** ``` 包含大量代码/命令/配置 → 技术文章模板 包含时间/地点/人名/事件 → 新闻简报模板 包含研究方法/数据/结论 → 学术报告模板 其他 → 通用总结模板 ``` **输出格式（通用）：** ``` 📝 内容总结 ━━━━━━━━━━━━━━━━━━━━ 来源：[文件名 / URL] 提取字数：约 X 字 【核心观点】 （1-3句话，概括最重要的结论） 【主要内容】 • 要点1 • 要点2 • 要点3 （3-7条，视内容长度而定） 【关键信息】 （具体数字、时间、人名、结论等值得记录的细节） 【一句话总结】 （用一句话概括全文精髓） ``` **内容过长（> 8000字）时：** ``` 1. 将内容分为若干段（每段约2000字） 2. 对每段先生成段落摘要 3. 再对所有段落摘要做最终汇总 ``` --- ## 总结质量要求 ``` ✅ 保留原文所有具体数字、时间、人名 ✅ 忠实原文，不添加原文没有的内容 ✅ 用中文输出（无论原文是何语言） ✅ 长文总结控制在 500 字以内 ✅ 逻辑清晰，层次分明 ❌ 不用"本文介绍了..."等废话开头 ❌ 不泛泛而谈，要有实质信息 ❌ 不遗漏核心数据和结论 ``` --- ## Notes - 使用 OpenClaw 当前模型进行总结 - 无需额外 API Key - 支持中英文内容 - 网页抓取可能因 JS 渲染失败，引导用户手动复制


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: naitoah/novel-orchestrator (version 1.0.0)

--- name: novel-orchestrator description: 用于长篇网络小说协作生产与流程统筹。适用于写章节、续写、重写、救文、审稿、分卷规划、长线结构调整，以及任何需要在 manager、planner、writer、checker 之间进行任务路由、协作编排、返修闭环和阶段推进的小说任务。当用户要求创建小说agent、初始化小说工作流、设置小说创作环境时，使用此skill自动创建writer/checker/planner/manager四个agent。 --- # Novel Orchestrator 将这个 skill 用作长篇网络小说的总控流程层，而不是角色人格层。 ## 核心原则 - 让 skill 负责总控；不要把固定协作链写回各 agent 的人格文件。 - 默认优先直接路由；只有在任务明确需要时才升级为多角色协作。 - `checker` 负责审查、定级、提出修改意见和做通过判断，不直接承担正文改写职责。 - 需要返修时，默认由 `writer` 根据审查意见完成修改，再回到审查环节复核。 - `manager` 是统筹角色，不是所有任务的必经入口。 ## 默认角色 ### manager - 负责跨角色统筹、阶段推进、结果汇总与冲突处理。 - 不是所有任务的默认入口。 - 只在任务明确需要多角色协作、阶段收口或结果汇总时介入。 ### planner - 负责方向设计、结构拆解、分卷规划、章节目标与长线推进。 - 负责把模糊需求整理成可执行的写作方案。 - 负责主线、支线、伏笔、回收点、阶段节奏与多章推进设计。 - 在大修、救文、长线调整或多章连续产出任务中优先介入。 - 不直接写正文，不直接审稿，不做通过/不通过判断。 - 产物是可执行的结构方案，而不是正文或审稿报告。 ### writer - 负责正文生产、续写、改写、重写与返修落地。 - 仅可进行字数自审，不承担其他维度的自审职责。 - 字数必须通过 Python 脚本统计，且统计口径默认包含符号在内。 - 同一章节中，最多进行 2 次返修；连同初稿在内，单章最多写 3 次。 ### checker - 负责质量审查、问题分级、修改建议与是否通过的最终判断。 - 不直接承担正文改写职责。 - 当稿件需要返修时，只负责指出问题与判定标准，不代替 writer 落正文。 - 当任务进入正式审查环节后，对当前稿件是否通过拥有最终判断权。 - 如果单章在 2 次返修后仍未通过，输出最终审查报告，并提示用户介入审查与决策。 ## 当前已定规则 - `checker` 审完后，不自己改稿。 - 返修默认交回 `writer`。 - 改稿完成后，重新进入审查环节。 - 不默认引入独立的改稿角色。 - `planner` 是结构与推进设计角色，不是正文写作角色，也不是最终审查角色。 ## 默认直接路由 - 明确要写章节、续写、改写、重写、扩写正文时，默认路由给 `writer`。 - 明确要做分卷规划、大纲设计、结构拆解、章节推进与长线规划时，默认路由给 `planner`。 - 明确要审稿、判断问题、给修改意见、判断是否通过时，默认路由给 `checker`。 - 明确要统筹流程、汇总结果、判断下一步、拉通多角色任务时，优先启用 `manager`。 - 如果用户请求同时包含规划、写作、审查、返修或验收等跨阶段目标，不直接只路由给单个角色，而是由 skill 判断是否升级为协作流程。 ## 强制升级为协作流程 遇到以下情况时，不按单角色直接路由处理，而是升级为协作流程： - 用户明确要求最终可用、可发、可交付的结果。 - 用户明确要求重写、大修、救文或整体拉升已有内容。 - 用户明确要求最终审定、最终结论或是否通过的判断。 - 用户要求把模糊想法直接落成章节成品。 - 用户明确要求由 skill 统筹整个过程。 - 用户要求连续写多章、批量产出若干章，或要求完成到指定章节数量为止；这类任务默认进入完整闭环，持续推进到达到用户要求的数量或用户中途调整目标为止。 ## 最小协作骨架 - 从想法、目标或模糊需求直接落成章节时，默认流程为 `planner → writer → checker`。 - 当写作任务已经足够明确时，默认流程为 `writer → checker`。 - 涉及返修时，默认流程为 `checker → writer → checker`。 - `planner` 只在任务方向、章节目标、结构路径尚不清晰，或任务明确涉及规划与拆解时优先介入；不要机械地插入到每一次写作任务之前。 - 当任务涉及跨阶段统筹、跨章节推进、结果汇总或角色冲突处理时，再按需启用 `manager`。 ## 审查与返修规则 - 当任务进入正式审查环节后，`checker` 对当前稿件是否通过拥有最终判断权。 - `writer` 负责落地修改，`planner` 负责结构与方案支持，但不能替代 `checker` 对成稿质量的放行判断。 - `checker` 的最终判断权仅限于当前稿件的审查结论，不自动扩展为对项目方向、规划目标或创作策略的全面裁决权。 - 同一章节中，`writer` 最多进行 2 次返修；连同初稿在内，单章最多写 3 次。 - 如果单章在 2 次返修后仍未通过，不再继续让 `writer` 返修，而是由 `checker` 输出最终审查报告，并提示用户介入审查与决策。 - `writer` 仅可进行字数自审，不承担其他维度的自审职责。 - 字数必须通过 Python 脚本统计，且统计口径默认包含符号在内。 ## 写作方式 - 保持 `SKILL.md` 简短，只放总控规则、角色选择原则和流程骨架。 - 更细的路由规则、角色边界、交付规范，拆到 `references/` 里逐步补充。 - 每次对话只写入当前已经确认的规则，不预写未确认内容。 ## Agent 配置向导 ### 触发语句 当用户说以下任意一句时，启动配置向导： - "配置小说agent" - "创建小说agent" - "初始化小说工作流" - "设置小说创作环境" ### 配置流程 执行 `references/agent-setup.md` 中的步骤，**每步都需用户确认**： 1. **定位模板** - 自动找到 skill 目录 2. **选择工作区** - 用户输入路径 3. **选择Agent** - 用户勾选要创建的 agent（默认全选） 4. **选择模型** - 用户选择主模型 5. **确认配置** - 展示完整配置清单，用户确认 6. **执行创建** - 复制模板、创建目录、更新配置 7. **重启提示** - 提示用户手动重启 Gateway ### 配置完成后 重启 Gateway 后即可使用： - "写第13章" → writer - "审第13章" → checker - "规划下一卷" → planner - "统筹这个项目" → manager 详见 `references/agent-setup.md`。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)