OpenClaw/clawhub-security-signals huggingface dataset:
Skill: kkblock/ai-news-collectors-1-0-0 (version 1.0.0)

--- name: ai-news-collector description: AI 新闻聚合与热度排序工具。当用户询问 AI 领域最新动态时触发，如："今天有什么 AI 新闻？""总结一下这周的 AI 动态""最近有什么火的 AI 产品？""AI 圈最近在讨论什么？"。覆盖：新产品发布、研究论文、行业动态、融资新闻、开源项目更新、社区病毒传播现象、AI 工具/Agent 热门项目。输出中文摘要列表，按热度排序，附带原文链接。 --- # AI News Collector 收集、聚合并按热度排序 AI 领域新闻。 ## 核心原则 **不要只搜"AI news today"。** 泛搜索返回的是 SEO 聚合页和趋势预测文章，会系统性遗漏社区级病毒传播现象（如开源工具爆火、Meme 级事件）。必须用多维度、分层搜索策略。 ## 工作流程 ### 1. 多维度分层搜索（最少 8 次，建议 10-12 次） 按以下 **6 个维度** 依次执行搜索，每个维度至少 1 次： #### 维度 A：周报/Newsletter 聚合（最优先 🔑） 这是信息密度最高的来源，一篇文章可覆盖 10+ 条新闻。 ``` 搜索词： - "last week in AI" [当前月份年份] - "AI weekly roundup" [当前月份年份] - "the batch AI newsletter" - site:substack.com AI news [当前月份] ``` 发现周报后，用 web_fetch 获取全文，从中提取所有新闻线索。 #### 维度 B：社区热度/病毒传播（关键维度 🔑） 捕捉自下而上的社区爆款，这类信息泛搜索几乎无法触达。 ``` 搜索词： - "viral AI tool" OR "viral AI agent" - "AI trending" site:reddit.com OR site:news.ycombinator.com - "GitHub trending AI" OR "AI open source trending" - AI buzzing OR "everyone is talking about" AI - "most popular AI" this week ``` #### 维度 C：产品发布与模型更新 ``` 搜索词： - "AI model release" OR "LLM launch" [当前月份] - "AI product launch" [当前月份年份] - OpenAI OR Anthropic OR Google OR Meta AI announcement - "大模型 发布" OR "AI 新产品" ``` #### 维度 D：融资与商业 ``` 搜索词： - "AI startup funding" [当前月份年份] - "AI acquisition" OR "AI IPO" - "AI 融资" OR "人工智能投资" ``` #### 维度 E：研究突破 ``` 搜索词： - "AI breakthrough" OR "AI paper" [当前月份] - "state of the art" machine learning - "AI 论文" OR "机器学习突破" ``` #### 维度 F：监管与政策 ``` 搜索词： - "AI regulation" OR "AI policy" [当前月份年份] - "AI law" OR "AI governance" - "AI 监管" OR "人工智能法案" ``` ### 2. 交叉验证与补漏 初轮搜索完成后，检查是否有遗漏： - 如果 Newsletter 中提到了某个项目/事件但初轮搜索未覆盖 → 对该项目专项搜索 - 如果同一事件被 3+ 个不同来源提及 → 大概率是热点，深入搜索获取更多细节 - 如果中文媒体和英文媒体的热点完全不同 → 两边都要覆盖 ### 3. 搜索关键词设计原则（反模式清单） | ❌ 不要这样搜 | ✅ 应该这样搜 | 原因 | |---|---|---| | "AI news today February 2026" | "AI weekly roundup February 2026" | 前者返回聚合页，后者返回策划内容 | | "AI news today" | "viral AI tool" + "AI model release" 分开搜 | 泛搜无法覆盖社区现象 | | "artificial intelligence breaking news" | 按维度分类搜索 | 过于宽泛，返回噪音 | | 搜索词中加具体年月日 | 用 "this week" "today" "latest" | 日期反而会偏向预测/展望文章 | | 只搜 3 次就开始写 | 至少 8 次，覆盖 6 个维度 | 3 次搜索覆盖率不到 30% | ### 4. 热度综合判断 基于以下信号评估每条新闻热度（1-5 星）： | 信号 | 权重 | 说明 | |------|------|------| | 多家媒体报道同一事件 | ⭐⭐⭐ 高 | 3+ 来源 = 确认热点 | | 社区病毒传播证据 | ⭐⭐⭐ 高 | GitHub star 暴涨、Twitter 刷屏、HN 首页 | | 来自权威来源（顶会、大厂官宣） | ⭐⭐⭐ 高 | 但注意大厂 PR 不等于真热点 | | 实际用户体验分享 | ⭐⭐ 中 | 有人真的在用 > 只是发布了 | | 技术突破性/影响范围 | ⭐⭐ 中 | | | 争议性（安全、伦理讨论） | ⭐⭐ 中 | 争议往往说明影响力大 | | 时效性（越新越热） | ⭐ 中低 | 辅助排序 | ### 5. 输出格式 按热度降序排列，输出 **15-25 条**新闻： ``` ## 🔥 AI 新闻速递（YYYY-MM-DD） ### ⭐⭐⭐⭐⭐ 热度最高 1. **[新闻标题]** > 一句话摘要（不超过 50 字） > 🔗 [来源名称](URL) ### ⭐⭐⭐⭐ 高热度 2. ... ### ⭐⭐⭐ 中等热度 ... --- 📊 本次共收集 XX 条新闻 | 搜索 XX 次 | 覆盖维度：A/B/C/D/E/F | 更新时间：HH:MM ``` ### 6. 去重与合并 - 同一事件被多家报道时，合并为一条，选择最权威/详细的来源 - 在摘要中注明"多家媒体报道"以体现热度 - 改名/更名的项目视为同一事件（如 Clawdbot → Moltbot → OpenClaw） ## 推荐新闻源 详见 [references/sources.md](references/sources.md)。 ## 注意事项 - 优先使用 HTTPS 链接 - 遇到付费墙/无法访问的内容，标注"需订阅" - 保持客观，不对新闻内容做主观评价 - 搜索不足 8 次不要开始输出 - 如果某个维度搜索结果为空，换关键词再搜一次


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: mtsatryan/ah-fullstack-engineer (version 1.0.0)

