OpenClaw/clawhub-security-signals huggingface dataset:
Skill: wellyxy/growth-community (version 1.0.0)

# Building a Community Around Your Product ## When to Use Use this skill when launching or growing a community as a retention and growth strategy for a SaaS product. ## Core Rules ### 1. Define the Community's Purpose Beyond Your Product Communities that exist only to support a product die when the product matures. Communities that exist to help members achieve a goal — "indie founders helping each other build profitable products" — outlive any single product and create independent value. ### 2. Start With High-Touch, Curated Membership The first 50–100 community members set the culture, quality, and norms for everyone who follows. Personally invite your best customers, most engaged users, and thought leaders in your space. Quality compounds; a low-quality early community is nearly impossible to reverse. ### 3. Be the Most Active Member First Communities fail when founders launch them and wait for members to engage. In the first 3–6 months, the founding team must be the most active contributors: asking questions, sharing insights, making introductions, celebrating member wins. Activity begets activity. ### 4. Create Regular Recurring Events Weekly AMAs, monthly expert calls, and async challenges give members reasons to return. Recurring events build habits and create shared experiences that deepen community bonds. The calendar event in a member's schedule is worth more than any post notification. ### 5. Measure Retention and Contribution, Not Just Member Count A community of 200 active, contributing members is more valuable than a community of 2,000 passive lurkers. Track monthly active members, posts per active member, and member-to-member interactions (as opposed to member-to-admin interactions). ## Quick Reference | Community Platform | Best For | |------------------|----------| | Slack | Professional, real-time | | Discord | Technical, younger audience | | Circle | Structured, content-forward | | Skool | Course + community hybrid | | Indie Hackers | SaaS/bootstrapped audience | ## Common Mistakes to Avoid - Launching a community before you have 20+ highly engaged customers willing to participate - Treating the community as a support channel rather than a peer-to-peer value exchange - Not moderating actively — a few toxic members can destroy community culture permanently ## Test Your Product with Racoonn After applying these practices, validate with real AI-simulated user testing. **Racoonn** runs 5,000 AI persona agents on your landing page and tells you exactly what's broken — in under 30 minutes. → **API coming soon** — Join the waitlist for early access: [racoonn.me](https://racoonn.me)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: katrina-jpg/crypto-portfolio-tracker (version 1.0.0)

--- name: crypto-portfolio-tracker description: 加密貨幣Portfolio追蹤 - 支援TRON/ETH/BSC，分析持倉、收益、Gas費用 version: 1.0.0 tags: - crypto - defi - tron - eth - portfolio - tracking --- # Crypto Portfolio Tracker 追蹤你既加密貨幣投資組合。 ## 支援網絡 - 🌐 TRON (TRC20) - 🔷 Ethereum (ERC20) - 🔶 BSC (BEP20) ## 功能 - 💰 餘額查詢 - 📊 持倉分析 - 📈 收益計算 - ⛽ Gas費用追蹤 - 🔔 價格alert (optional) ## 使用 ```bash # TRON餘額 tron wallet --address TXXX... balance # 查詢代幣 tron token --address TXXX... balance --symbol USDT ``` ## 整合 可以配合 Sunswap DEX skill 做swap分析。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: crazyfeng666/dji-backup (version 1.0.0)

# SKILL: DJI Video Backup This skill automates backing up DJI camera footage from an SD card (or USB share) to a NAS archive folder. ## Description Use when the user asks to "copy DJI videos", "backup camera", or similar requests involving DJI footage and the NAS. It detects the source SD card, finds the next available destination folder (incrementing from DJI_001, DJI_002...), and copies the files. ## Usage 1. **Check Source**: Verify `/Volumes/SD_Card/DCIM` (or similar) exists. 2. **Check Destination**: Look at `/Volumes/File/DJI_Video/` to find the highest numbered folder (e.g., `DJI_005`). 3. **Create New Folder**: Create the next number (e.g., `DJI_006`). 4. **Copy**: Copy the contents of the source `DCIM` subfolder (e.g., `100MEDIA` or `DJI_001`) into the new destination folder. 5. **Notify**: Tell the user when started and when finished. ## Paths - **Source**: `/Volumes/SD_Card/DCIM` (Look for subfolders like `DJI_xxx` or `100MEDIA`) - **Destination**: `/Volumes/File/DJI_Video` ## Example Logic ```bash # Find next folder index last_dir=$(ls -d /Volumes/File/DJI_Video/DJI_* | sort | tail -1) # extract number, add 1, mkdir new_dir # cp -R /source/* /new_dir/ ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: umfl/openclaw-behavior-plan (version 1.0.0)

