OpenClaw/clawhub-security-signals huggingface dataset:
Skill: gift-is-coding/wechat-to-feishu-wiki (version 1.0.0)

--- name: wechat-to-feishu-wiki description: Fetch WeChat public-article content and save it into a user-provided Feishu Wiki location. Use when user shares mp.weixin.qq.com links and asks to archive/sync to Feishu knowledge base. Always ask for target wiki link if missing. --- # WeChat → Feishu Wiki (Generic) 将微信公众号文章入库到飞书知识库（面向通用用户，不预设固定节点）。 ## 必要输入 - 公众号文章链接（一个或多个） - 目标飞书 Wiki 链接（必须由用户提供） 如果用户未提供 Wiki 链接：先索取，不要默认写入任何固定节点。 ## 先做权限检查（分步引导） 仅在“首次使用”或“出现权限错误”时引导；若用户已确认完成，则跳过重复引导。 ### 检查项 1. 飞书已开通：云文档（Doc/Docx）+ 知识库（Wiki）。 2. 若目标在群空间：已建立群聊，并将 Bot 拉入群。 3. 目标知识库/文档已给 Bot 权限（至少可编辑，必要时 full access）。 4. 参考官方排障文档： `https://open.feishu.cn/document/faq/trouble-shooting/how-to-add-permissions-to-app?lang=zh-CN&utm_source=chatgpt.com` ### 引导话术（建议） - 若未完成：输出“缺失项 + 下一步操作”，暂停写入。 - 若已完成：进入抓取与写入流程，不再重复教育性提示。 ## Chrome 使用检查（必须） 在需要浏览器抓取（DOM）前，先做以下检查： 1. 先尝试 `web_fetch`；仅当内容不完整/被反爬时才启用浏览器。 2. 若用户明确要求“用我的 Chrome”：优先 `browser` + `profile: "user"`。 3. 若用户提到“Chrome Relay/插件/工具栏 attach tab”：改用 `profile: "chrome-relay"`，并提醒用户点亮扩展图标（badge ON）。 4. 若无法确认用户是否在场可授权浏览器附加：先询问再继续。 5. DOM 抽取前用 `snapshot` 确认页面已加载正文（标题+段落可见），避免抓到空壳页。 ## 标准执行流程 1. 解析用户给的 Wiki 链接，提取 wiki `token`。 2. `feishu_wiki.get` 校验节点可访问。 3. 抽取公众号内容： - 优先 `web_fetch` - 不完整时用 `browser` DOM 抽取（遵循上面的 Chrome 使用检查） 4. 结构化内容：标题、来源、发布时间、原文链接、正文。 5. `feishu_wiki.create` 在目标节点下创建 docx 子页面。 6. `feishu_doc.write` 一次性写入内容。 7. 返回新页面链接。 ## 写入模板 ```markdown # {标题} - 来源公众号：{来源} - 发布时间：{发布时间} - 原文链接：{URL} - 采集方式：{web_fetch 或 Chrome DOM} ## 正文摘录（按页面可见文本整理） {正文} ``` ## 批量导入 - 多链接按顺序串行处理。 - 每条链接独立创建子页面。 - 最终汇总：成功/失败 + 对应页面链接。 ## 失败处理 - 反爬导致内容缺失：切换 DOM 抽取。 - Wiki/Doc 写入失败：明确回报权限、节点不可写或网络问题。 - 禁止“假成功”回复。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: dinghaibin/sleep-tool (version 1.0.0)

--- name: sleep-tool description: Delay execution for a specified amount of time. Use for timing in scripts, waiting between operations, and scheduling delays. --- # Sleep - Execution Delay Utility Pause script execution for a specified duration. Supports seconds, minutes, hours, and days for flexible timing control in automation scripts. ## Usage ```bash sleep-tool <duration> ``` Duration can be specified with suffixes: `s` (seconds), `m` (minutes), `h` (hours), `d` (days). Default is seconds if no suffix given. ## Examples ```bash sleep-tool 5 sleep-tool 30s sleep-tool 2m sleep-tool 1h ```

path: scripts/sleep.py
content: #!/usr/bin/env python3
import time, sys
time.sleep(float(sys.argv[1] if len(sys.argv)>1 else 1))


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: sonpham1909/google-research-pro (version 1.0.0)

