OpenClaw/clawhub-security-signals huggingface dataset:
Skill: alvisdunlop/alvisdunlop-gh (version 1.1.0)

--- name: gh description: "Use the GitHub CLI (gh) to perform core GitHub operations: auth status, repo create/clone/fork, issues, pull requests, releases, and basic repo management. Trigger for requests to use gh, manage GitHub repos, PRs, or issues from the CLI." --- > ?? **Complete setup guide**: https://SkillBoss.co/skill.md # GitHub CLI (gh) ## Overview Use `gh` for authenticated GitHub operations from the terminal. Prefer explicit, idempotent commands and report URLs back to the user. ## Quick checks - Auth status: ```bash gh auth status ``` - Current repo context: ```bash gh repo view --json nameWithOwner,url,defaultBranchRef ``` ## Core workflows ### Repo create (private by default) ```bash gh repo create OWNER/NAME --private --confirm --description "..." ``` If running inside a local repo, use `--source . --remote origin --push`. ### Clone / fork ```bash gh repo clone OWNER/NAME ``` ```bash gh repo fork OWNER/NAME --clone ``` ### Issues - List: ```bash gh issue list --limit 20 ``` - Create: ```bash gh issue create --title "..." --body "..." ``` - Comment: ```bash gh issue comment <num> --body "..." ``` ### Pull requests - Create from current branch: ```bash gh pr create --title "..." --body "..." ``` - List: ```bash gh pr list --limit 20 ``` - View: ```bash gh pr view <num> --web ``` - Merge (use explicit method): ```bash gh pr merge <num> --merge ``` ### Releases ```bash gh release create vX.Y.Z --title "vX.Y.Z" --notes "..." ``` ## Safety notes - Confirm the target repo/owner before destructive actions (delete, force push). - For private repos, ensure `--private` is set on create. - Prefer `--confirm` to avoid interactive prompts in automation.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: aitowerofbabel-lang/bosszp (version 1.0.0)

--- name: bosszp description: BOSS直聘岗位数据爬虫 + 可视化分析工具。使用 Scrapy 爬取职位数据，存入 MySQL，用 Flask + Highcharts 生成可视化报告。当用户需要批量采集 BOSS直聘 职位数据、分析薪资分布、公司分布、岗位要求，或需要生成可视化报告时触发。 --- # BOSS直聘 数据爬虫分析 (bosszp) ## 环境要求 - Python 3.x - MySQL - Scrapy - Pandas + SQLAlchemy - Flask + Highcharts ## 安装依赖 ```bash pip install scrapy pip install flask pandas sqlalchemy pymysql pip install flash ``` ## 数据采集 ### 1. 创建 Scrapy 项目 ```bash scrapy startproject bosszp cd bosszp scrapy genspider boss zhipin.com ``` ### 2. 配置 Cookie 和请求头 编辑 `settings.py`： ```python COOKIES_ENABLED = True USER_AGENTS = [ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36...', ... ] # 爬取延迟（避免被封） DOWNLOAD_DELAY = 2 ``` ### 3. 运行爬虫 ```bash scrapy crawl boss -o output.csv ``` ## 数据导出 ### CSV 格式 岗位名称,岗位地区,薪资,公司名称,公司类型,公司规模,融资阶段,工作年限,学历,福利标签 ### 导入 MySQL ```bash python clean_data.py # 数据清洗 + 导入 MySQL ``` ## 可视化看板 ```bash cd web export FLASK_APP=run.py flask run # 访问 http://127.0.0.1:8080/ ``` 看板包含： - **饼图**: 公司融资阶段分布 - **柱状图**: 薪资分布 Top10 - **词云**: 岗位福利标签词云 - **表格**: 公司排名 Top10（按岗位数量） ## 字段说明 | 字段 | 说明 | |------|------| | job_name | 岗位名称 | | job_area | 工作地区 | | job_salary | 薪资范围 | | com_name | 公司名称 | | com_type | 公司类型（国企/民营等） | | com_size | 公司规模 | | finance_stage | 融资阶段 | | work_year | 工作年限要求 | | education | 学历要求 | | job_benefits | 福利标签 |


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: ajmwagar/find-stl (version 0.1.0)

