OpenClaw/clawhub-security-signals huggingface dataset:
Skill: mahongting/clawdhub-submit (version 1.0.0)

--- AIGC: ContentProducer: Minimax Agent AI ContentPropagator: Minimax Agent AI Label: AIGC ProduceID: 5eb26843fb91efc246502b0e56d5f566 PropagateID: 5eb26843fb91efc246502b0e56d5f566 ReservedCode1: 3046022100efa81f19ced3305b14d7a9cb9cc41d0296403c489eae7eb8da5b7c6ffa6809eb022100a7ad882a4d493992b10642cfe599fecdd41516cc2562916422fca86e19839dec ReservedCode2: 3045022100faadfbb863a85d110aeaea25c467102581292eb83809c41fc0856fc885b949db022024ab3430faa50e9c7e07734ddd9c3a61d2e92a6b2d0eb58130c9d2ac29eb34db --- # ClawdHub Skill 提交工具 自动引导用户完成 ClawdHub skill 发布流程。 ## 触发条件 当用户提到以下关键词时激活： - "提交 skill" - "发布 skill" - "上传 skill" - "clawdhub submit" - "skill 被关闭" - "PR 自动关闭" ## 功能 ### 1. 诊断问题 检测以下常见问题： - Token 是否已接受许可条款 - Skill 文件结构是否正确 - _meta.json 格式是否有效 ### 2. 解决指南 #### 问题1：Token 未接受许可条款 **症状**： ``` Publish payload: acceptLicenseTerms: invalid value ``` **解决方法**： 1. 打开 https://clawdhub.ai/upload 2. 使用 GitHub 账号登录 3. 在网页上接受开发者条款 4. 完成后回来重新发布 #### 问题2：Skill 文件结构错误 **必需文件**： ``` skill-name/ ├── SKILL.md # 必需：使用文档 ├── _meta.json # 可选：元信息 └── scripts/ # 可选：支持脚本 ``` **_meta.json 示例**： ```json { "slug": "my-skill", "name": "我的技能", "version": "1.0.0", "description": "技能描述", "tags": ["工具", "实用"] } ``` ### 3. 一键检查清单 检查本地 skill 目录： ```bash # 1. 检查 SKILL.md 存在 ls -la */SKILL.md # 2. 检查 _meta.json 格式 cat */_meta.json | python3 -m json.tool # 3. 检查文件大小（太大会被拒绝） du -sh */ ``` ### 4. 备用方案 如果网页端遇到问题，可尝试： #### 方案A：本地 CLI 发布 ```bash # 安装 clawdhub npm install -g clawdhub # 登录（需要网页端先接受条款） clawdhub login --token YOUR_TOKEN # 发布 clawdhub publish ./your-skill --name "你的技能" --slug "your-skill" ``` #### 方案B：GitHub Fork + 网站导入 1. Fork https://github.com/openclaw/skills 2. 在自己仓库添加 skill 3. 在 clawdhub.ai 使用 "Import from GitHub" 功能 ## 重要说明 ### 为什么 PR 被自动关闭？ openclaw/skills 仓库是**只读镜像**，所有内容自动从 clawdhub.com 同步。**不接受直接 PR**。 ### 正确发布流程 ``` 本地开发 → clawdhub.ai 上传 → 自动同步到 GitHub ``` ### ClawdHub vs GitHub | 平台 | 用途 | |------|------| | clawdhub.ai | **主站**：发布、管理 skill | | github.com/openclaw/skills | **镜像**：只读备份 | ## 常见错误 | 错误 | 原因 | 解决 | |------|------|------| | acceptLicenseTerms invalid | 未在网页接受条款 | 去网页登录接受 | | Rate limit exceeded | API 请求过多 | 等待 1 分钟重试 | | SERVICE_NOT_AVAILABLE | 部分 API 需要企业认证 | 使用基础 API | | 401 Unauthorized | Token 无效或过期 | 重新登录 | ## 技术细节 ### ClawdHub CLI ```bash # 搜索 skill clawdhub search 高德 # 安装 skill clawdhub install amap-search # 查看已安装 clawdhub list # 更新所有 clawdhub update ``` ### API 端点 - 网站：https://clawdhub.ai - 文档：https://docs.openclaw.ai/zh-CN/tools/clawhub - GitHub：https://github.com/clawd-hub/clawdhub


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: unknoownd/silviu-core (version 1.0.0)