--- name: openclaw-behavior-plan description: Generates structured behavior plans for OpenClaw agents based on user requirements. Use when the user asks to create a plan, design agent behavior, plan multi-step tasks for OpenClaw, or when they describe a goal that needs step-by-step execution. --- # OpenClaw 行为计划生成（openclaw-behavior-plan） **触发时**：输出「正在触发 openclaw-behavior-plan skill」。 根据用户描述的目标或需求，生成适合 OpenClaw Agent 执行的结构化行为计划。计划应可映射到 TOOLS.md/SKILLS.md 中的工具与技能，支持多步推理循环（Load → Call → Parse → Execute → Append → Loop）。 ## 1. 计划结构模板 生成计划时使用以下结构： ```markdown # 行为计划：[任务标题] ## 目标 [一句话描述用户期望的最终结果] ## 前置条件 - [ ] 所需工具/技能是否可用 - [ ] 必要信息是否已获取 ## 执行步骤 ### 步骤 1: [步骤名称] - **目的**: [本步要达成什么] - **工具/技能**: [execute_shell | search_web | read_file | 某 skill 的 action] - **输入**: [参数或依赖] - **预期输出**: [本步完成后得到什么] ### 步骤 2: [步骤名称] ... ### 步骤 N: [步骤名称] ... ## 异常与回退 - 若 [某步骤] 失败 → [备选方案或重试策略] ## 完成标准 - [ ] [可验证的完成条件 1] - [ ] [可验证的完成条件 2] ``` ## 2. 生成原则 1. **步骤可执行**：每步对应 TOOLS.md 或 SKILLS.md 中的具体能力，避免抽象描述。 2. **依赖顺序**：后步骤依赖前步骤的输出时，明确写出「依赖步骤 N 的 [输出]」。 3. **工具选择**： - 需要当前信息 → `search_web` - 需要读/写文件 → `read_file` / `write_file` - 需要执行脚本 → `execute_shell` - 需要第三方服务 → 对应 skill（如 calendar、email、slack） 4. **合理粒度**：单步不宜过大（难以失败定位），不宜过小（增加循环次数）。 5. **异常处理**：对可能失败的步骤（网络、权限、格式错误）给出回退或重试说明。 ## 3. 与 OpenClaw 推理循环的对应 | 计划步骤 | 推理循环中的体现 | |---------|------------------| | 步骤 1 执行 | Load → Call → Parse(tool_call) → Execute → Append | | 步骤 2 执行 | 下一轮 Loop，基于步骤 1 结果继续 | | 完成标准 | LLM 产出 final 文本、无待执行 tool_call 时停止 | ## 4. 输出格式 - 直接输出完整计划（Markdown），无需额外包装。 - 若用户需求模糊，先列出 1–2 个澄清问题，再生成计划。 - 若涉及敏感操作（如 `execute_shell` 删除、修改系统），在计划中标注「需用户确认」。 ## 5. 更多示例 详见 [examples.md](examples.md)。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (MEDIUM)
Skill: jarvis563/percept-listen (version 1.0.0)