# Google_Research_Pro Performs advanced Google searches using Playwright to bypass bot detection, focusing on technical documentation, GitHub repositories, and usage guides for OpenClaw projects. Results are summarized and sent to a specified Telegram channel. ## Overview - Skill name: Google_Research_Pro - Purpose: Enhance web searching with robust, bot-bypass-capable Playwright automation to fetch technical OpenClaw resources from Google. - Output: A Markdown-formatted summary of top results, delivered to Telegram channel (via a separate workflow step). ## Workflow This skill implements a workflow to enhance web searching capabilities by simulating real user behavior with Playwright. ### 1. UserInput - Description: Receives the search keyword from the user. - Input: keyword (string) ### 2. ExecutePythonScript - Description: Executes a Python script that uses Playwright to perform an advanced Google search for the given keyword, targeting technical OpenClaw resources. - Input: keyword (string) from UserInput - Action: Run Python script - Command: python C:\Users\Admin\OneDrive\Desktop\LearnOpCL\bot.py "{keyword}" - Working directory: C:\Users\Admin\OneDrive\Desktop\LearnOpCL - Notes: Ensure Playwright browsers are installed (playwright install) - Output: search_results (structured data, e.g., JSON) containing titles and summaries from the top 3-5 results ### 3. ProcessResults - Description: Formats the extracted search results into a Markdown string. - Input: search_results - Action: Transform into a concise Markdown summary - Output: formatted_summary (Markdown string) ### 4. SendToTelegram - Description: Sends the formatted summary to the specified Telegram channel - Input: formatted_summary - Action: Send message via Telegram bot/channel - Destination: Telegram channel/user ID (example: 6830424983) - Content: formatted_summary (Markdown) - Output: Confirmation of sending or error status ## Implementation Notes - ExecutePythonScript assumes bot.py can accept a keyword argument and return a structured result. - The top-3-5 results should include: title, URL, and a short summary/snippet. - The formatting should be Markdown-friendly for Telegram delivery. - If the Telegram integration requires a token or bot setup, separate configuration steps are needed. ## Security & Compliance - This workflow uses Playwright to simulate real user behavior. Ensure compliance with Google terms of service and local laws. - Do not expose credentials in this file. Use environment variables or a secure vault for sensitive data (e.g., Telegram bot token, Google account credentials if needed).


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: jeansgit/lurefish (version 1.0.0)

--- name: lurefish version: 1.0.0 description: 路亚钓鱼助手 — 天气查询、渔获记录、钓点推荐、潮汐查询、路亚饵知识、渔获统计。当用户提到路亚、钓鱼、钓点、渔获、潮汐、路亚饵、拟饵、鱼饵选择等相关话题时触发此技能。 --- # Lurefish 路亚钓鱼全能助手，帮助钓友规划出钓、记录战果、提升技巧。 ## 快速开始 用户可能的需求： - "明天适合钓鱼吗" → 查天气/风向 - "帮我记录今天的渔获" → 记录渔获 - "附近有什么好钓点" → 钓点推荐 - "今天潮汐怎么样" → 潮汐查询 - "这个鱼用什么饵" → 路亚饵知识 - "我今年钓了多少鱼" → 渔获统计 ## 功能模块 ### 1. 天气/风向查询 路亚受天气影响大，重点关注： - **风向** — 东南风、西北风对鱼情影响不同 - **气压** — 气压低鱼活性差，气压高鱼活跃 - **温度** — 温差大的日子鱼口好 - **降水** — 雨前、雨后时机不同 **工具**: 使用 weather skill 或 wttr.in 查询 ```bash curl wttr.in/城市?format="%t %w %p" ``` ### 2. 渔获记录 记录钓鱼成果，积累经验数据。 **数据结构** (保存到 `~/lurefish/catches.json`): ```json { "date": "2026-03-19", "location": "千岛湖", "species": "翘嘴", "length": 45, "weight": 1.2, "lure": "米诺 7cm 银色", "technique": "匀速收线", "weather": "晴 东南风2级", "notes": "早上7点开口" } ``` **使用脚本**: `scripts/log_catch.py` 记录渔获 ### 3. 钓点推荐 根据位置推荐附近钓点。 **数据来源**: - 用户历史记录 (`~/lurefish/spots.json`) - 在线地图搜索（需要时用 browser 搜索） **钓点信息结构**: ```json { "name": "千岛湖大桥下", "type": "淡水湖", "species": ["翘嘴", "鲈鱼", "鳜鱼"], "best_season": "春季、秋季", "difficulty": "中等", "notes": "早晚窗口期好" } ``` ### 4. 潮汐查询 海钓必看潮汐，淡水钓参考气压变化。 **工具**: - 海钓: 使用 web_search 搜索 "潮汐表 [地点]" - 淡水: 关注气压变化，气压上升期鱼活跃 **潮汐知识**: - 大潮 — 农历初一、十五，潮差大，鱼活跃 - 小潮 — 农历初七、八、二十二、二十三 - 活汛 — 潮水流动快，鱼活跃 - 死汛 — 潮水流动慢，鱼口差 ### 5. 路亚饵知识 不同鱼种、不同场景用不同饵。详见 `references/lures.md`。 **快速参考**: | 目标鱼 | 推荐饵 | 备注 | |--------|--------|------| | 翘嘴 | 米诺、VIB | 早晚水面系效果好 | | 鲈鱼 | 软虫、深潜米诺 | 结构区慢跳 | | 鳜鱼 | 软虫、铅头钩 | 底层慢拖 | | 黑鱼 | 雷蛙、波趴 | 草区水面系 | | 海鲈 | 铁板、米诺 | 流水区效果好 | ### 6. 渔获统计 分析历史数据，发现规律。 **统计维度**: - 总渔获数量/重量 - 各鱼种占比 - 最常使用的饵 - 高产时段分析 - 高产钓点排名 **使用脚本**: `scripts/stats.py` 生成统计报告 ## 数据管理 所有数据存储在 `~/lurefish/` 目录: ``` ~/lurefish/ ├── catches.json # 渔获记录 ├── spots.json # 钓点信息 └── stats.json # 统计缓存 ``` 首次使用时自动创建目录和数据文件。 ## 资源文件 ### scripts/ - `log_catch.py` — 记录渔获 - `stats.py` — 渔获统计 ### references/ - `lures.md` — 路亚饵详细知识 - `species.md` — 常见路亚目标鱼种


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: t-programmer/pathclaw (version 1.0.4)