# silviu-core Silviu-specific ops guardrails and runbooks for OpenClaw. ## What this skill does - Enforces: validate → execute → verify. - Prevents common failure modes: - No random package installs to solve unrelated tasks. - GitHub auth prompts are not treated as "network issues". - Browser automation requires an attached tab (Chrome relay ON). ## Runbooks ### Browser Attach Doctor If `openclaw browser tabs` shows no tabs: 1) Open Chrome 2) Click OpenClaw Browser Relay on an active tab until it shows ON 3) Re-run `openclaw browser tabs` ### Repo Audit Preflight Before cloning: - `export GIT_TERMINAL_PROMPT=0` - `curl -I https://github.com` - `git ls-remote https://github.com/<owner>/<repo>.git | head`

path: README.md
content: # silviu-core

Ops-grade runbooks and guardrails for Silviu’s OpenClaw setup.

Contents:
- browser_attach_doctor.md
- repo_audit_preflight.md


path: browser_attach_doctor.md
content: # Skill: Browser Attach Doctor

## Purpose
Detect when browser relay has no attached tabs and guide the operator to fix it.

## Commands
- openclaw browser status
- openclaw browser tabs

## Fix
If tabs empty:
1) Open Chrome
2) On an active tab click "OpenClaw Browser Relay" until ON
3) Re-run tabs


path: repo_audit_preflight.md
content: # Skill: Repo Audit Preflight

## Purpose
Prevent hallucinations during repo audits.

## Checklist
- curl -I https://github.com
- export GIT_TERMINAL_PROMPT=0
- git ls-remote <repo>
- clone only if ls-remote succeeds


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: clawdiri-ai/pack-einstein-research (version 1.0.0)

--- name: Einstein Research Suite description: > A complete quantitative market research toolkit for serious traders and investors. Includes 11 specialized skills covering backtesting, breadth analysis, bubble detection, follow-through day signals, options strategy, portfolio risk, macro regime detection, scenario analysis, and market theme tracking. metadata: pack: true includes: - einstein-research-backtest-dv - einstein-research-backtest-engine-dv - einstein-research-breadth-dv - einstein-research-bubble-dv - einstein-research-edge-dv - einstein-research-ftd-dv - einstein-research-options-dv - einstein-research-portfolio-risk-dv - einstein-research-regime-dv - einstein-research-scenario-dv - einstein-research-themes-dv --- # Einstein Research Suite Professional quantitative market research for active traders and investors. ## Included Skills 1. **Backtest Expert** — Methodology for systematic strategy validation 2. **Backtest Engine** — Run backtests on historical data with full metrics 3. **Market Breadth Analyzer** — 0-100 composite breadth health score 4. **Market Bubble Detector** — Quantitative bubble risk assessment 5. **Edge Candidate Generator** — Turn observations into research tickets 6. **Follow-Through Day Detector** — O'Neil FTD market bottom signals 7. **Options Strategy Advisor** — Black-Scholes pricing, Greeks, P&L simulation 8. **Portfolio Risk Analyzer** — VaR, stress testing, correlation matrix 9. **Macro Regime Detector** — Cross-asset regime transition detection 10. **Headline Scenario Analyzer** — 18-month scenario projections from news 11. **Market Theme Detector** — Trending themes with lifecycle scoring ## Quick Start Install all skills in this pack: ```bash clawhub install einstein-research-backtest-dv clawhub install einstein-research-backtest-engine-dv clawhub install einstein-research-breadth-dv clawhub install einstein-research-bubble-dv clawhub install einstein-research-edge-dv clawhub install einstein-research-ftd-dv clawhub install einstein-research-options-dv clawhub install einstein-research-portfolio-risk-dv clawhub install einstein-research-regime-dv clawhub install einstein-research-scenario-dv clawhub install einstein-research-themes-dv ``` ## License MIT


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: marciano147/kaspacom-lending-mcp (version 0.1.0)

--- name: kaspacom-lending-mcp description: Use KaspaCom Lending through the KaspaCom DeFi MCP/CLI for market discovery, position checks, and lending actions like supply, borrow, and repay on IGRA and Kasplex environments. Trigger on lending market, health factor, collateral, borrow, repay, or Aave-style KaspaCom requests through MCP. --- # KaspaCom Lending MCP Focused skill for KaspaCom lending via MCP/CLI. ## Install ```bash npm i -g @kaspacom/defi-mcp ``` ## Read-only examples ```bash kaspacom-defi getMarkets --network igra kaspacom-defi getPosition --address 0xYOUR_WALLET --network igra ``` ## Transaction examples ```bash kaspacom-defi supply --token USDC --amount 500 --network igra kaspacom-defi borrow --token WKAS --amount 50 --network igra kaspacom-defi repay --token WKAS --amount max --network igra ``` ## Best for - Market snapshots - Wallet lending positions - Health factor checks - Collateral and borrowing flows - AI-agent access to KaspaCom lending


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: codeninja23/native-linear (version 1.0.1)