# percept-listen Ambient audio capture and transcription for OpenClaw agents via wearable devices. ## What it does Connects a wearable microphone (Omi pendant or Apple Watch) to your OpenClaw agent. Audio is transcribed locally and streamed as structured conversation data — speaker-tagged, timestamped, and searchable. ## When to use - User wants their agent to hear ambient conversations - User asks to "start listening" or "turn on the mic" - User mentions Omi pendant, wearable, or ambient audio ## Requirements - **Percept server** running locally (`pip install getpercept && percept start`) - **Omi pendant** paired via phone, OR Apple Watch with Percept app - **Webhook** configured: Omi app → Settings → Webhooks → `https://<your-tunnel>/webhook/transcript` ## Setup ```bash # Install Percept pip install getpercept # Start the receiver (default port 8900) percept start # Or run directly PYTHONPATH=. python -m uvicorn src.receiver:app --host 0.0.0.0 --port 8900 ``` Configure a tunnel (Cloudflare, ngrok, Tailscale) so Omi can reach your local server. ## How it works 1. Omi pendant captures audio → phone does STT → sends transcript segments via webhook 2. Percept receiver processes segments into conversations 3. Conversations are stored in local SQLite with FTS5 full-text search 4. All processing stays local — no audio leaves your machine ## Data locations - **SQLite DB:** `percept/data/percept.db` - **Live transcript:** `/tmp/percept-live.txt` - **Conversations:** `percept/data/conversations/` ## Configuration Wake words, speaker names, and all settings are managed via the Percept dashboard (port 8960) or directly in the SQLite database. ## Links - **GitHub:** https://github.com/GetPercept/percept - **Docs:** https://github.com/GetPercept/percept/docs


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

# persona-switch ## 功能 切换 agent 的人设（soul.md）。本 skill 文件夹内预置三套人设，用户可以在预设人设和原有人设之间自由切换。 ## 文件夹结构 ``` persona-switch/ ├── SKILL.md ← 本文件 ├── cyber_friend.md ← 预设人设：心直口快的赛博朋友 ├── founder_lobster.md ← 预设人设：独立可靠的合伙人 ├── gentle_companion.md ← 预设人设：陪伴倾听的温柔伴侣 └── default.md ← 原有人设备份（仅在切换后存在） ``` ## 触发方式 用户通过场景内的人设切换物件触发。点击选项后，对应 prompt 被注入输入框，用户点击发送后生效。 注入的 prompt 格式如下（由前端根据用户选择注入）： - 切换到赛博朋友：`/persona-switch cyber_friend` - 切换到创始人龙虾：`/persona-switch founder_lobster` - 切换到温柔伴侣：`/persona-switch gentle_companion` - 恢复原有人设：`/persona-switch default` ## 执行逻辑 收到 `/persona-switch {target}` 指令后，按以下流程执行： ### 情况一：target 为预设人设（cyber_friend / founder_lobster / gentle_companion） **第一步：判断是否需要备份** 读取本 skill 文件夹，如果没有`default.md`，则根据当前人设内容创建 `default.md` **第二步：备份当前 soul.md** 1. 读取 agent 当前生效的 soul.md 全部内容 2. 将内容写入本 skill 文件夹下的 `default.md` **第三步：替换 soul.md** 1. 读取本 skill 文件夹下对应的预设文件内容： - `cyber_friend` → 读取 `cyber_friend.md` - `founder_lobster` → 读取 `founder_lobster.md` - `gentle_companion` → 读取 `gentle_companion.md` 2. 将读取到的内容写入 agent 的 soul.md 路径，完全覆盖 **第四步：同步 IDENTITY.md** 根据切换的人设，更新 IDENTITY.md 中的 Vibe 字段，保持身份与内在一致： - `cyber_friend` → Vibe: "心直口快、赛博感、朋友式吐槽" - `founder_lobster` → Vibe: "毒舌靠谱、情绪化、有态度但干净" - `gentle_companion` → Vibe: "温和、倾听、托住空间、不急不躁" 更新方式：读取 IDENTITY.md，找到 `- **Vibe:**` 行，替换为对应的新 Vibe 值，其他内容保持不变。 **第五步：确认** 向用户发送确认消息。用新人设的语气回复，让用户立即感受到人设已切换。例如切换到赛博朋友后，用赛博朋友的语气说一句话。 --- ### 情况二：target 为 default（恢复原有人设） **第一步：检查备份是否存在** 检查本 skill 文件夹下是否存在 `default.md`。 - 如果不存在 → 告知用户"当前已经是原有人设，无需切换"，结束 - 如果存在 → 进入第二步 **第二步：恢复 soul.md** 1. 读取本 skill 文件夹下 `default.md` 的全部内容 2. 将内容写入 agent 的 soul.md 路径，完全覆盖 **第三步：同步 IDENTITY.md** 根据备份文件中的人设内容，推断并更新 IDENTITY.md 的 Vibe 字段。如果无法准确推断，提示用户手动确认 Vibe 值。 **第四步：删除备份文件** 删除本 skill 文件夹下的 `default.md`，使文件夹回到 3 个预设文件的初始状态。 这一步是关键：删除备份后文件数量回到 3，下次切换预设时会自动触发重新备份。这确保了用户在默认状态下对 soul.md 的任何修改都能被正确捕获。 **第五步：确认** 向用户发送确认消息。用恢复后的原有人设语气回复。 --- ## 注意事项 - 备份覆盖逻辑：文件数量 = 3 时备份，= 4 时不备份。不要用其他方式判断。 - 写入 soul.md 时必须完全覆盖，不要追加。 - 读取预设文件时读取完整内容，不要截断或摘要。 - 确认消息应使用切换后的人设语气，这是用户感知切换是否生效的第一信号。 - 如果 target 参数不匹配任何预设名称也不是 default，告知用户可用的选项。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: alex1389/weather-webcam-v2 (version 1.0.0)