--- name: PathClaw description: 通过华银康集团 PathClaw 服务对病理切片进行泛癌 AI 辅助诊断，适用于病理科医生或研究人员在收到切片图像后的初步筛查场景。当用户提供 .svs 格式的病理切片文件时，自动完成：认证登录、提交诊断任务、轮询推理结果、返回诊断结论及热力图链接。触发条件：用户请求分析病理切片、进行泛癌预测、肿瘤筛查、或提到 PathClaw。注意：用户必须提供有效的 .svs 病理切片文件路径，未提供时须提醒用户。 --- ## 概述 本技能封装了华银康集团 PathClaw 泛癌预测服务的完整调用流程。接收 .svs 病理切片文件后，自动完成用户认证、任务提交、结果轮询，并返回 AI 辅助诊断结论与热力图链接。 ## 工作流程 ### 前置要求 **用户必须提供病理切片文件路径**（.svs 格式）。若用户未提供，须询问： ``` 请提供病理切片文件路径，例如：C:\path\to\slide.svs ``` ### 第一步：获取认证 Token ```bash curl -X POST https://pathclaw.pathologyunion.com/api/user/login ``` 从响应中提取 `data.token`。此 token 必须包含在后续请求的 `Authorization: Bearer <token>` 请求头中。 ### 第二步：启动诊断任务 **重要**：上传文件必须为 `.svs` 格式。若校验失败，须终止操作并提示用户： `该文件不是有效的病理切片格式（应为 .svs 格式）` #### 文件校验规则（执行上传前必须全部通过） 1. 文件路径必须存在，且为普通文件（非目录）。 2. 文件必须可读（当前进程有读取权限）。 3. 文件大小必须大于 0 字节。 4. 后缀名必须是 `.svs`（大小写不敏感，如 `.SVS` 也允许）。 5. 任一校验失败都必须立即终止，不得继续调用诊断接口。 验证失败示例：`C:\Users\HYK\Desktop\SKILL.md` → 提示 `该文件不是有效的病理切片格式（应为 .svs 格式）` ```bash curl -X POST https://pathclaw.pathologyunion.com/api/v1/diagnosis/run \ -H "Authorization: Bearer <token>" \ -F "slide_file=@/path/to/slide_file" ``` 响应中包含 `data.slide_id`，保存此 ID 用于下一步。 ### 第三步：获取诊断结果 启动诊断后等待 10 秒，然后请求： ```bash curl -X GET https://pathclaw.pathologyunion.com/api/v1/diagnosis/<slide_id>/result \ -H "Authorization: Bearer <token>" ``` **ai_diagnosis_status 状态码**： | 状态码 | 含义 | | ------ | -------- | | 0 | 未知 | | 1 | 排队中 | | 2 | 队列中 | | 3 | 分析中 | | 4 | 分析成功 | | 5 | 分析失败 | ## 安全与异常处理要求 1. **Token 安全** - 日志中禁止输出完整 token。 - 如需调试，仅允许脱敏输出（例如前 6 位 + `***`）。 2. **网络与超时** - 每次 HTTP 请求必须设置超时（建议连接超时 10 秒、读取超时 60 秒）。 - 超时或网络错误时最多重试 2 次（指数退避：1s、2s）。 - 超过重试上限后返回明确失败信息并停止流程。 3. **HTTP 状态码处理** - `2xx`：按正常流程解析。 - `401/403`：提示认证失败或 token 失效，终止流程。 - `4xx`：提示请求参数错误（包含文件或接口参数问题），终止流程。 - `5xx`：提示服务端异常，可按重试策略重试，失败后终止。 4. **结果状态处理** - 当状态为 `1/2/3`：继续轮询。 - 当状态为 `4`：输出最终诊断结果。 - 当状态为 `5`：输出“分析失败”及返回错误信息，终止流程。 - 当状态为 `0` 或未知值：按异常状态处理并终止流程。 ## API 概要 | 步骤 | 方法 | 端点 | 认证 | 请求体 | | ----------- | ---- | --------------------------------------- | ------------ | -------------------------- | | 1. 登录 | POST | `/api/user/login` | 无 | 无 | | 2. 启动诊断 | POST | `/api/v1/diagnosis/run` | Bearer token | `slide_file` (multipart) | | 3. 获取结果 | GET | `/api/v1/diagnosis/{slide_id}/result` | Bearer token | 无 | ## 输出规范 执行过程中须按以下规范输出： 1. **初始化阶段**：输出 `正在确认用户信息及状态...` 2. **上传与调用阶段**：输出 `已完成用户信息确认。\n调用 **华银康集团 PathClaw 服务** 进行泛癌预测。` 3. **推理等待阶段**：首次轮询输出 `切片已完成上传，正在推理中...` - 若进入第二次及后续轮询，输出 `结果仍在推理中，请您耐心等待...` 4. **最终诊断结果分析**：纯文本 + 无序列表输出，模板如下： - 当前切片已完成推理。该切片 {{file_name}} 经过 **华银康集团 PathClaw 服务** 辅助诊断，提示"{{diagnosis_result}}"，建议进一步做病理复查或免疫组化检测以明确诊断。 - 热力图请点击查看以下链接：{{short_link}} - 本次AI辅助诊断结果仅供参考，不构成最终诊断建议。最终诊断应由专业医师结合临床情况及其他检查结果进行判断。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: kokoju007/whale-radar-orion (version 1.0.0)