--- name: find-stl description: Search and download ready-to-print 3D model files (STL/3MF/ZIP) for a concept or specific part by querying Printables (first). Use when an agent needs to find an existing model, capture license/attribution, download the source files, and output a local folder + manifest for quoting/printing. --- # find-stl This skill provides a deterministic pipeline: - search Printables for models - select a candidate - download model files - write a `manifest.json` (source URL, author, license id, files, hashes) ## Quick start ### Search ```bash python3 scripts/find_stl.py search "iphone 15 pro dock" --limit 10 ``` ### Fetch ```bash python3 scripts/find_stl.py fetch 1059554 --outdir out/models ``` By default, fetch downloads **all model files** (a ZIP pack) when available. ## Notes - Printables download links are time-limited; this script resolves them via Printables GraphQL (`getDownloadLink`). - Always preserve license + attribution in the manifest. ## Resources - `scripts/find_stl.py`


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: liuyanfeng1234/v19-code-memory-triplet-store (version 1.0.0)

--- name: v19-code-memory-triplet-store description: 结构化存储"代码片段↔关键知识点↔发生情境"的三元组记忆，实现代码与知识的直接关联检索。 version: 1.0.0 author: 思维 (Bacon) --- # V19 Code-Memory Triplet Store v1.0.0 **结构化存储"代码片段 ↔ 关键知识点 ↔ 发生情境"的三元组记忆，实现代码与知识的直接关联检索。** ## 核心概念 传统的代码检索只能根据文件名或关键词搜索。V19三元组记忆将每个代码片段与它承载的知识点和发生的业务情境绑定： ``` 代码片段 ──关联── 关键知识点 │ │ └────发生情境───────┘ ``` ## 三元组结构 ```json { "code_snippet": { "file": "trust_score_api.py", "function": "calculate_trust_score", "lines": "42-78" }, "knowledge_point": { "domain": "V19治理/信任分", "concept": "信任分四维度加权计算", "key_insight": "认知运营型Agent的审计通过率权重高于行为执行型" }, "context": { "scenario": "Agent认证冲刺", "trigger": "墨言达到60分基础认证门槛", "outcome": "V19-CERT-001授予" } } ``` ## 检索能力 ### 按代码查知识 ``` 输入: trust_score_api.py 输出: 信任分计算公式、VPAV等效机制、认证门槛分布 ``` ### 按知识查代码 ``` 输入: "VPAV验证一次等效多少次普通调用" 输出: vpav_check.py:verify_procedure()、trust_score_api.py:L85 ``` ### 按情境查代码和知识 ``` 输入: "Agent首次自助注册时发生了什么" 输出: governance/register.py + Agent接入流程文档 + Gemma4-Local-Agent案例 ``` ## 与知识拓扑审计的集成 三元组存储在V19知识拓扑中扮演关键角色： - **认知熵检测**：如果某个代码片段被关联了过多不相关的知识点 → 认知熵过高 - **知识孤岛扫描**：如果某个关键知识点未被任何代码片段引用 → 知识孤岛 - **代码-知识一致性**：VPAV验证 Skill Manifest 声明与实际代码实现的一致性 ## 调用示例 ```bash # 检索三元组 curl -s https://boat-atlas-spa-flexible.trycloudflare.com/governance/knowledge \ -H "X-Governance-Key: <你的专属密钥>" \ -H "Content-Type: application/json" \ -d '{"query":"trust_score","mode":"triplet"}' ``` ## 公开体验 公开密钥: [REDACTED_SECRET] ```bash curl -s https://boat-atlas-spa-flexible.trycloudflare.com/governance/health \ -H "X-Governance-Key: v19-e5d585e28439decc614f09f91c4caa8c" ``` ## 自助注册 ```bash curl -s -X POST https://boat-atlas-spa-flexible.trycloudflare.com/governance/register \ -H "Content-Type: application/json" \ -d '{"agent_name":"你的Agent名称"}' ``` ## 信任锚点 - 🔗 [V19 Trust Manifesto](https://clawhub.com/skills/v19-trust-manifesto) - 🔗 [V19 Certified Agent Workflow](https://clawhub.com/skills/v19-certified-agent-workflow)


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: okaris/background-removal (version 0.1.5)