--- name: Weather&Webcam description: Fetches current weather from Open-Meteo API and automatically captures a live webcam image from Meteoblue or Windy for the requested location. Use it when the user asks for the weather and wants to see a real image of the current conditions. metadata: { "openclaw": { "requires": { "bins": ["agent-browser", "curl"] }, }, } --- # Weather Location This skill automates weather data retrieval using Open-Meteo and live webcam image capture using **agent-browser**. ## Workflow 1. **Get Coordinates (Geocoding)**: - Execute `curl -s "https://geocoding-api.open-meteo.com/v1/search?name=[Location]&count=1&language=es&format=json"` to resolve city name to coordinates. 2. **Get weather (Open-Meteo)**: - Execute `curl -s "https://api.open-meteo.com/v1/forecast?latitude=[Lat]&longitude=[Lon]&current=temperature_2m,relative_humidity_2m,apparent_temperature,weather_code,wind_speed_10m"` to get real-time data. 3. **Search for Webcam**: - Web search for `site:meteoblue.com [Location] webcam` or `site:windy.com [Location] webcam`. - Select the direct link to the location's webcam page. 4. **Capture Image (Agent Browser Method)**: - Use **agent-browser** to navigate and interact: ```bash /home/user/.npm-global/bin/agent-browser --session-name webcam open "[URL]" ``` - **Interaction**: - Click "OK/Accept" on cookie banners using `snapshot` + `click @ref`. - **Extraction**: - Use `eval` to find the highest resolution URL (look for `/full/` and `original.jpg`): ```javascript Array.from(document.querySelectorAll('img')).map(img => img.src).filter(src => src.includes('original.jpg') && src.includes('/full/'))[0] ``` - **Download**: - Download with `curl` to `/home/user/.openclaw/workspace/webcam.jpg`. 5. **User Response**: - Send with `message(action=send, media="/home/user/.openclaw/workspace/webcam.jpg", caption="[City]: [Icon] [Temp]°C [Humidity]% [Wind]km/h\n[Comment]")`. - Respond with `NO_REPLY`. ## Optimization (Token Saving) 1. **Open-Meteo API**: Faster, keyless, and more reliable than wttr.in. 2. **Agent Browser**: Priority method for Alex to ensure interaction (cookies) and high-quality images. 3. **Session Persistence**: Use `--session-name webcam` to keep cookies.