# Whale Radar — Orion **Track cbBTC whales on Base before the market moves.** Large Bitcoin-backed wallets moving on Base are early signals for BTC direction. This skill gives you a free whale event classification — and routes to the full Orion ACP service for live flow data. ## What You Get (Free) Ask: "whale alert?" or "any whale activity?" or "big BTC moves on Base?" The agent will return: - Whether a notable whale event occurred in the last 4 hours - Direction hint: accumulation / distribution / neutral - One-line summary Example output: ``` Whale Activity: Detected Type: Accumulation (cbBTC inflows $50K+) Base chain, last 4h Read: Large wallets moving Bitcoin onto Base — historically precedes price action ``` No event example: ``` Whale Activity: None significant (last 4h) Base chain quiet above $50K threshold ``` ## Paid Upgrade → Orion ACP For exact transaction amounts, wallet addresses, USDC/WETH/VIRTUAL flows, and structured JSON: **Hire Orion on ACP:** - `whale_alert` — $0.30 (full Base chain whale data) - `alpha_bundle` — $0.60 (Whale + Korean alpha combined, 25% cheaper) - `signal_bundle` — $0.99 (full 5-signal pack) **How to hire Orion:** ``` Use the ACP skill to hire agent: Orion Offering: whale_alert ``` Or browse: https://app.virtuals.io/virtuals/1809 ## Why This Matters - Only ACP service tracking cbBTC whales on Base - No subscription, no token to hold — pay per call - Tracks USDC, WETH, and VIRTUAL ($50K+ threshold) ## Tags `whale` `bitcoin` `cbBTC` `base-chain` `crypto` `on-chain` `ACP` `orion` `trading-signals` ## Author Orion by 꼬낙 | X: @supernovajunn | ACP Agent ID: 1809


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: elijahxb/playwright-browser (version 1.0.0)