--- name: fullstack-engineer description: 'You are a versatile full-stack engineer capable of building complete web applications. Use when: frontend, backend, databases, devops, api design.' --- # Fullstack Engineer You are a versatile full-stack engineer capable of building complete web applications. ## Core Expertise - Frontend: React, Vue, Angular with TypeScript - Backend: Node.js, Python, Go, Ruby - Databases: SQL (PostgreSQL, MySQL) and NoSQL (MongoDB, Redis) - DevOps: Docker, CI/CD, cloud deployment - API Design: REST, GraphQL, WebSockets - Authentication: OAuth, JWT, session management ## Full-Stack Frameworks - Next.js, Nuxt.js, SvelteKit - Django + React, Rails + Vue - MEAN/MERN/MEVN stacks - T3 Stack (TypeScript, tRPC, Tailwind) - Remix, Astro, Qwik ## Development Workflow 1. Analyze project requirements holistically 2. Design database schema and API structure 3. Implement backend services and APIs 4. Build responsive frontend interfaces 5. Integrate frontend with backend 6. Implement authentication and authorization 7. Add testing at all layers 8. Deploy with proper DevOps practices ## Best Practices - Maintain clear separation of concerns - Implement proper error boundaries - Use environment variables for configuration - Implement comprehensive logging - Follow security best practices (OWASP) - Optimize for performance at all layers ## Special Skills - Real-time features (WebRTC, Socket.io) - Payment integration (Stripe, PayPal) - Third-party API integrations - Email services and notifications - File upload and processing - Search implementation (Elasticsearch, Algolia) ## Output Format - Provide complete implementation across stack - Include database migrations/schemas - Document API endpoints - Provide deployment configurations - Include environment setup instructions ---


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

--- name: tr-tool description: Translate or delete characters from input streams. Use for character substitution, deletion, and squeezing repeated characters. --- # Tr - Character Translation Utility Translate, squeeze, or delete characters from standard input. Replaces specified characters with alternatives or removes them entirely. ## Usage ```bash tr-tool [options] <set1> [set2] ``` ## Common Uses - `'a-z' 'A-Z'`: Convert lowercase to uppercase - `'\n' ' '`: Replace newlines with spaces - `-d 'aeiou'`: Delete all vowels - `-s ' '`: Squeeze repeated spaces ## Examples ```bash echo "hello" | tr-tool 'a-z' 'A-Z' echo "foo bar" | tr-tool -d ' ' echo "hello world" | tr-tool -s ' ' ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: kutaibah/registrychain-setup (version 1.0.1)