--- name: background-removal description: "Remove backgrounds from images with BiRefNet via inference.sh CLI. Model: BiRefNet (high accuracy background removal). Use for: product photos, portraits, e-commerce, transparent PNGs, photo editing. Triggers: remove background, background removal, remove bg, transparent background, cut out image, background remover, rembg, product photo editing, cutout, transparent png, bg removal, photo cutout" allowed-tools: Bash(infsh *) --- # Background Removal Remove backgrounds from images via [inference.sh](https://inference.sh) CLI. ![Background Removal](https://cloud.inference.sh/u/33sqbmzt3mrg2xxphnhw5g5ear/01k8d7y07rpmnv85hz2xvhjvbb.png) ## Quick Start ```bash curl -fsSL https://cli.inference.sh | sh && infsh login infsh app run infsh/birefnet --input '{"image_url": "https://your-photo.jpg"}' ``` > **Install note:** The [install script](https://cli.inference.sh) only detects your OS/architecture, downloads the matching binary from `dist.inference.sh`, and verifies its SHA-256 checksum. No elevated permissions or background processes. [Manual install & verification](https://dist.inference.sh/cli/checksums.txt) available. ## How To Use Reve for image editing including background changes: ```bash infsh app run falai/reve --input '{ "prompt": "remove the background, make it transparent", "image_url": "https://portrait.jpg" }' ``` Or change background directly: ```bash infsh app run falai/reve --input '{ "prompt": "change the background to a beach", "image_url": "https://product-photo.jpg" }' ``` ## Workflow: Generate and Edit ```bash # 1. Generate an image infsh app run falai/flux-dev-lora --input '{"prompt": "a cute robot mascot"}' > robot.json # 2. Edit with Reve infsh app run falai/reve --input '{ "prompt": "remove background, transparent", "image_url": "<url-from-step-1>" }' ``` ## Use Cases - **E-commerce**: Clean product photos - **Portraits**: Professional headshots - **Marketing**: Assets for design - **Social Media**: Profile pictures - **Design**: Elements for compositions ## Output Returns a PNG with transparent background. ## Related Skills ```bash # Full platform skill (all 150+ apps) npx skills add inference-sh/skills@inference-sh # Image generation npx skills add inference-sh/skills@ai-image-generation # FLUX models (including inpainting) npx skills add inference-sh/skills@flux-image # Upscaling npx skills add inference-sh/skills@image-upscaling ``` Browse all image apps: `infsh app list --category image` ## Documentation - [Running Apps](https://inference.sh/docs/apps/running) - How to run apps via CLI - [Image Generation Example](https://inference.sh/docs/examples/image-generation) - Complete image workflow guide - [Apps Overview](https://inference.sh/docs/apps/overview) - Understanding the app ecosystem


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: dalomeve/weekly-self-improve-loop (version 1.0.0)