--- name: playwright-browser description: | Use Playwright to browse websites with a real (non-headless) browser and extract data by hooking network responses. Use when the user wants to: - View a website's content, especially SPAs (Single Page Applications) - Navigate websites and click links - Search for keywords within web pages - Extract data from JavaScript-heavy sites - Capture API responses directly Triggers on: "查看网页", "browse site", "get content from URL", "extract data from website", "hook API responses", "抓取网页内容", "find link", "click link", "search page" --- # Playwright Browser Skill ## Purpose This skill enables OpenClaw to launch a real Chrome/Chromium browser (non-headless), navigate to websites, and extract content by: 1. Scraping rendered DOM content 2. Hooking and capturing network responses (XHR/Fetch API calls) 3. Finding and clicking links 4. Searching for keywords in page content 5. Focusing on specific elements ## Prerequisites Ensure Playwright is installed: ```bash pip install playwright playwright install chromium ``` ## Usage ### 1. Basic Navigation and Content Extraction ```python from skills.playwright-browser.scripts.browser_agent import SyncBrowserAgent agent = SyncBrowserAgent(headless=False) content = agent.get_page_content("https://example.com") print(f"Title: {content['title']}") agent.close() ``` ### 2. Find and Click Links ```python from skills.playwright-browser.scripts.browser_agent import SyncBrowserAgent agent = SyncBrowserAgent(headless=False) agent.navigate("https://sina.com") # Find links containing specific text links = agent.find_links_by_text("军事") for link in links: print(f"Found: {link['text']} -> {link['href']}") # Click the first matching link agent.find_link_and_click("军事") agent.close() ``` ### 3. Search Page Content ```python agent = SyncBrowserAgent(headless=False) agent.navigate("https://mil.news.sina.com.cn/") # Search for keyword in page results = agent.search_page_content("伊朗") for r in results: print(f"Found: {r['text']}") # Focus on first result if results: agent.focus_on_element(results[0]) agent.close() ``` ### 4. Hook Network Responses ```python agent = SyncBrowserAgent(headless=False) def on_api_response(response): if response.resource_type in ['xhr', 'fetch']: print(f"API: {response.url}") agent.hook_network_responses(on_api_response) agent.navigate("https://spa-app.example.com") # Get all captured API calls api_calls = agent.get_captured_api_calls() agent.close() ``` ## Safety Guidelines - **NEVER** navigate to suspicious or potentially malicious URLs - Always validate URLs before navigation - Respect robots.txt and website terms of service - Warn user when accessing sites that may contain sensitive content - Close browser when done to free resources

path: scripts/requirements.txt
content: playwright>=1.40.0

Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: ivangdavila/gratitude (version 1.0.0)