--- name: registrychain_setup description: Install the RegistryChain plugin for on-chain entity registration. Use when the user wants to set up RegistryChain, install the RegistryChain plugin, or when the register_entity tool is not available. requires: binaries: [git, node, npm, openclaw] node: ">=22" --- # RegistryChain Plugin Setup ## When to use - The user asks to "set up RegistryChain" or "install the RegistryChain plugin" - The user wants to register an entity but the `register_entity` tool is not available - The user mentions RegistryChain and the plugin isn't installed yet ## Steps 1. Clone the plugin from GitHub and pin to a verified commit: ```bash git clone https://github.com/RegistryChain/registrychain-agents.git ~/.openclaw/extensions/registrychain-entity cd ~/.openclaw/extensions/registrychain-entity && git checkout d2d072f ``` 2. Install dependencies (review package.json first if needed): ```bash cd ~/.openclaw/extensions/registrychain-entity && npm install --ignore-scripts && npm link openclaw ``` 3. Register the plugin with OpenClaw: ```bash openclaw plugins install --link ~/.openclaw/extensions/registrychain-entity openclaw plugins enable registrychain-entity ``` 4. Copy the skills: ```bash cp -r ~/.openclaw/extensions/registrychain-entity/skills/registrychain-entity ~/.codex/skills/registrychain-entity ``` 5. Set the tools profile to `full` so plugin tools are available. Edit `~/.openclaw/openclaw.json` and set: ```json { "tools": { "profile": "full" } } ``` 6. Restart the gateway: ```bash openclaw gateway --force ``` 7. Confirm the plugin loaded: ```bash openclaw plugins doctor ``` Should show: "No plugin issues detected." 8. Tell the user: "RegistryChain plugin is installed. You can now ask me to register entities on RegistryChain." ## After setup Once the plugin is installed, the `register_entity` tool becomes available. Use the `registrychain_entity` skill to handle entity registration requests. ## Rules - Run each step sequentially. If any step fails, report the error and stop. - Do NOT modify any plugin source files. - The plugin requires Node.js >= 22.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: 1173910773/hatsune-miku-monitor (version 1.0.1)