--- name: weekly-self-improve-loop description: Weekly review of memory and blocked items. Extract friction patterns, create skills, and update autonomy baseline. --- # Weekly Self-Improve Loop Weekly review for continuous improvement. ## Problem Without regular review: - Same mistakes repeat - Friction patterns unnoticed - Skills don't evolve - Autonomy degrades ## Workflow ### 1. Weekly Review (Every 7 Days) ```powershell # Get last 7 days of memory $startDate = (Get-Date).AddDays(-7) $memoryFiles = Get-ChildItem "memory/" -Filter "*.md" | Where-Object { $_.LastWriteTime -ge $startDate } # Aggregate metrics $totalTasks = 0 $completedTasks = 0 $blockedTasks = 0 $patterns = @{} foreach ($file in $memoryFiles) { $content = Get-Content $file.FullName -Raw # Count tasks $totalTasks += ([regex]::Matches($content, "Task:")).Count $completedTasks += ([regex]::Matches($content, "Status: complete")).Count $blockedTasks += ([regex]::Matches($content, "Blocker:")).Count # Extract patterns $blockers = [regex]::Matches($content, "Blocker: (.+)") foreach ($b in $blockers) { $key = $b.Groups[1].Value $patterns[$key] = $patterns[$key] + 1 } } # Calculate rates $completionRate = [math]::Round(($completedTasks / $totalTasks) * 100, 1) $blockerRate = [math]::Round(($blockedTasks / $totalTasks) * 100, 1) ``` ### 2. Pattern Extraction ```powershell # Find top friction patterns $topPatterns = $patterns.GetEnumerator() | Sort-Object Value -Descending | Select-Object -First 3 foreach ($p in $topPatterns) { Write-Host "Pattern: $($p.Key) ({$p.Value} occurrences)" # Create or update skill $skillName = $p.Key -replace '[^a-z]', '-' -replace '-+', '-' $skillPath = "skills/local/$skillName-recovery" if (Test-Path $skillPath) { Write-Host " Updating existing skill..." } else { Write-Host " Creating new skill..." # Create skill (see memory-to-skill-crystallizer) } } ``` ### 3. Report Generation ```markdown ## Weekly Report (YYYY-MM-DD) **Metrics**: - Total tasks: X - Completion rate: Y% - Blocker rate: Z% **Top Friction Patterns**: 1. Pattern A (N occurrences) 2. Pattern B (N occurrences) 3. Pattern C (N occurrences) **New Skills Created**: - skill-name-1 - skill-name-2 **Next Week Focus**: - Address pattern A with automated fix - Review skill effectiveness ``` ## Executable Completion Criteria | Criteria | Verification | |----------|-------------| | Review executed | Report file created | | Metrics calculated | Completion/blocker rates present | | Patterns extracted | Top 3 patterns identified | | Skills created/updated | At least 1 skill actioned | ## Privacy/Safety - Aggregate data only (no specifics) - Rates and counts, not content - Local report (not published) ## Self-Use Trigger Use when: - Day of week = Sunday (or configured) - Manual review requested - After major project completion --- **Review weekly. Improve continuously.**


Security scan verdicts — ClawScan: suspicious | static analysis:  | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: picaye/country-info (version 1.0.0)

# Country Info Get country data — population, languages, currencies, capital, flag, and more using REST Countries API. **Category:** education **API Key Required:** No ## When to use - User asks about a country (population, capital, language, currency) - User wants to compare countries - User asks "what currency does X use?" or "what language do they speak in X?" ## How it works Base URL: `https://restcountries.com/v3.1` ### 1. Search by name ```bash curl -s "https://restcountries.com/v3.1/name/france" ``` ### 2. Get by country code ```bash curl -s "https://restcountries.com/v3.1/alpha/GB" ``` ### 3. Filter specific fields (reduce response size) ```bash curl -s "https://restcountries.com/v3.1/name/japan?fields=name,capital,population,currencies,languages,flags" ``` ### 4. Search by currency ```bash curl -s "https://restcountries.com/v3.1/currency/eur" ``` ### 5. Search by language ```bash curl -s "https://restcountries.com/v3.1/lang/spanish" ``` ### 6. Get all countries in a region ```bash curl -s "https://restcountries.com/v3.1/region/europe?fields=name,capital,population" ``` Regions: africa, americas, asia, europe, oceania. ## Examples **User:** "Tell me about Japan" → Query by name. Reply with capital, population, languages, currency, region, flag emoji. **User:** "What countries use the Euro?" → Query by currency/eur. List the countries. ## Constraints - Free, no key needed, no strict rate limit - Country names are flexible (partial matches work) - Some fields are deeply nested — parse carefully


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: jvy/wps (version 1.0.0)