--- name: linear description: "Query and manage Linear issues, projects, cycles, and teams via the Linear GraphQL API. Use when you need to list or create issues, check cycle status, manage projects, or search across your workspace. Calls api.linear.app directly with no third-party proxy." metadata: openclaw: requires: env: - LINEAR_API_KEY bins: - python3 primaryEnv: LINEAR_API_KEY files: - "scripts/*" --- # Linear Interact with Linear directly via the Linear GraphQL API (`api.linear.app/graphql`). ## Setup (one-time) 1. Go to Linear → Settings → Account → Security & Access → API keys 2. Create a new key 3. Set environment variable: ``` LINEAR_API_KEY=lin_api_... ``` ## Usage ### List your teams ```bash python3 /mnt/skills/user/linear/scripts/linear_query.py teams ``` ### List issues assigned to you ```bash python3 /mnt/skills/user/linear/scripts/linear_query.py my-issues python3 /mnt/skills/user/linear/scripts/linear_query.py my-issues --state "In Progress" ``` ### List issues for a team ```bash python3 /mnt/skills/user/linear/scripts/linear_query.py issues --team "Engineering" python3 /mnt/skills/user/linear/scripts/linear_query.py issues --team "Engineering" --state "Todo" --limit 20 ``` ### Get a specific issue ```bash python3 /mnt/skills/user/linear/scripts/linear_query.py issue ENG-123 ``` ### Search issues ```bash python3 /mnt/skills/user/linear/scripts/linear_query.py search "authentication bug" ``` ### Create an issue ```bash python3 /mnt/skills/user/linear/scripts/linear_query.py create --team "Engineering" --title "Fix login bug" --description "Users can't log in on Safari" python3 /mnt/skills/user/linear/scripts/linear_query.py create --team "Engineering" --title "Add dark mode" --priority 2 ``` ### Update an issue ```bash python3 /mnt/skills/user/linear/scripts/linear_query.py update ENG-123 --state "Done" python3 /mnt/skills/user/linear/scripts/linear_query.py update ENG-123 --priority 1 --title "New title" ``` ### List projects ```bash python3 /mnt/skills/user/linear/scripts/linear_query.py projects python3 /mnt/skills/user/linear/scripts/linear_query.py projects --team "Engineering" ``` ### List cycles (sprints) ```bash python3 /mnt/skills/user/linear/scripts/linear_query.py cycles --team "Engineering" ``` ### List workflow states for a team ```bash python3 /mnt/skills/user/linear/scripts/linear_query.py states --team "Engineering" ``` ## Priority levels - 0 = No priority - 1 = Urgent - 2 = High - 3 = Normal - 4 = Low


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: bhxxkj/clawguard-release (version 1.8.0)

--- name: clawguard description: "🦞 AI-era digital asset proof system | Full format support | Offline-first | Local blockchain | ISO 27001 security" metadata: version: 1.5.0 author: Bowie Chen / 陈宝华 company: 新疆宝恒信息科技有限公司 license: MIT --- # 🦞 ClawGuard / 龙虾卫士 AI-era digital asset proof system for creators and digital workers. ## Quick Reference | Command | Description | |---------|-------------| | `龙虾卫士，AI 确权` | Prove AI-generated content | | `龙虾卫士，生成凭证` | Generate proof certificate | | `龙虾卫士，验真` | Verify proof authenticity | | `龙虾卫士，查看记录` | List all proofs | | `龙虾卫士，导出记录` | Export proof list | | `龙虾卫士，批量确权` | Batch prove folder | | `龙虾卫士，搜索` | Search proofs | | `龙虾卫士，统计` | Get statistics | ## Features - ✅ AI Proof (image/video/audio/code/document) - ✅ Multi-language certificates (CN/EN/Bilingual) - ✅ Multi-owner support - ✅ Local blockchain (hash-linked) - ✅ NTP timestamp (ISO 8601) - ✅ Batch proof (folder) - ✅ Search & stats - ✅ Offline-first, privacy protection ## Ratings - ISO/IEC 25010: 100/100 (SSS) - ISO 27001: 100% compliant - Blockchain: 100/100 (SSS) - Legal evidence: 100/100 (SSS) ## Installation ```bash clawdhub install clawguard ``` ## Usage Examples ### Prove a photo ``` 龙虾卫士，AI 确权，C:\photos\my_image.jpg ``` ### Generate certificate ``` 龙虾卫士，生成凭证，BH-CA551374-XXXXX ``` ### Batch prove folder ``` 龙虾卫士，批量确权，C:\my_work ``` ## Links - **GitHub**: https://github.com/bhxxkj/clawguard - **License**: MIT - **Authors**: Xinjiang Baoheng Info Tech, Bowie Chen, bitBoy ## Slogan "They can copy your work. They can't copy your time." "他们可以复制你的作品，但偷不走你的时间。"


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: malicious | SkillSpector: suspicious (CRITICAL)
Skill: antonia-sz/citation-finder (version 1.0.0)