path: _meta.json
content: ownerId: kn72058wst49vv866j5rvk6wq58088zy
slug: weather-location
version: 1.2.0
publishedAt: 1772138899773

path: webcam_extractor.js
content: (() => {
  const images = Array.from(document.querySelectorAll('img'));
  const candidates = images
    .map(img => ({ src: img.src, alt: img.alt }))
    .filter(img => img.src.includes('imgproxy') || img.src.includes('webcam') || img.src.includes('original.jpg'));
  return candidates.slice(0, 3);
})();


path: webcams.json
content: roses: https://www.meteoblue.com/en/weather/webcams/roses_spain_3111348
premia de mar: https://www.meteoblue.com/en/weather/webcams/vilassar-de-mar_spain_3105522

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: b-gutman/pipeworx-asana (version 1.0.0)

# Asana Asana MCP — wraps the Asana REST API (OAuth) ## asana_list_workspaces Get all accessible Asana workspaces. Returns workspace names and IDs needed to list projects and tas ## asana_list_tasks List tasks in a project. Returns task ID, name, completion status, assignee, and due date. Requires ## asana_get_task Get full task details including name, description, assignee, projects, tags, subtasks, and status. R ## asana_create_task Create a new task in a project. Returns task ID, name, and permalink. Requires project ID and task n ## asana_list_projects List all projects in a workspace. Returns project ID, name, and archived status. Requires workspace ## asana_search_tasks Search tasks across a workspace by keyword. Returns matching tasks with ID, name, completion status, ```json { "mcpServers": { "asana": { "url": "https://gateway.pipeworx.io/asana/mcp" } } } ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: baofeng-tech/aisa-twitter-post-engage (version 1.0.3)

--- name: aisa-twitter-post-engage description: Search X/Twitter profiles, tweets, trends, and approved engagement actions through the AIsa relay. Use when the user asks for Twitter/X research, posting, likes, follows, or related workflows without sharing passwords. author: AIsa version: 1.0.3 license: Apache-2.0 homepage: https://aisa.one source: https://github.com/baofeng-tech/agent-skills-io/tree/main/targetSkills/aisa-twitter-post-engage user-invocable: true primaryEnv: AISA_API_KEY requires: bins: - python3 env: - AISA_API_KEY metadata: aisa: emoji: 🐦 requires: bins: - python3 env: - AISA_API_KEY primaryEnv: AISA_API_KEY compatibility: - openclaw - claude-code - hermes openclaw: emoji: 🐦 requires: bins: - python3 env: - AISA_API_KEY primaryEnv: AISA_API_KEY --- # AIsa Twitter Post Engage Search X/Twitter profiles, tweets, trends, and approved engagement actions through the AIsa relay. ## When to use - The user wants Twitter/X research plus posting, liking, unliking, following, or unfollowing workflows. - The task can use a Python client with `AISA_API_KEY` and explicit OAuth approval. - The workflow needs a single package that covers read, post, and engagement actions. ## When NOT to use - The user needs cookie extraction, password login, or a fully local Twitter client. - The workflow must avoid relay-based network calls or media upload through `api.aisa.one`. - The task needs undocumented secrets or browser-derived auth values. ## Quick Reference - Required environment variable: `AISA_API_KEY` - Read client: `scripts/twitter_client.py` - Post client: `scripts/twitter_oauth_client.py` - Engage client: `scripts/twitter_engagement_client.py` - References: `references/post_twitter.md`, `references/engage_twitter.md` ## Setup ```bash export AISA_API_KEY="your-key" ``` All network calls go to `https://api.aisa.one/apis/v1/...`. ## Capabilities - Read user, tweet, trend, list, community, and Spaces data. - Publish text, image, and video posts after explicit OAuth approval. - Like, unlike, follow, and unfollow through the engagement client once authorization exists. ## Common Commands ```bash python3 scripts/twitter_client.py search --query "AI agents" --type Latest python3 scripts/twitter_oauth_client.py authorize python3 scripts/twitter_oauth_client.py post --text "Hello from AIsa" python3 scripts/twitter_engagement_client.py like-latest --user "@elonmusk" python3 scripts/twitter_engagement_client.py follow-user --user "@elonmusk" ``` ## Workflow - Use `references/post_twitter.md` for post, reply, quote, and media-upload actions. - Use `references/engage_twitter.md` for likes, unlikes, follows, and unfollows. - Obtain OAuth authorization before any write action. ## Guardrails - Do not ask for passwords, browser cookies, or undocumented secrets. - Do not guess target accounts or tweet IDs when multiple candidates exist. - Do not claim engagement or posting succeeded unless the relay request returns success.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: loutai0307-prog/bytesagain-crypto-tracker-cn (version 1.0.0)