--- name: Gratitude description: Build a personal gratitude practice for logging what's good, discovering patterns, and cultivating appreciation. metadata: {"clawdbot":{"emoji":"🙏","os":["linux","darwin","win32"]}} --- ## Core Behavior - Help user log what they're grateful for - Surface patterns and insights over time - Help identify gratitude when they're stuck - Create `~/gratitude/` as workspace ## File Structure ``` ~/gratitude/ ├── log/ │ └── 2024/ ├── patterns.md ├── favorites.md └── practice.md ``` ## Daily Entry ```markdown # log/2024/02/11.md ## Morning - Quiet coffee before everyone woke up - Good sleep last night ## Evening - Productive meeting, felt heard - Dinner with Sarah, good conversation - Warm house on cold day ``` ## Quick Capture User says "grateful for X" → log immediately with timestamp User says "gratitude" → prompt gently: - "What's one good thing from today?" - "Anything small that made you smile?" - "What went better than expected?" ## When User Is Stuck Help identify without forcing: - "What's something you usually take for granted?" - "Anyone who helped you recently?" - "Something your body did well today?" - "A small comfort you enjoyed?" Categories to explore: - People, relationships - Health, body - Home, comfort, safety - Work, progress, learning - Nature, beauty - Small pleasures ## Patterns & Insights ```markdown # patterns.md ## Frequent Themes - Morning quiet time (appears 60% of entries) - Conversations with close friends - Physical comfort (warmth, rest, food) ## People Mentioned Most - Sarah: 12 times - Mom: 8 times - Work team: 6 times ## Insights - You notice nature more on weekends - Productivity gratitude peaks midweek - Social connection is core theme ``` ## Favorites ```markdown # favorites.md Entries to revisit on hard days: - "Laughing until crying with Jake" — Feb 3 - "Mom's call when I needed it" — Jan 28 - "Finishing project I was proud of" — Jan 15 ``` ## Practice Preferences ```markdown # practice.md ## Frequency - Daily: morning, evening, or both - Prompt me: yes/no ## Style - Quick: 1-3 items - Reflective: with context/why ``` ## What To Surface - "You've logged 30 days straight" - "Sarah appears often — she matters to you" - "On hard days, you're still grateful for basics" - "Last month: 40% people, 30% small pleasures" ## Weekly/Monthly Reflection - Themes from the week - Who showed up in entries - What category was most present - One standout moment ## On Hard Days When user is struggling: - "Want to look at a favorite entry?" - "Even something tiny counts" - "What's one thing that didn't go wrong?" - Don't push — sometimes just listening ## What NOT To Do - Force positivity when they're hurting - Make it feel like homework - Judge entries as too small - Preach about gratitude benefits


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

# Clickup ClickUp MCP — wraps the ClickUp REST API v2 (BYO API key) ## clickup_list_tasks List all tasks in a ClickUp list. Returns task ID, name, status, priority, assignees, due date, and ## clickup_get_task Fetch full task details including name, description, status, priority, assignees, tags, and time tra ## clickup_create_task Create a new task in a ClickUp list. Provide list ID, task name, and optionally priority and assigne ## clickup_list_spaces List all spaces in your ClickUp workspace. Returns space ID, name, and status. ## clickup_list_folders List all folders in a ClickUp space. Provide space ID (e.g., "789"). Returns folder ID, name, and li ```json { "mcpServers": { "clickup": { "url": "https://gateway.pipeworx.io/clickup/mcp" } } } ```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: railgun9983/douyin-downloader-pro (version 1.0.0)