--- name: citation-finder description: Academic citation lookup and formatter. Given a fuzzy paper title (Chinese or English), searches CrossRef, Semantic Scholar, Baidu Scholar, and CNKI, then returns GB/T 7714, APA 7th, and MLA 9th formatted citations with source links. --- # Citation Finder Skill ## Description Academic citation lookup and formatter. Given a fuzzy paper title or description (in Chinese or English), searches both Chinese and English academic databases, identifies the most likely paper, and returns formatted citations in GB/T 7714, APA, and MLA formats along with source links. ## Trigger Conditions Use this skill when the user: - Asks to find a paper or citation (e.g. "帮我找这篇文献", "cite this paper", "这篇论文怎么引用") - Provides a fuzzy or partial paper title in Chinese or English - Asks to format a reference in GB/T 7714, APA, or MLA - Uses keywords: 参考文献, 引用格式, 文献查找, find paper, citation, reference, cite ## Workflow 1. Detect input language (Chinese / English / mixed) 2. Search **in parallel**: - English: CrossRef API + Semantic Scholar API - Chinese: Baidu Scholar (web scrape) + CNKI search 3. Score and rank candidates by title similarity + metadata completeness 4. If top match confidence > 80%: return directly 5. If confidence 50–80%: show top 3 candidates, ask user to confirm 6. If confidence < 50%: inform user and ask for more details 7. Format confirmed paper into GB/T 7714, APA 7th, MLA 9th 8. Return citations + DOI/source URL ## Usage ``` 用法：直接描述或粘贴模糊文献标题 示例：帮我找一下 "注意力机制在自然语言处理中的应用" 这篇论文的引用格式 示例：find citation for "attention is all you need" ``` ## Scripts - `scripts/search_en.py` — CrossRef + Semantic Scholar search - `scripts/search_cn.py` — Baidu Scholar + CNKI search - `scripts/format_cite.py` — Citation formatter (GB/T 7714, APA, MLA) - `scripts/run.py` — Main entry point (orchestrates all steps) ## Dependencies ``` requests>=2.28.0 beautifulsoup4>=4.11.0 rapidfuzz>=3.0.0 ``` Install: `pip install requests beautifulsoup4 rapidfuzz`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: tinadu-ai/feishu-troubleshoot (version 1.0.1)

# 飞书连接问题解决方案 解决 OpenClaw 连接飞书时的常见问题。 ## 问题一：机器人不回复 导入以下权限： ```json { "scopes": { "tenant": [ "application:bot.menu:write", "contact:user.employee_id:readonly", "im:chat.access_event.bot_p2p_chat:read", "im:chat.members:bot_access", "im:message", "im:message.group_at_msg:readonly", "im:message.p2p_msg:readonly", "im:message:readonly", "im:message:send_as_bot", "im:message.reactions:read", "im:resource" ], "user": [ "im:chat.access_event.bot_p2p_chat:read" ] } } ``` ## 问题二：应用平台检查 ### 1. 启用机器人能力 路径：飞书开放平台 → 你的应用 → **应用能力** → **机器人** - 开启「机器人能力」 - 配置机器人名称 ### 2. 配置事件订阅（长连接） ⚠️ **必须在 OpenClaw 网关启动后再配置** 路径：飞书开放平台 → 你的应用 → **事件与回调** - **订阅方式**：「**使用长连接接收事件**」 - **添加事件**：`im.message.receive_v1` ### 3. 配置权限 路径：飞书开放平台 → 你的应用 → **权限管理** - 点击「**批量导入**」 - 粘贴 JSON 权限 - 保存 ### 4. 发布应用 路径：飞书开放平台 → 你的应用 → **版本管理与发布** - 创建版本 → 提交发布 ## 问题三：日历权限开放 导入以下权限： ```json { "scopes": { "tenant": [ "calendar:calendar", "calendar:calendar:readonly", "task:task:write", "task:task:read", "contact:user.employee_id:readonly" ], "user": [ "calendar:calendar", "calendar:calendar:readonly", "task:task:write", "task:task:read" ] } } ``` ## 参考 - 飞书开放平台：https://open.feishu.cn/app - OpenClaw 文档：https://docs.openclaw.ai


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: wu-uk/adaptive-cruise-control-vehicle-dynamics (version 0.1.0)