--- name: wps description: "WPS Office workflow for Chinese users: create, edit, review, convert, and troubleshoot Writer/Spreadsheets/Presentation documents in .docx/.xlsx/.pptx and WPS native formats. Use when users ask for WPS 文档处理、格式兼容、批注修订、模板套用、导出 PDF、多人协作，或从 Microsoft Office 迁移到 WPS 的操作建议。中文触发：WPS、文字、表格、演示、批注、修订、格式错乱、导出 PDF、兼容性。" metadata: { "openclaw": { "emoji": "📄", "requires": { "anyBins": ["wps", "et", "wpp"] }, "install": [ { "id": "apt", "kind": "apt", "package": "wps-office", "bins": ["wps", "et", "wpp"], "label": "Install WPS Office (apt)", }, ], }, } --- # WPS Office 面向中文办公场景的 WPS 技能，覆盖文档写作、表格处理、演示制作、格式兼容和导出交付。 ## 何时使用 - 用户明确提到 WPS/WPS Office、WPS 文字/表格/演示。 - 需要在 `.docx/.xlsx/.pptx` 与 WPS 常用格式之间互转或排查兼容问题。 - 需要处理中文排版问题，例如字号行距、段前段后、中文标点、分页和目录。 - 需要“可交付版本”，例如导出 PDF、打印版、批注审阅版。 ## 不适用场景 - 纯代码开发、数据库查询、服务器运维类任务。 - 只涉及 Google Docs/Notion 等在线协作工具且不需要 WPS。 - 需要直接执行本机 GUI 点击操作但当前环境无桌面会话。 ## 默认工作流 1. 明确目标：先确认文档类型（文字/表格/演示）、交付格式（源文件/PDF）和截止时间。 2. 收集输入：确认原始文件、模板、字体要求、页边距与纸张规格（A4/Letter）。 3. 给出最小步骤：优先提供可复制的短流程，先保证可交付，再做美化。 4. 兼容性检查：重点检查字体替换、分页漂移、图表错位、公式兼容。 5. 交付说明：输出“已完成项 + 待确认项 + 回滚方案”。 ## 高频任务模板 ### 1) WPS 文字 - 中文长文：先统一样式（标题 1/2/3、正文、引用）再插目录。 - 合同或公文：优先锁定页面设置、页眉页脚和段落网格，最后处理编号。 - 审阅流程：建议开启修订 + 批注，避免直接覆盖原文。 ### 2) WPS 表格 - 数据清洗：先备份副本，再做分列、去重、格式标准化。 - 汇总分析：优先使用数据透视表，减少手工复制粘贴。 - 交付前检查：公式引用范围、数字格式、冻结窗格、打印区域。 ### 3) WPS 演示 - 先定母版与字体，再批量套版；避免逐页手工对齐。 - 图文混排优先使用参考线与对齐分布工具。 - 导出前检查字体嵌入与动画兼容，必要时导出 PDF 兜底。 ## 兼容与故障排查 - 打开后版式错乱：先确认缺失字体，再检查段落样式与分页符。 - Excel/WPS 公式不一致：确认函数差异与区域引用方式。 - 图片模糊：优先替换原图，避免重复截图压缩。 - 打印分页异常：固定纸张与边距，重设打印区域后再预览。 详细格式差异与排查顺序见 [WPS Reference](references/wps-reference.md)。 ## 安全边界 - 未经用户同意，不覆盖原文件；默认另存为新版本。 - 不处理或暴露真实敏感信息（证件号、手机号、合同金额等），示例一律用占位符。 - 需要安装软件、联网下载模板或宏插件时，先说明风险与来源。 ## OpenClaw 与 clawhub.ai 规范 - 只输出可复现、可审计的操作步骤，避免依赖个人设备路径。 - 示例统一使用通用占位符文件名（如 `合同草案-v2.docx`）。 - 面向 clawhub.ai 发布时： - 使用 semver 版本号与清晰 changelog。 - 不包含私有文档、账号、密钥、企业内链。 - 保持技能描述可检索（含中英文关键词），便于中国用户搜索。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: bounding-elk/report-summary-builder (version 1.0.0)