--- name: hatsune-miku-monitor description: 初音未来监控器 - 可爱的桌面系统监控工具（GIF动画 + 贴边隐藏 + 一键加速） version: 1.0.1 author: gsp --- # 初音未来监控器 一个可爱的桌面系统监控工具，使用初音未来 GIF 动画形象。 ## 功能特性 - 🎤 **GIF 动画** — 流畅的初音未来动画 - 📊 **系统监控** — 实时显示 CPU、内存、磁盘、温度 - 🖱️ **点击交互** — 点击初音切换状态面板 - 📍 **贴边隐藏** — 拖到屏幕边缘自动隐藏 - ⚡ **一键加速** — 清理内存和系统缓存 - 🎨 **透明度调节** — 滑条实时调整透明度 - ↔️ **自由拖动** — 随意移动位置 ## 快速开始 ### 1. 从 ClawHub 安装 ```bash clawhub install hatsune-miku-monitor ``` ### 2. 准备初音 GIF 图片 将你的初音 GIF 图片放到 `/tmp/chuyin.gif`： ```bash # 如果你有 chuyin.gif cp /path/to/your/chuyin.gif /tmp/chuyin.gif # 或者创建 assets 目录 mkdir -p ~/.openclaw/workspace/skills/hatsune-miku-monitor/assets cp /path/to/your/hatsune.gif ~/.openclaw/workspace/skills/hatsune-miku-monitor/assets/ ``` ### 3. 安装依赖 ```bash # Ubuntu/Debian sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 # 安装 Python 包 pip3 install psutil pillow # 或使用安装脚本 cd ~/.openclaw/workspace/skills/hatsune-miku-monitor bash scripts/install-deps.sh ``` ### 4. 启动监控器 ```bash cd ~/.openclaw/workspace/skills/hatsune-miku-monitor python3 scripts/hatsune-ball.py # 或后台运行 python3 scripts/hatsune-ball.py & ``` ## 使用说明 **操作方式：** - **点击初音** → 切换状态面板（显示/隐藏） - **拖动** → 移动位置 - **拖到边缘** → 自动隐藏成细条 - **点击"⚡ 一键加速"** → 清理内存和缓存 - **调节透明度** → 打开面板，拖动滑条 - **关闭** → 点击面板里的"✕ 关闭" **显示内容：** - CPU 使用率 - 内存使用率 - 磁盘使用率 - CPU 温度 ## 一键加速功能 点击"⚡ 一键加速"按钮会： - Python 垃圾回收（3次） - 清理系统缓存（PageCache/dentries/inodes） - Swap 刷新 - 清理用户缓存目录（thumbnails/pip/mesa） - 清理 journalctl 日志（保留1天） **增强效果（可选）：** 如果想让清理效果更明显，允许无密码执行： ```bash sudo visudo ``` 添加（替换 `your_username`）： ``` your_username ALL=(ALL) NOPASSWD: /usr/bin/sh -c echo * > /proc/sys/vm/drop_caches your_username ALL=(ALL) NOPASSWD: /usr/sbin/swapoff your_username ALL=(ALL) NOPASSWD: /usr/sbin/swapon your_username ALL=(ALL) NOPASSWD: /usr/bin/journalctl ``` ## 自定义图片 脚本会自动查找以下位置的 GIF 图片： 1. `~/.openclaw/workspace/skills/hatsune-miku-monitor/assets/hatsune.gif` 2. `~/.openclaw/workspace/skills/hatsune-miku-monitor/assets/chuyin.gif` 3. `/tmp/chuyin.gif` 4. `/tmp/hatsune.gif` 支持格式：GIF（推荐）、PNG、JPG ## 开机自启 ### Linux (Systemd) 创建：`~/.config/systemd/user/hatsune-monitor.service` ```ini [Unit] Description=Hatsune Miku Monitor [Service] ExecStart=/usr/bin/python3 %h/.openclaw/workspace/skills/hatsune-miku-monitor/scripts/hatsune-ball.py Restart=always [Install] WantedBy=default.target ``` 启用： ```bash systemctl --user enable hatsune-monitor systemctl --user start hatsune-monitor ``` ## 故障排除 ### 问题：ModuleNotFoundError: No module named 'gi' **解决：** ```bash sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 ``` ### 问题：在 conda 环境中无法运行 **解决：** 退出 conda 环境，使用系统 Python ```bash conda deactivate python3 scripts/hatsune-ball.py ``` ### 问题：GIF 不显示 **解决：** 确保 GIF 在正确位置 ```bash # 检查文件 ls -la /tmp/chuyin.gif # 或 ls -la ~/.openclaw/workspace/skills/hatsune-miku-monitor/assets/ # 安装 Pillow pip3 install pillow ``` ### 问题：只显示笑脸图标 **解决：** 未找到 GIF 图片，请将初音 GIF 放到上述路径之一 ## 许可证 MIT License


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: jackeven02/video-learn (version 1.0.0)

--- name: video-understanding version: 1.0.0 description: 视频理解与分析能力 - 让 AI 能够理解视频内容、提取关键信息。当用户要求分析视频、理解视频内容、总结视频、提取视频要点时触发此技能。 --- # Video Understanding - 视频理解技能 ## 概述 赋予 AI 理解和分析视频内容的能力，支持： - 视频链接分析（YouTube、Bilibili等） - 提取视频标题、描述、时长等信息 - 视频内容总结与关键点提取 - 语音转文字（需要额外工具） ## 触发场景 1. 用户发送视频链接并要求"理解"、"分析"、"总结" 2. 用户询问视频"讲了什么"、"重点是什么" 3. 用户要求"提取"视频内容 4. 需要从视频中获取信息 ## 支持平台 | 平台 | 网址 | 支持情况 | |------|------|----------| | YouTube | youtube.com | 标题、描述、时长 | | Bilibili | bilibili.com | 标题、简介、BV号 | | 抖音 | douyin.com | 标题、描述 | | 腾讯视频 | v.qq.com | 标题、简介 | | 爱奇艺 | iq.com | 标题、简介 | ## 获取视频信息 ### 方法1: web_fetch ```python url = "https://www.youtube.com/watch?v=视频ID" # 提取 title, description, duration ``` ### 方法2: 第三方 API - RapidAPI Video APIs - YouTube Data API - Bilibili API ## 工作流 ``` 1. 识别视频平台 → 判断使用哪个 API/方法 2. 获取基本信息 → 标题、描述、时长、作者 3. 提取关键内容 → 章节、要点、字幕（如有） 4. 整合总结 → 用中文呈现给用户 ``` ## 输出格式 向用户呈现视频信息时： - 视频标题和来源 - 内容摘要（如果可以获取） - 关键时间点（如有章节） - 建议的观看重点 ## 限制 - 无法直接播放视频 - 无法理解视频画面内容 - 需要平台支持或第三方 API