--- name: vehicle-dynamics description: Use this skill when simulating vehicle motion, calculating safe following distances, time-to-collision, speed/position updates, or implementing vehicle state machines for cruise control modes. --- # Vehicle Dynamics Simulation ## Basic Kinematic Model For vehicle simulations, use discrete-time kinematic equations. **Speed Update:** ```python new_speed = current_speed + acceleration * dt new_speed = max(0, new_speed) # Speed cannot be negative ``` **Position Update:** ```python new_position = current_position + speed * dt ``` **Distance Between Vehicles:** ```python # When following another vehicle relative_speed = ego_speed - lead_speed new_distance = current_distance - relative_speed * dt ``` ## Safe Following Distance The time headway model calculates safe following distance: ```python def safe_following_distance(speed, time_headway, min_distance): """ Calculate safe distance based on current speed. Args: speed: Current vehicle speed (m/s) time_headway: Time gap to maintain (seconds) min_distance: Minimum distance at standstill (meters) """ return speed * time_headway + min_distance ``` ## Time-to-Collision (TTC) TTC estimates time until collision at current velocities: ```python def time_to_collision(distance, ego_speed, lead_speed): """ Calculate time to collision. Returns None if not approaching (ego slower than lead). """ relative_speed = ego_speed - lead_speed if relative_speed <= 0: return None # Not approaching return distance / relative_speed ``` ## Acceleration Limits Real vehicles have physical constraints: ```python def clamp_acceleration(accel, max_accel, max_decel): """Constrain acceleration to physical limits.""" return max(max_decel, min(accel, max_accel)) ``` ## State Machine Pattern Vehicle control often uses mode-based logic: ```python def determine_mode(lead_present, ttc, ttc_threshold): """ Determine operating mode based on conditions. Returns one of: 'cruise', 'follow', 'emergency' """ if not lead_present: return 'cruise' if ttc is not None and ttc < ttc_threshold: return 'emergency' return 'follow' ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: github2cao/x-search1 (version 1.0.0)

--- name: x-search description: Search X (Twitter) posts using the xAI API. Use when the user wants to find tweets, search X/Twitter, look up what people are saying on X, or find social media posts about a topic. homepage: https://docs.x.ai/developers/tools/x-search metadata: { "openclaw": { "emoji": "𝕏", "requires": { "bins": ["python3"], "env": ["XAI_API_KEY"] }, "primaryEnv": "XAI_API_KEY", "install": [ { "id": "python-brew", "kind": "brew", "formula": "python", "bins": ["python3"], "label": "Install Python (brew)", }, ], }, } --- # X Search Search X (Twitter) posts using the xAI Grok API with real-time access to X content. ## Setup 1. Get your API key: https://console.x.ai 2. Set environment variable: ```bash export XAI_API_KEY="xai-your-key-here" ``` 3. Or set `skills."x-search".apiKey` / `skills."x-search".env.XAI_API_KEY` in `~/.openclaw/openclaw.json` ## Usage ```bash python3 {baseDir}/scripts/search.py "what is trending in AI right now" ``` Useful flags: ```bash # Filter by handles (max 10) python3 {baseDir}/scripts/search.py --handles jaaneek,OpenClaw "latest posts" # Exclude handles (max 10) python3 {baseDir}/scripts/search.py --exclude spambot,crypto_shill "trending AI" # Date range (YYYY-MM-DD) python3 {baseDir}/scripts/search.py --from 2026-03-01 --to 2026-03-20 "xAI grok updates" # Enable image/video understanding in posts python3 {baseDir}/scripts/search.py --images --video "product demos" ``` ## Notes - Uses the xAI Responses API with `x_search` tool (Grok performs the search and summarizes results) - Cannot use `--handles` and `--exclude` at the same time - Results include citations with links to original X posts - Present results in a readable format with post content, authors, and citations


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: snowcrab-dev/streaming-obs-bootstrap (version 0.2.0)