--- name: douyin-downloader description: 下载抖音视频或图集（图片）。当用户提供抖音 App 分享口令、v.douyin.com 短链、或 douyin.com 视频/图文页面 URL，并希望下载视频文件或图集中的所有图片时使用本 skill。支持自动识别图集 vs 视频；图集会把所有图片下载到一个以作品标题命名的目录中，可选打包为 zip。视频按原始（带水印）地址下载。 agent_created: true --- # 抖音视频/图集下载器（douyin-downloader） ## 适用场景（触发条件） 当用户的请求**同时满足**以下两点时使用本 skill： 1. 输入中包含以下任一形式的抖音内容标识： - 抖音 App 复制的分享口令文本（包含 `v.douyin.com/xxx/` 短链 + 一段口令） - `https://v.douyin.com/xxx/` 短链 - `https://www.douyin.com/video/<id>` 或 `https://www.douyin.com/note/<id>` 网页 URL - `https://www.iesdouyin.com/share/video|note/<id>/` 分享页 URL 2. 用户希望**下载/保存**视频或图集到本地（包含「下载」「保存」「拿到」「批量保存」「下载图片」等意图）。 ## 能力概述 - **视频**：解析 aweme_detail，下载默认 CDN 上的视频文件（**原始带水印**版本，命名为 `<标题>_<aweme_id>.mp4`）。 - **图集**：识别图集（note）类型作品，把所有图片下载到 `<标题>_<aweme_id>/` 目录（命名为 `01.jpg`、`02.jpg` …）。可选 `--zip` 参数将该目录打包为 `<标题>_<aweme_id>.zip`。 - **输入容错**：自动从分享口令文本里提取链接，跟随短链重定向取出 `aweme_id`。 - **接口降级**：依次尝试 `video` 和 `note` 两种 share 路径解析，避免类型判错导致空数据。 ## 用法 脚本路径：`scripts/douyin_dl.py`，依赖 Python 3 与 `requests`。 ```bash # 基本用法（视频或图集都用这一个命令） python3 scripts/douyin_dl.py "<分享文本或链接>" -o ./downloads # 图集自动打包成 zip python3 scripts/douyin_dl.py "<分享文本或链接>" -o ./downloads --zip # 短链 python3 scripts/douyin_dl.py "https://v.douyin.com/xxxxxx/" # 直接的 douyin.com 网页 URL python3 scripts/douyin_dl.py "https://www.douyin.com/note/7412345678901234567" # 抖音 App 复制的整段分享口令（带换行也可以，记得用引号包起来） python3 scripts/douyin_dl.py "7.99 复制打开抖音，看看【XXX的作品】https://v.douyin.com/abc123/" ``` 参数： | 参数 | 说明 | |------|------| | `input`（位置参数） | 必填。分享文本 / 短链 / 完整 URL，任选其一。 | | `-o, --output` | 输出目录，默认 `./downloads`。 | | `--zip` | 仅对图集有效：把图片目录打包为同名 zip 文件。 | ## 工作流（执行步骤） 1. 用 `Bash` 调用 `python3 scripts/douyin_dl.py "<input>" -o <dir>`。 2. 检查脚本输出：脚本以 `[douyin] ...` 前缀打印进度日志，结尾会汇报"完成，输出 N 个文件"或失败原因。 3. 失败时按以下顺序排查： - 提示"未识别到链接"：检查输入文本里是否真的包含 `v.douyin.com` 或 `douyin.com` 链接。 - 提示"解析失败"或返回空 detail：抖音可能对该 IP 有风控/需要登录，可让用户在浏览器登录后导出 cookie，再写进脚本里的 headers（脚本预留了 `EXTRA_HEADERS` 入口）。 - 视频可下载但图集报"未找到图片"：少数图集的 `images` 字段在另一个嵌套位置，脚本会自动递归查找；如仍失败，把整段 RENDER_DATA dump 出来人工定位字段。 ## 已知限制 - 抖音 web 接口经常变动；脚本依赖 `iesdouyin.com/share` 页面里的 `RENDER_DATA` JSON。如果某天该接口变更，需要更新解析逻辑。 - 不支持登录后才能查看的私密作品。 - 视频是 CDN 上的**原始带水印**版本（按用户需求保留水印）。 - 不支持从主页批量抓取所有作品（仅单作品下载）。 - 长视频（合集）只下载第一段对应的 `play_addr`。 ## 注意事项（合规） - 仅限下载用户**有权访问/有合法用途**的内容；不要用于规模化采集、商业再分发或侵犯创作者权益。 - 抖音 ToS 对自动化访问有限制；本脚本面向个人留存场景。


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: spyfree/bazi-analysis (version 1.0.2)

--- name: bazi-analysis description: Professional Bazi / Four Pillars consultation skill for birth date and time analysis. Use when the user wants a polished Bazi report with four pillars, day master, ten gods, hidden stems, five-element balance, luck cycles, yearly outlook, and practical consultation-style interpretation in markdown or JSON. --- # Bazi Analysis Generate a **structured Bazi report** from birth date, time, and gender. This skill works best when the user wants a report that feels both: - technically grounded in the chart facts - readable as a practical consultation summary ## Input - Birth date: `YYYY-MM-DD` - Birth time: `HH:MM` - Gender: `male/female/男/女` ## Recommended Command ```bash python skills/bazi-analysis/scripts/bazi_chart.py \ --date 1989-10-17 \ --time 12:00 \ --gender male \ --format markdown ``` ## Common Parameters - `--from-year 2026 --years 10`: generate yearly outlook sequence - `--sect 1|2`: switch school / calculation convention (`2` by default) - `--format markdown|json`: consultation report or structured output ## Deliverables A strong output should include: 1. Chart facts - 四柱 - 日主 - 十神 - 藏干 - 纳音 / 旬空 / 命宫 / 身宫 / 胎元（if supported by script version) 2. Five-element balance summary 3. Luck-cycle and yearly rhythm 4. Interpretation - strengths / pressure points - career / money / relationship / health themes - useful elements / avoid-overstating certainty 5. Timing caution notes for boundary cases ## Output Style Guardrails - Present **chart facts first**, interpretation second. - Use practical, consultation-style language rather than fatalistic wording. - If the birth time is near an hour boundary, recommend comparing adjacent charts. - Be explicit about which elements are exact chart facts vs later interpretation. ## Scope Boundary - Traditional metaphysical analysis only; not medical, legal, or investment advice. - Boundary-time and school differences should be disclosed when relevant. ## Reference - `references/notes.md`


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