path: references/resources.md
content: # 视频理解参考资料

## YouTube API

### 获取视频信息
```bash
curl "https://www.googleapis.com/youtube/v3/videos?id=VIDEO_ID&key=API_KEY&part=snippet,contentDetails"
```

### 响应字段
- snippet.title - 标题
- snippet.description - 描述
- contentDetails.duration - 时长 (ISO 8601)
- statistics.viewCount - 播放量
- statistics.likeCount - 点赞数

## Bilibili API

### 获取视频信息
```bash
# bv号转av号
curl "https://api.bilibili.com/x/web-interface/view?bvid=BV1xxx"

# av号获取
curl "https://api.bilibili.com/x/web-interface/view?aid=170001"
```

### 响应字段
- title - 标题
- desc - 描述
- duration - 时长（秒）
- owner.name - UP主
- stat.view - 播放量
- stat.like - 点赞数
- pages - 视频分P

## 视频下载工具

### yt-dlp (推荐)
```bash
# 安装
pip install yt-dlp

# 下载视频
yt-dlp "URL"

# 仅提取音频
yt-dlp -x "URL"

# 提取字幕
yt-dlp --write-subs "URL"
```

## 时长转换

ISO 8601 转秒数：
```python
import re
from datetime import timedelta

def parse_duration(iso_duration):
    pattern = r'PT(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?'
    match = re.match(pattern, iso_duration)
    if match:
        h, m, s = match.groups()
        return int(h or 0) * 3600 + int(m or 0) * 60 + int(s or 0)
    return 0
```


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

--- name: TensorFlow description: Avoid common TensorFlow mistakes — tf.function retracing, GPU memory, data pipeline bottlenecks, and gradient traps. metadata: {"clawdbot":{"emoji":"🧠","requires":{"bins":["python3"]},"os":["linux","darwin","win32"]}} --- ## tf.function Retracing - New input shape/dtype causes retrace — expensive, prints warning - Use `input_signature` for fixed shapes — `@tf.function(input_signature=[tf.TensorSpec(...)])` - Python values retrace — pass as tensors, not Python ints/floats - Avoid Python side effects in tf.function — only runs once during tracing ## GPU Memory - TensorFlow grabs all GPU memory by default — set `memory_growth=True` before any ops - `tf.config.experimental.set_memory_growth(gpu, True)` — must be called before GPU init - OOM with large models — reduce batch size or use gradient checkpointing - `CUDA_VISIBLE_DEVICES=""` to force CPU — for testing without GPU ## Data Pipeline - `tf.data.Dataset` without `.prefetch()` — CPU/GPU idle time between batches - `.cache()` after expensive ops — but before random augmentation - `.batch()` before `.map()` for vectorized ops — faster than per-element - `num_parallel_calls=tf.data.AUTOTUNE` — parallel preprocessing - Dataset iteration in eager mode is slow — use in tf.function or model.fit ## Shape Issues - First dimension is batch — `None` for variable batch size in Input layer - `model.build(input_shape)` if not using Input layer — or first call errors - Reshape errors unclear — `tf.debugging.assert_shapes()` for debugging - Broadcasting silently succeeds — may hide shape bugs ## Gradient Tape - Variables watched by default — tensors need `tape.watch(tensor)` - `persistent=True` for multiple gradients — otherwise tape consumed after first use - `tape.gradient` returns None if no path — check for disconnected graph - `@tf.custom_gradient` for custom backward — not all ops have gradients ## Training Gotchas - `model.trainable = False` after compile does nothing — set before compile - BatchNorm behaves differently in training vs inference — `training=True/False` matters - `model.fit` shuffles by default — `shuffle=False` for time series - `validation_split` takes from end — shuffle data first if order matters ## Saving Models - `model.save()` saves everything — architecture, weights, optimizer state - `model.save_weights()` only weights — need model code to restore - SavedModel format for serving — `tf.saved_model.save(model, path)` - H5 format limited — doesn't save custom objects well, use SavedModel ## Common Mistakes - Mixing Keras and raw tf ops incorrectly — use `layers.Lambda` to wrap tf ops in Sequential - `tf.print` vs Python print — Python print only runs at trace time in tf.function - NumPy ops in graph — use tf ops, numpy executes eagerly only - Loss returns scalar per sample — Keras averages, custom loops may need `tf.reduce_mean`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: marson2016/anime-ebook-reader (version 1.0.0)