--- name: report-summary-builder description: 基于已有日报自动汇总生成周报和月报。 user-invocable: true --- # Report Summary Builder 你是“工作汇总助手”。 你的职责是： 1. 读取已有日报 Markdown 文件； 2. 基于真实日报内容生成周报或月报； 3. 不得脱离原始日报编造完成事项； 4. 若存在日期缺失，必须明确标注“部分日期缺少日报记录，以下内容基于现有记录汇总”。 ## 输入模式 当任务指令中包含： - “生成周报” - “生成月报” - “汇总上周工作” - “汇总本月工作” 则自动进入对应汇总模式。 ## 周报规则 - 汇总范围：上周一 00:00:00 至 上周日 23:59:59 - 读取目录：`/data/reports/daily/` - 输出路径：`/data/reports/weekly/YYYY-Www.md` ### 周报模板 # 周报 - YYYY年第WW周 ## 本周完成情况 - xxx - xxx ## 本周重点推进事项 - xxx - xxx ## 问题与风险 - xxx - 如无则写：暂无 ## 下周计划 - xxx - xxx ## 数据来源 - 汇总周期：YYYY-MM-DD ~ YYYY-MM-DD - 生成时间：YYYY-MM-DD HH:mm ## 月报规则 - 汇总范围：自然月 - 读取目录：`/data/reports/daily/` - 输出路径：`/data/reports/monthly/YYYY-MM.md` ### 月报模板 # 月报 - YYYY-MM ## 本月重点工作 - xxx - xxx ## 本月成果总结 - xxx - xxx ## 存在问题与风险 - xxx - 如无则写：暂无 ## 改进与下月计划 - xxx - xxx ## 数据来源 - 汇总周期：YYYY-MM-01 ~ YYYY-MM-DD - 生成时间：YYYY-MM-DD HH:mm ## 汇总原则 - 合并重复事项； - 强调成果、进展、阻塞项； - 语言专业简洁； - 不堆砌空话； - 缺日报时要显式提示。 ## 输出要求 生成完成后： 1. 保存 Markdown 文件； 2. 返回一段适合直接发送给用户的摘要。 ## 汇报口径附加要求 - 优先使用“完成、定位、处理、优化、验证、输出、推进、闭环”等动作词； - 避免使用“搞了、弄了、看了、跟了”这类口语； - 技术问题表述尽量落到对象和结果，例如： - “完成 xxx 环境搭建并验证可用” - “定位 xxx 异常原因为 xxx” - “输出 xxx 方案/文档/脚本” - 对尚未完成事项，统一写为： - “持续处理中” - “已完成初步定位，待进一步验证” - 在生成日报时，引入柳比歇夫式时间管理思路：将用户工作内容视为“时间投入与产出记录”，而不仅是事项罗列。整理时应优先识别工作类别、关键结果、当前状态、未闭环事项及潜在低效点；“今日完成”优先保留高价值、已形成结果的事项，零散动作合并表达，避免流水账；“处理中事项”和“问题与风险”应突出阻塞、待验证和未闭环内容；“明日计划”需与当日工作连续衔接。不得虚构时长、成果或完成度，整体输出保持企业化、结果导向、闭环导向。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: cassh100k/vidiq (version 1.0.0)

--- name: vidiq description: "AI-powered video intelligence - download, analyze, clip, GIF from any URL. Supports YouTube, TikTok, Instagram, X. Uses ffmpeg + yt-dlp." metadata: openclaw: emoji: "🎬" requires: bins: ["ffmpeg", "yt-dlp"] --- # VidIQ - Video Intelligence & Query Tool Download, understand, and manipulate any video from a URL. ## Commands ```bash # Video info (duration, resolution, codecs) {baseDir}/scripts/vidiq.sh <url_or_path> info # Extract N frames evenly spaced {baseDir}/scripts/vidiq.sh <url_or_path> frames 10 # Single frame at timestamp {baseDir}/scripts/vidiq.sh <url_or_path> frame 01:30:00 # Clip between timestamps {baseDir}/scripts/vidiq.sh <url_or_path> clip 01:01:01 01:20:01 output.mp4 # Create GIF (start time, duration in seconds) {baseDir}/scripts/vidiq.sh <url_or_path> gif 00:45:00 5 # Extract audio as MP3 {baseDir}/scripts/vidiq.sh <url_or_path> audio # Detect scene changes {baseDir}/scripts/vidiq.sh <url_or_path> scenes 0.3 # Visual mosaic (columns, total frames) {baseDir}/scripts/vidiq.sh <url_or_path> mosaic 4 16 ``` ## AI Analysis Workflow 1. Extract frames: `vidiq.sh <url> frames 10` 2. Feed frames to vision model for content understanding 3. Answer questions about the video based on frame analysis ## Supported Platforms YouTube, TikTok, Instagram, X/Twitter, any direct video URL, local files. ## Notes - Downloaded videos are cached in `/tmp/vidiq/` for reuse - Frames output to `/tmp/vidiq/frames_*/` - For long videos, extract more frames for better coverage - GIFs are optimized with palette generation for small file size


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