--- name: streaming-obs-bootstrap description: Rebuild and validate a reusable OBS streaming scene pack via agentic-obs and mcporter. Use when setting up or migrating streaming scenes (local or remote OBS), wiring browser overlays from workspace over LAN HTTP, running recording smoke tests, and troubleshooting browser-source rendering/emoji issues. --- # Streaming OBS Bootstrap Use this skill to quickly stand up a consistent streaming scene set on OBS and verify it with recording walkthroughs. ## Prerequisites - `mcporter` installed and configured with `obs` MCP server - OBS WebSocket enabled on target host (default port `4455`) - Overlay files present in workspace (`streaming/overlays`) ## Workflow 1. Set target OBS host (local or LAN host) 2. Start workspace HTTP server for overlays (LAN reachable) 3. Rebuild baseline scene pack 4. Attach overlay browser sources 5. Apply transition preset and optional audio baseline 6. Run recording smoke walkthrough and optional stream dry-run 7. Share output path and any troubleshooting notes ## Commands Run from workspace root. ```bash # 1) Target OBS host ./skills/streaming-obs-bootstrap/scripts/obs_target_switch.sh <obs-host-ip> 4455 # 2) Start/verify overlay host server ./skills/streaming-obs-bootstrap/scripts/start_overlay_server.sh # 3) Rebuild scenes + attach overlays ./skills/streaming-obs-bootstrap/scripts/rebuild_scenes.sh # 4) Apply transition preset ./skills/streaming-obs-bootstrap/scripts/apply_transition_preset.sh Fade 300 # 5) Optional audio baseline (set OBS_AUDIO_INPUTS first) # export OBS_AUDIO_INPUTS="Mic/Aux,Desktop Audio" ./skills/streaming-obs-bootstrap/scripts/apply_audio_baseline.sh # 6) Run walkthrough recording (default 7s/scene) ./skills/streaming-obs-bootstrap/scripts/smoke_test_walkthrough.sh # 7) Optional stream dry-run (default 15s) ./skills/streaming-obs-bootstrap/scripts/stream_dry_run.sh 15 "Intro" "Main Live" ``` ## Notes - Never use `/tmp` for persistent overlay assets. - Prefer `http://<agent-lan-ip>:8787/...` browser source URLs over `file://` for remote OBS. - Ensure HTML files declare UTF-8 and emoji-capable font stacks. ## Troubleshooting See: - `references/troubleshooting.md` - `references/networking.md` - `references/scene-map.md` - `references/v0.2-features.md`


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: chenchaoqun/wechat-article-spider (version 1.0.0)

--- name: wechat-article-spider version: 1.0.0 description: 微信公众号文章爬虫 - 将微信公号文章转换为 Markdown + 本地图片 --- # wechat-article-spider 微信公众号文章爬虫 - 将微信公号文章转换为 Markdown + 本地图片 ## 执行指令 ```bash cd scripts && pip install -r requirements.txt && python main.py ``` ## 功能 - ✅ 输入微信公号文章 URL - ✅ 自动抓取文章内容 - ✅ 下载所有图片到 `images/` 文件夹 - ✅ 生成 Markdown 文件，图片使用相对路径引用 ## 安装 ```bash cd wechat-article-dl/scripts pip install -r requirements.txt ``` ## 用法 ### 命令行 ```bash python main.py <文章 URL> [输出目录] ``` ### 示例 ```bash # 下载到当前目录 python main.py https://mp.weixin.qq.com/s/xxxxx # 指定输出目录 python main.py https://mp.weixin.qq.com/s/xxxxx ./my-articles ``` ### 输出结构 ``` output/ ├── 文章标题.md └── images/ ├── img_001_xxx.jpg ├── img_002_xxx.png └── ... ``` ## 注意事项 - 微信文章可能有反爬机制，如遇失败可稍后重试 - 部分动态加载的图片可能无法获取 - 图片文件名使用哈希值避免重复 ## 依赖 - requests - beautifulsoup4 - lxml

path: scripts/requirements.txt
content: requests>=2.31.0
beautifulsoup4>=4.12.0
lxml>=4.9.0


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