--- name: anime-ebook-reader version: 1.0.0 description: 动漫轻小说、电子书阅读助手。支持TXT、PDF、EPUB、MOBI等格式。用于阅读动漫小说、整理书单、管理阅读进度、提取章节内容。触发场景：用户上传动漫电子书/轻小说文件、询问书单推荐、整理阅读笔记、提取小说章节。 --- # 动漫电子书阅读助手 ## 支持格式 | 格式 | 处理方式 | |------|----------| | TXT | 直接读取文本内容 | | PDF | 提取文字/图片 | | EPUB | 解析EPUB结构 | | HTML | 转换网页内容 | ## 核心功能 ### 1. 读取书籍 - 用户上传文件 → 使用 read 工具读取 - 识别书籍基本信息（书名、作者、章节数） - 提取目录结构 ### 2. 章节导航 - 列出全部章节列表 - 用户指定章节 → 跳转读取 - 支持"继续阅读"（记住上次位置） ### 3. 内容总结 - 长章节自动分段 - 提取本章关键情节 - 生成章节摘要 ### 4. 书单管理 - 记录用户正在阅读的书单 - 记录阅读进度（第X章/共Y章） - 推荐相关书籍 ## 输出格式 ``` 📖 《书名》- 作者 📑 目录 第1章 标题 第2章 标题 ... 📖 当前：第X章 标题 ━━━━━━━━━━━━━━━━ [本章内容...] ━━━━━━━━━━━━━━━━ 📝 本章小结：... ``` ## 重要规则 - **中文优先**：优先使用中文书名和内容 - **保持原味**：动漫轻小说风格不改变 - **记住进度**：在对话中记录用户阅读位置


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: durtydhiana/agent-memory-kit-2-1-0 (version 1.0.0)

--- name: agent-memory-kit description: Structured episodic/semantic/procedural memory framework for agents. --- # Agent Memory Kit **Type:** Practice / Framework **Dependencies:** None (markdown only) --- ## Description A structured memory system for AI agents. Prevents the "forgot how to do things" problem by separating memory into episodic (what happened), semantic (what I know), and procedural (how to do things) layers. ## Installation ```bash # Create memory folder structure mkdir -p memory/procedures # Copy templates cp templates/ARCHITECTURE.md memory/ cp templates/feedback.md memory/ cp templates/procedure-template.md memory/procedures/ ``` ## Usage 1. Read `README.md` to understand the system 2. Add memory loading to your wake routine (AGENTS.md) 3. Use templates when logging events, creating procedures, tracking feedback ## Files | File | Purpose | |------|---------| | `README.md` | Full documentation | | `templates/ARCHITECTURE.md` | Memory system overview (copy to memory/) | | `templates/feedback.md` | Success/failure tracking template | | `templates/procedure-template.md` | How-to document template | | `templates/daily-template.md` | Daily log template | | `templates/compaction-survival.md` | **NEW:** Pre-compaction flush guide | | `templates/context-snapshot-template.md` | **NEW:** Quick context save template | | `helpers/check-compaction.sh` | **NEW:** Token limit checker | ## Key Concepts - **Episodic memory:** Daily logs of WHAT happened - **Semantic memory:** Curated knowledge (MEMORY.md) - **Procedural memory:** HOW to do things - **Feedback loops:** Learn from success/failure ## The Rule Always capture the **HOW**, not just the WHAT. Future-you needs the steps.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: wynnsu/ngrok-preview (version 1.0.2)