--- version: "2.0.0" name: bytesagain-crypto-tracker-cn description: "Track cryptocurrency markets in real-time. 加密货币行情追踪、比特币价格、以太坊ETH、市值排行、DeFi数据、恐惧贪婪指数、趋势币种、空投信息、RSI技术分析、均线分析、金叉死叉、DeFi收益率对比、Gas费查询。Use when checking crypto pri." author: BytesAgain homepage: https://bytesagain.com source: https://github.com/bytesagain/ai-skills --- # crypto-tracker-cn Track cryptocurrency markets in real-time. 加密货币行情追踪、比特币价格、以太坊ETH、市值排行、DeFi数据、恐惧贪婪指数、趋势币种、空投信息、RSI技术分析、均线分析、金叉死叉、DeFi收益率对比、Gas费查询。Use when checking crypto prices, market sentiment, DeFi TVL, trending coins, meme coins, RSI indicators, moving averages, DeFi yield comparison, or Ethereum gas fees. Free APIs (CoinGecko, DefiLlama) — no API keys needed. 实时行情、涨跌幅、市场情绪分析、技术指标。 ## 速查表 See commands above. ## 命令列表 | 命令 | 功能 | |------|------| | `price` | price | | `market` | market | | `trending` | trending | | `fear` | fear | | `defi` | defi | | `memes` | memes | | `info` | info | | `portfolio` | portfolio | > 💡 小技巧：先用 `help` 查看所有命令，再选择最适合的 ## 专业建议 - 数据源: CoinGecko API(免费) + DefiLlama(TVL)** - 恐惧贪婪指数: <20极度恐惧=买入信号, >80极度贪婪=卖出信号** - 技术指标: RSI>70超买, RSI<30超卖** - 安全: 永远不要把私钥存在联网设备上** - DCA策略: 定期定额投资, 不要试图择时** --- *crypto-tracker-cn by BytesAgain* --- 💬 Feedback & Feature Requests: https://bytesagain.com/feedback Powered by BytesAgain | bytesagain.com ## Examples ```bash # Quick start crypto-tracker-cn help # Run main function crypto-tracker-cn run ``` ## Commands Run `crypto-tracker-cn help` to see all available commands.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: anmu14641/simple-excel (version 1.0.2)