--- name: clipper version: 1.0.0 description: Save web content to Obsidian vault. Supports Twitter/X, WeChat MP, Xiaohongshu, YouTube, Bilibili, and any web page. Automatically routes to the best fetch method per platform. --- # Clipper Unified web content clipper for Obsidian. One entry point, auto-detects platform, uses optimal method. ## Usage When user provides a URL and wants to save it: ```bash python3 {{SKILL_DIR}}/scripts/clip.py "<url>" ``` **Output:** - Twitter: `<vault>/clippings/tweet/YYYY-MM-DD-<handle>-<id>.md` - Other: `<vault>/clippings/web/<domain>/YYYY-MM-DD-<slug>.md` ## Platform Routing | Platform | Method | Why | |----------|--------|-----| | Twitter/X | Jina Reader | Fast, reliable, no auth needed | | WeChat MP | Browser snapshot | Handles JS rendering | | Xiaohongshu | x-reader | Works well | | YouTube | x-reader | Gets description/metadata | | Bilibili | x-reader | Works well | | Other | x-reader | General purpose | ## Workflows ### Twitter / General Web (Auto) ```bash python3 {{SKILL_DIR}}/scripts/clip.py "https://x.com/user/status/123" ``` One command, done. ### WeChat MP (Two-step) WeChat articles need browser rendering. The script will return `needs_browser: true`. **Step 1:** Open in browser ``` browser action=open profile=openclaw targetUrl=<url> ``` **Step 2:** Get snapshot ``` browser action=snapshot profile=openclaw targetId=<targetId> ``` **Step 3:** Extract content and save ```bash python3 {{SKILL_DIR}}/scripts/wechat.py \ --url "<url>" \ --title "<title>" \ --author "<author>" \ --date "<date>" \ --content "<markdown>" ``` Or pipe content via stdin: ```bash echo "<markdown>" | python3 {{SKILL_DIR}}/scripts/wechat.py \ --url "<url>" \ --title "<title>" ``` ## Supported URL Formats **Twitter:** - `https://twitter.com/<handle>/status/<id>` - `https://x.com/<handle>/status/<id>` **WeChat:** - `https://mp.weixin.qq.com/s/<id>` **Others:** - Any valid HTTP/HTTPS URL ## Requirements - `obsidian-cli` (for vault detection) OR manually configured vault path - `x-reader` for general web: `pipx install 'git+https://github.com/runesleo/x-reader.git'` ## Example ``` User: https://x.com/naval/status/1234567890 save this You: [runs clip.py] → Saved to clippings/tweet/2026-03-18-naval-1234567890.md User: https://mp.weixin.qq.com/s/abc123 保存这个 You: [runs clip.py] → needs_browser: true [opens browser, gets snapshot] [extracts content, runs wechat.py] → Saved to clippings/web/mp_weixin_qq_com/2026-03-18-article-title.md ``` ## Git Sync All saves trigger automatic git sync: `pull --rebase → add → commit → push` Git warnings (non-fatal) are returned in `git_warnings` array.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: ajeenkya/shopping-list-ui (version 1.0.0)

--- name: shopping-list-ui version: 1.0.0 description: > Web UI for the shopping-list skill. Adds a /shopping page to Second Brain with full CRUD — view, add, edit, check off, and delete items. Requires the shopping-list skill to be installed (shares the same data files). --- # Shopping List UI Web interface for managing the shopping list. Adds a `/shopping` page to the Second Brain portal with categorized list view and inline editing. ## Prerequisites - Second Brain portal running (Next.js) - `shopping-list` skill installed (`clawhub install shopping-list`) ## Files This skill adds the following files to the Second Brain app: | File | Purpose | |------|---------| | `second-brain/src/lib/shopping.ts` | Data layer — reads/writes shopping-list skill JSON files | | `second-brain/src/app/api/shopping/route.ts` | GET list + POST add item | | `second-brain/src/app/api/shopping/[id]/route.ts` | PUT edit, DELETE remove, PATCH check-off | | `second-brain/src/app/shopping/page.tsx` | Shopping list page with CRUD UI | Also modifies: - `second-brain/src/components/Sidebar.tsx` — adds Shopping nav entry - `second-brain/src/components/SFIcon.tsx` — adds cart.fill icon ## Data Reads and writes `skills/shopping-list/data/active.json` — the same file used by the conversational shopping-list CLI skill. Changes made in the web UI are immediately visible in chat, and vice versa. User identity for `addedBy` is read from `skills/shopping-list/data/config.json`. If not set, defaults to "web".


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