--- name: ngrok-preview description: Generate short-lived, mobile-friendly ngrok preview links for local artifacts and share them in Telegram. Use when OpenClaw produces images/charts/generated files that the user needs to view remotely on phone, and a temporary per-task link is preferred over manual file transfer. --- # ngrok-preview Provide a temporary preview window for task outputs. Keep it fast, scoped, and easy: generate link -> send link -> close link. ## One-time setup 1. Install ngrok if missing. 2. Configure auth token once: ```bash ngrok config add-authtoken "$NGROK_AUTHTOKEN" ngrok config check ``` If token is not preconfigured, pass `--auth-token` when running the script. ## Per-task workflow 1. Collect only task artifacts (images/charts/files) for this request. 2. Create a session-scoped temporary preview link. 3. Send the link with explicit expiry in Telegram. 4. Stop and delete the preview session after user confirms or task ends. Use this command from the skill directory: ```bash python3 scripts/ngrok_preview.py up \ --title "<task title>" \ --session-id "<task-id>" \ --ttl-minutes 120 \ --source "<artifact-path-1>" \ --source "<artifact-path-2>" ``` The command returns JSON including: - `public_url` - `expires_at` - `session_id` - `stop_command` ### Session ID convention (context binding) Use IDs that map to the current conversation/task: - `tg-<date>-<topic>` - `task-<short-request-id>` This keeps each link tied to one task context. ## Telegram send pattern After `up` succeeds, send a concise message: ```text 🔗 Temporary preview link (valid for <X> minutes) <public_url> Scope: artifacts from this task only This link will be cleaned up after expiry ``` If not currently in Telegram, still return the same link format in the active channel. ## Safety boundaries - Publish only task-specific outputs, never broad directories (do not expose workspace root). - Keep TTL short (default 120 minutes; use shorter when possible). - Treat link as temporary access, not persistent hosting. - Stop session when no longer needed: ```bash python3 scripts/ngrok_preview.py down --session-id "<task-id>" --delete-session-dir ``` - Periodically clear expired sessions: ```bash python3 scripts/ngrok_preview.py cleanup ``` ## Command quick reference ```bash # List sessions python3 scripts/ngrok_preview.py status # Create preview (auto-generate session id) python3 scripts/ngrok_preview.py up \ --title "image results" \ --source ./outputs/result-1.png \ --source ./outputs/result-2.png # Stop latest session python3 scripts/ngrok_preview.py down ``` ## Troubleshooting If link creation fails, check `references/troubleshooting.md` and follow the minimum recovery sequence.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (HIGH)
Skill: guoqiao/mlx-tts (version 0.0.3)

--- name: mlx-tts description: Text-To-Speech with MLX (Apple Silicon) and opensource models (default QWen3-TTS) locally. author: guoqiao metadata: {"openclaw":{"always":true,"emoji":"🦞","homepage":"https://clawhub.ai/guoqiao/mlx-tts","os":["darwin"],"requires":{"bins":["brew"]}}} triggers: - "/mlx-tts <text>" - "TTS ..." - "Convert text to audio ..." - "Say <text>" - "Reply with voice message ..." --- # MLX TTS Text-To-Speech with MLX (Apple Silicon) and open-source models (default QWen3-TTS) locally. Free and Fast. No API key required. No server required. ## Requirements - `mlx`: macOS with Apple Silicon - `brew`: used to install deps if not available ## Installation ```bash bash ${baseDir}/install.sh ``` This script will use `brew` to install these CLI tools if not available: - `uv`: install python package and run python script - `mlx_audio`: do the real job ## Usage To generate audio from text, run this script: ```bash bash ${baseDir}/mlx-tts.sh "<text>" ``` ### Agent Instructions 1. **Run the script**: Pass the text to be spoken as an argument. 2. **Handle Output**: The script will output a path to a audio file. Use the `message` tool to send the audio file to the user as an voice message: ```json { "action": "send", "filePath": "<filepath>" } ``` Example: User: "Say hello world" Agent: 1. Runs `bash path/to/mlx-tts.sh "hello world"` 2. Receives output: `/tmp/folder/audio.ogg` 3. Calls `message(action="send", filePath="/tmp/folder/audio.ogg", ...)`


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