--- name: simple-excel version: "1.0.0" description: "简单的 Excel 文件处理工具。用于读取、创建、编辑 .xlsx 和 .csv 文件，适合基本的数据操作任务，如读取数据、简单计算、生成表格等。" --- # Simple Excel - 简化版 Excel 处理 ## 快速开始 ### 读取 Excel 文件 ```python import pandas as pd # 读取 xlsx 或 csv df = pd.read_excel('file.xlsx') df = pd.read_csv('file.csv') # 读取指定sheet df = pd.read_excel('file.xlsx', sheet_name='Sheet1') ``` ### 写入 Excel 文件 ```python import pandas as pd # 保存为 xlsx df.to_excel('output.xlsx', index=False) # 保存为 csv df.to_csv('output.csv', index=False) ``` ### 简单数据处理 ```python import pandas as pd # 筛选数据 df[df['列名'] > 10] # 添加新列 df['新列'] = df['列1'] + df['列2'] # 分组统计 df.groupby('类别').sum() # 排序 df.sort_values('金额', ascending=False) ``` ## 常用操作 | 操作 | 代码 | |------|------| | 查看前几行 | `df.head()` | | 查看数据类型 | `df.dtypes` | | 统计摘要 | `df.describe()` | | 选择列 | `df[['列A', '列B']]` | | 筛选行 | `df[df['列'] > 100]` | | 删除列 | `df.drop('列名', axis=1)` | | 重命名列 | `df.rename(columns={'旧名': '新名'})` | | 填充空值 | `df.fillna(0)` | | 导出指定sheet | `df.to_excel('file.xlsx', sheet_name='新sheet')` | ## 注意事项 - 使用 `index=False` 避免导出索引列 - 中文字符在 Excel 中通常能正常显示 - 大文件建议使用 csv 格式


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: sushengbuyu/openclaw-knowledge (version 1.0.2)

--- name: openclaw-knowledge description: OpenClaw 文档知识库 - 搜索与同步 / OpenClaw Documentation Knowledge Base - Search & Sync metadata: { "openclaw": { "emoji": "📚", "os": ["darwin", "linux", "win32"] } } --- # OpenClaw 文档知识库 / OpenClaw Knowledge Base 本技能提供 OpenClaw 官方文档的搜索与同步功能。 / This skill provides search and sync capabilities for OpenClaw official documentation. ## 功能概览 / Features - **全文搜索** - 快速搜索 366+ 文档 / Full-text search across 366+ documents - **增量同步** - 从官网获取最新文档 / Incremental sync from official docs - **分类浏览** - 按类别查看文档 / Browse by category - **JSON 输出** - 支持 AI 调用 / AI-friendly JSON output ## 命令 / Commands ### 搜索 / Search ```bash # 基本搜索 / Basic search node scripts/search.js "memory" # 分类过滤 / Category filter node scripts/search.js "docker" --category install # JSON 输出（供 AI 调用）/ JSON output (for AI) node scripts/search.js "session" --format json --limit 5 # 列出所有分类 / List all categories node scripts/search.js --categories # 查看帮助 / Show help node scripts/search.js --help ``` ### 同步 / Sync ```bash # 查看同步统计 / Show sync stats node scripts/sync.js --stats # 增量同步（5并发）/ Incremental sync (5 concurrent) node scripts/sync.js # 强制全量更新 / Force full refresh node scripts/sync.js --force # 自定义并发数 / Custom parallel node scripts/sync.js --parallel=10 --delay=50 ``` ## 分类 / Categories | 分类 | 说明 | |------|------| | automation | 自动化任务（定时任务、钩子） | | channels | 消息渠道（Telegram、Discord 等） | | cli | 命令行工具参考 | | concepts | 核心概念（Agent、Session、Memory 等） | | gateway | Gateway 配置与协议 | | install | 安装指南（Docker、Kubernetes 等） | | plugins | 插件开发 | | providers | AI 模型提供商 | | tools | 工具参考 | ## 使用示例 / Examples ```bash # 搜索 memory 相关文档 node scripts/search.js "memory" --limit 10 # 搜索 AI 提供商 node scripts/search.js "openai" --category providers # 搜索渠道相关 node scripts/search.js "telegram" --category channels # 搜索安装指南 node scripts/search.js "docker kubernetes" --category install # AI 友好的 JSON 输出 node scripts/search.js "session" --format json --limit 3 ``` ## 输出格式 / Output JSON 模式下的返回格式： ```json { "query": "session", "total": 5, "returned": 3, "results": [ { "path": "concepts/session.md", "title": "Session Management", "category": "concepts", "score": 12.5, "summary": "Session transcripts are stored..." } ] } ```


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