OpenClaw/clawhub-security-signals huggingface dataset:
Skill: twistedcz/feishu-bot-manager-twisted (version 0.0.1)

--- invocations: - words: - 添加飞书机器人 - 配置飞书机器人 - 新增飞书账户 - 添加机器人账户 - feishu bot - 飞书多账户 description: 交互式添加新的飞书机器人账户并绑定 Agent --- # feishu-bot-manager 飞书多账户机器人配置管理 Skill。 ## 路由绑定方案 ### 方案 1：账户级绑定 该飞书账户的所有消息 → 指定 Agent **适用场景**：一个机器人专门服务一个 Agent。比如创建一个"销售机器人"，它的所有消息都由"销售 Agent"处理。 **生成的绑定**： ```json { "agentId": "recruiter", "match": { "channel": "feishu", "accountId": "bot-sales" } } ``` ### 方案 2：群聊级绑定 特定群聊的消息 → 指定 Agent **适用场景**：把 Agent 绑定到特定群聊。多个机器人在群里，但不同群聊分配给不同 Agent。 **生成的绑定**： ```json { "agentId": "recruiter", "match": { "channel": "feishu", "peer": { "kind": "group", "id": "oc_xxx" } } } ``` **注意**：群聊级绑定优先级更高，会覆盖账户级绑定！ ## 使用方式 ### 交互模式（通过对话） 直接说："添加飞书机器人" 我会询问： 1. App ID 和 App Secret 2. 账户信息（账户 ID、机器人名称） 3. **选择路由绑定方案**（账户级/群聊级） 4. 选择绑定的 Agent 5. 群聊 ID（如果选群聊级绑定） 6. 预览确认后执行 ### 命令行调用 ```bash # 账户级绑定 - 该机器人所有消息都由指定 Agent 处理 openclaw skills run feishu-bot-manager -- \ --app-id cli_xxx \ --app-secret yyy \ --account-id bot-sales \ --agent-id recruiter \ --routing-mode account # 群聊级绑定 - 特定群聊的消息由指定 Agent 处理 openclaw skills run feishu-bot-manager -- \ --app-id cli_xxx \ --app-secret yyy \ --account-id bot-sales \ --agent-id recruiter \ --chat-id oc_xxx \ --routing-mode group ``` ## 参数说明 | 参数 | 必填 | 说明 | |------|------|------| | --app-id | ✅ | 飞书 App ID (cli_xxx) | | --app-secret | ✅ | 飞书 App Secret | | --account-id | ❌ | 账户标识，默认自动生成 | | --bot-name | ❌ | 机器人名称，默认 "Feishu Bot" | | --dm-policy | ❌ | DM 策略: open/pairing/allowlist，默认 open | | --agent-id | ❌ | 要绑定的 Agent ID | | --chat-id | ❌ | 群聊 ID (oc_xxx)，群聊绑定时需要 | | --routing-mode | ❌ | 路由模式: account/group，默认 account | ## 配置结构示例 添加新机器人后，配置会变成这样（保留现有配置）： ```json { "channels": { "feishu": { "enabled": true, "appId": "cli_现有", // ← 保留不动 "appSecret": "现有Secret", // ← 保留不动 "dmPolicy": "open", "accounts": { // ← 新添加 "bot-new": { "appId": "cli_xxx", "appSecret": "yyy", "botName": "新机器人", "dmPolicy": "open", "allowFrom": ["*"], "enabled": true } } } }, "bindings": [ { // ← 新添加 "agentId": "recruiter", "match": { "channel": "feishu", "accountId": "bot-new" // 或 "peer": { "kind": "group", "id": "oc_xxx" } } } ] } ``` ## 流程 1. 检查并备份现有配置 2. 添加新账户到 `channels.feishu.accounts` 3. 根据选择的路由模式添加 binding 4. 设置 `session.dmScope` 为 `per-account-channel-peer` 5. 重启 Gateway ## 注意事项 - **保留现有配置**：现有 `appId/appSecret` 完全不动 - **自动备份**：修改前自动备份 openclaw.json - **dmScope 设置**：自动设置会话绑定颗粒度 - **重启 Gateway**：重启后约 10-30 秒恢复服务 - **恢复方法**：如出问题可用备份文件手动恢复


Security scan verdicts — ClawScan: clean | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: abdullah944/youtube-script-outline-skill (version 0.1.0)

--- name: "YouTube Script Outline Skill" version: 0.1.0 slug: "youtube-script-outline-skill" description: "Guides structured help for YouTube Script Outline using clear templates, checks, and safe defaults (category: Content & Video)." category: "Content & Video" tags: - "content" - "openclaw" - "templates" - "youtube-script-outline" generated: "2026-04-28" --- ## Purpose Guides structured help for YouTube Script Outline using clear templates, checks, and safe defaults (category: Content & Video). ## When to use - When you want structured guidance in the "Content & Video" area. - When you need copy-paste-safe templates rather than improvised shell commands. - When you want repeatable prompts the agent can follow without external scraping. ## Safety rules - Do not collect passwords, OTPs, private keys, wallets, seeds, or session secrets. - Do not propose remote installers that execute unseen code or chained download-and-run snippets. - Keep outputs factual and reversible: prefer checklists over irreversible destructive actions. ## Inputs - Your goal in one paragraph (no secrets). - Optional constraints: audience, tone, length, deadline. - Optional pasted notes you own the rights to (keep PII minimal). ## Output format - A concise plan - Numbered checklist - Short next-actions list - Optional draft copy blocks you can edit ## Example prompts - Help me outline a concise plan using the YouTube Script Outline approach. - Critique my draft outputs and suggest safer, clearer wording for YouTube Script Outline. - Produce a checklist I can reuse weekly for YouTube Script Outline without requesting private data. ## Support / Donate If this skill helps your workflow, you can support maintenance here: - PayPal: https://www.paypal.com/donate/?hosted_button_id=MJHCRZA9Z4X7Y


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: kirkraman/godfery-news-aggregator (version 1.0.0)

--- name: news-aggregator version: 1.0.3 description: 国内外社会、科技、军事新闻汇总。自动搜索、筛选、整理新闻要点。 license: MIT requires: env: [SKILLBOSS_API_KEY] --- # News Aggregator 聚合国内外社会、科技、军事新闻，自动筛选要点。 ## 新闻源 ### 国内科技 - 36氪 (https://36kr.com/information/tech/) - 机器之心 (https://www.jiqizhixin.com/) - 量子位 (https://www.1baijia.com/) - IT之家 (https://www.ithome.com/) ### 国内军事 - 观察者网 (https://www.guancha.cn/) - 澎湃新闻 (https://www.thepaper.cn/) - 腾讯军事 (https://new.qq.com/om/mil/) ### 国际科技 - TechCrunch - The Verge - Wired - Ars Technica ### 国际军事 - Defense News - Jane's Defence - Military Times ## 工作流 1. **搜索** - 通过 SkillBoss API Hub `/v1/pilot`（type: search）搜索各源 2. **筛选** - 过滤重复、过期、不可靠来源 3. **整理** - 按类别整理，每条含标题、来源、要点 4. **输出** - 生成结构化汇总 ## API 调用 使用 SkillBoss API Hub 统一搜索接口（替代 Tavily、Serper 等第三方搜索服务）： ```python import requests, os SKILLBOSS_API_KEY = os.environ["SKILLBOSS_API_KEY"] API_BASE = "https://api.skillbossai.com/v1" def pilot(body: dict) -> dict: r = requests.post( f"{API_BASE}/pilot", headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"}, json=body, timeout=60, ) return r.json() # 搜索新闻 result = pilot({"type": "search", "inputs": {"query": "最新科技新闻"}, "prefer": "balanced"}) search_results = result["result"] # 用 LLM 整理新闻要点 result = pilot({ "type": "chat", "inputs": { "messages": [ {"role": "user", "content": f"请从以下搜索结果中整理新闻要点：\n{search_results}"} ] }, "prefer": "balanced" }) summary = result["result"]["choices"][0]["message"]["content"] ``` ## 可信度规则 **优先：** - 官方媒体报道 - 权威机构发布 **谨慎：** - 论坛帖子 - 匿名消息 - 二手转载 ## 输出格式 ```markdown ## 科技新闻 1. [标题](链接) 来源：xxx | 时间：xxx 要点：xxx ## 军事新闻 1. [标题](链接) 来源：xxx | 时间：xxx 要点：xxx ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: zhangjinjin-gitgit/whisper-transcribe-summarize (version 1.0.3)

--- name: whisper-transcribe-summarize description: 本地 Whisper 语音转文字，自动生成清理文本、书面整理稿和结构化总结稿。支持音频和视频输入，全程离线。 version: 1.1.0 --- # whisper-transcribe-summarize 本地语音转文字 + 文本清理 + 整理稿 + 总结稿。全程离线，不依赖外部接口。 ## 适用场景 - 本地离线语音转文字 - 把 mp3 / wav / m4a / mp4 / mov 等音视频转成文字 - 转录后自动生成清理文本、书面整理稿、结构化总结稿 - 下载 Whisper 模型到本地，重复使用 ## 包含脚本 - `scripts/download_whisper_model.py` — 模型下载 - `scripts/local_whisper_transcribe.py` — 转录 ## 依赖 - `python3` - `ffmpeg` - `openai-whisper`（未安装时执行 `python3 -m pip install -U openai-whisper`） ## 模型下载 ```bash python3 scripts/download_whisper_model.py medium ``` 可选模型：tiny / base / small / medium / large 推荐：中文用 medium，追求速度用 base 或 small。模型下载到 ~/.cache/whisper。 ## 转录命令 ```bash python3 scripts/local_whisper_transcribe.py "/路径/文件.mp4" python3 scripts/local_whisper_transcribe.py "/路径/文件.mp3" --model medium python3 scripts/local_whisper_transcribe.py "/路径/文件.mp3" --output "/路径/结果.txt" ``` 支持音频和视频输入，视频通过 ffmpeg 自动提取音频。 ## 输出 默认输出 `<源文件名>_whisper.txt`，指定 `--output` 可自定义路径。 ## 执行流程 1. 确认文件存在。 2. 未安装 whisper 则先安装。 3. 模型未缓存则先下载。 4. 执行转录。 5. 对转录文本进行基础清理。 6. 默认生成整理稿和总结稿（用户说"只转录"则跳过）。 ## 转录文本基础清理 原始转录往往是繁体、无标点、有重复的粗糙文本，需要进行以下清理： 1. **繁转简**：繁体中文转简体。 2. **加标点分段**：补全标点，按语义分段。 3. **去口语赘余**：去除"嗯"、"啊"、"就是说"等无意义填充词。 4. **去重复/幻觉**：删除语音识别产生的重复片段。 5. **修错别字**：修正常见识别错字（如"维铭"→"文明"）。 6. **保留原意**：只做清理，不改写、不重组。 清理后覆盖保存到 `<源文件名>_whisper.txt`。 ## 整理稿 默认文件名：`<源文件名>_整理稿.txt` 整理稿不是逐句清理，而是将口语转录**完全重写**为流畅的书面文章。 ### 重写要求 1. **去口语化**：彻底去除口语痕迹（语气词、重复、卡顿等）。 2. **第三人称**：原文的"我"改为"作者/导演/分析者"或省略。 3. **逻辑重组**：按逻辑而非时间线组织，相关内容合并到同一段落。 4. **散文体**：连贯段落（每段 3-8 句），不用列表，不用清单式写法。 5. **概括性标题**：文章开头给一个概括主题的标题。 6. **保留全部内容**：专业术语和分析洞见完整保留，只是换更精炼的表达。 7. **繁转简 + 修错字**。 8. **篇幅**：约为原始转录的 60%-80%。 9. **忠于原文**：不编造、不添加原文未涉及的内容。 ### 语言风格 1. **精简克制**：不堆砌修饰词，少用"极为"、"本质上"等加重词。 2. **结构标记**：用"第一幕"、"随着"、"接下来"、"至此"等词标记内容推进。 3. **主题升华**：关键段落要有总结性提炼，不只描述发生了什么，还要归纳意味着什么。避免过于直白的口语表达。 4. **结尾总结**：最后一段跳出具体分析，对全篇做整体评价，回扣主题。 5. **段落饱满**：完整发展一个想法再换段，小观点揉进同一段落。 6. **最终效果**：读起来像独立撰写的专业文章，而非清洗过的转录稿。 ## 总结稿 默认文件名：`<源文件名>_总结稿.md` + `<源文件名>_总结稿.html` 在整理稿基础上生成结构化摘要，同时输出浏览器可直接查看的 html 版本。 ### 格式要求 - 顶部引用块写一句话概括 - 关键术语和核心结论**加粗**高亮 - 用分割线划分大区块 - 章节标题用 `### 第X部分 | 标题` 格式 - 原文摘录中的关键词也加粗 ```md # 标题 > **一句话概括**：全文主题 --- ## 核心摘要 - **要点一**：结论 - **要点二**：结论 --- ## 结构拆解 ### 第一部分 | 标题 - **关键点**加粗，其余正常 --- ## 关键观点 ### 1. 观点标题 简洁解释，**核心结论加粗**。 --- ## 原文摘录 > 原文片段，**关键词加粗** ``` ### html 版本 用 Python `markdown` 库将 .md 转为带样式的 .html： - 标题有层级大小 - 加粗文字红色高亮 - 引用块蓝色左边框 + 浅蓝背景 - 正文居中，最大宽度 860px - 自动在浏览器中打开 ## 注意事项 - 默认自动生成整理稿和总结稿，无需用户额外要求 - 用户说"只转录"、"不要整理"、"只要原文"时跳过整理和总结 - 不使用外部语音识别接口 - 不编造原文未涉及的信息 - 不在脚本中硬编码用户路径 ## 回复格式 执行完成后只报告： - 是否成功 - 使用的模型 - 转录的文件 - 转录文本路径 - 整理稿路径 - 总结稿路径 ## 示例 用户：`帮我把 whisper medium 模型下到本地` → 执行 `scripts/download_whisper_model.py medium` 用户：`用本地 whisper 把这个 mp4 转成文字` → 执行 `scripts/local_whisper_transcribe.py`，返回转录路径


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: richducat/dolph-news-events (version 1.0.0)

--- name: polymarket-news-events description: > Monitors 20+ premium RSS feeds for breaking news and matches stories to Polymarket markets via keyword analysis. Trades when breaking news creates an estimated price impact exceeding 12%. Uses fast accept/reject pre-filtering before deeper analysis. metadata: author: "Mibayy" version: "2.0.1" displayName: "Breaking News Event Trader" type: "automaton" difficulty: "intermediate" --- # Breaking News Event Trader Comprehensive breaking news monitor that trades Polymarket markets on high-impact events. ## What It Does Continuously polls 20+ premium news RSS feeds, pre-filters stories with fast keyword matching, then matches relevant stories to active Polymarket markets. When a breaking story has estimated price impact >12%, generates a trade signal. ## News Sources | Category | Sources | |----------|---------| | **Wire Services** | Reuters, AP | | **Broadcast** | BBC, CNBC | | **Financial** | Bloomberg, FT, MarketWatch, WSJ | | **Politics** | Politico, Axios, The Hill | | **Crypto** | CoinDesk, CoinTelegraph | | **Tech** | TechCrunch | ## Pre-Filter System Two-stage filtering for speed: 1. **Fast reject** — Skip stories with common noise keywords (opinion, podcast, review) 2. **Fast accept** — Prioritize stories with high-signal keywords (breaking, passes, signs, ruling, indicted, default, crash, surge) Only stories passing pre-filter get matched against Polymarket markets. ## Impact Estimation Stories are scored on: - Source credibility tier (wire services > financial > blogs) - Keyword signal strength - Headline match quality to market question - Recency (exponential decay over 30 minutes) ## Requirements **pip dependencies:** `simmer-sdk`, `requests`, `feedparser` **Environment variables:** - `SIMMER_API_KEY` (required) - get from simmer.markets/dashboard > ⚠️ **Automated trading.** Dry-run is the default. Pass `--live` to execute real trades. Review all configuration before enabling live mode. ## Usage ```bash python news_events.py # dry run python news_events.py --live # real trades python news_events.py --live --quiet # cron mode ``` > 🧪 **Remixable Template** — Fork this skill to add your own RSS sources, tune > impact thresholds, add sentiment analysis, or integrate with a news API for > faster delivery than RSS.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: wanng-ide/emoji-reaction-automator (version 1.0.0)

--- name: emoji-reaction-automator description: Suggests emoji reactions for text messages based on sentiment analysis (positive, negative, funny, neutral). Use to increase social engagement and human-likeness in conversations. --- ## Usage ```javascript const { suggestReaction } = require('./index.js'); const text = "This is awesome! Great job."; const suggestion = suggestReaction(text); // Returns: { category: "positive", emoji: "👍", confidence: 0.9 } ``` ## Supported Categories - **Positive:** 👍, ❤️, 🙌, ✅ - **Negative:** 👎, 💔, ❌, ⚠️ - **Funny:** 😂, 🤣, 💀 - **Curious:** 🤔, 🧐, ❓ - **Excited:** 🎉, 🚀, 🔥 - **Neutral:** 👀, 🆗 ## Notes This is a lightweight rule-based sentiment mapper designed for quick reactions without heavy ML dependencies.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: chungvic/trading-coagent-vic (version 1.0.0)

--- name: trading-coagent description: AI 與交易腳本協作技能。AI 每 5 分鐘監控交易訊號，與腳本並存共生：補充腳本遺漏的訊號、修復失敗交易、糾正錯誤交易、主動執行值得跟隨的交易。持續分析腳本問題並改進。Use when: 需要 AI 與自動化交易腳本協作、監控加密貨幣/股票交易訊號、執行實際交易（非模擬）、持續優化交易腳本。 --- # Trading Co-Agent Skill AI 與交易腳本的協作共生系統。 ## 核心原則 ### 並存共生 (Coexistence) - **腳本監視，你也監視**：每 5 分鐘檢查一次交易訊號 - **腳本無智能，你有**：腳本做不到的判斷，你來做 - **腳本遺漏，你補上**：發現腳本沒抓到的訊號，分析原因並修復 - **腳本失敗，你補救**：交易失敗時 investigation 並重新執行 - **腳本出錯，你糾正**：發現錯誤交易立即補救 ### 工作循環 (每小時 12 次，每天 24 小時) ``` 每 5 分鐘執行： 1. 掃描所有交易訊號 2. 檢查腳本是否發現訊號 3. 檢查腳本是否執行交易 4. 檢查交易是否成功 5. 檢查交易內容是否正確 6. 做出決策並執行 ``` ## 決策流程 ### 1. 腳本無發現訊號 ``` IF 腳本沒發現訊號 AND 你發現訊號: → 分析為什麼腳本沒發現 → 評估訊號是否值得跟隨 → IF 值得：主動執行交易 → 記錄原因並修復腳本 ``` ### 2. 腳本發現訊號但無交易 ``` IF 腳本發現訊號 BUT 無交易: → 審視是否值得交易 → IF 不值得：腳本無問題，記錄原因 → IF 值得：主動執行交易 → 查找腳本為什麼沒交易並修復 ``` ### 3. 腳本交易失敗 ``` IF 腳本交易失敗: → 查找失敗原因（滑點？Gas？RPC？） → 修復問題 → 重新執行交易（如仍值得） ``` ### 4. 腳本交易成功但內容錯誤 ``` IF 交易成功 BUT 內容錯誤（如買錯 token）: → 立即評估損失 → 執行補救交易（賣出/對沖） → 查找錯誤原因並修復腳本 ``` ### 5. 腳本交易成功且正確 ``` IF 交易成功 AND 內容正確: → 記錄成功案例 → 繼續監控 ``` ## 監控清單 每 5 分鐘檢查： | 檢查項目 | 腳本狀態 | AI 行動 | |---------|---------|--------| | 訊號發現 | ❌ 未發現 | 分析原因，主動交易（如值得） | | 訊號發現 | ✅ 發現但無交易 | 評估價值，決定是否補位 | | 交易執行 | ❌ 失敗 | 調查原因，修復並重試 | | 交易內容 | ❌ 錯誤 | 立即補救，糾正腳本 | | 交易執行 | ✅ 成功 | 記錄，繼續監控 | ## 主動交易權限 **你可以主動交易當：** 1. 訊號值得跟隨但腳本沒執行 2. 腳本交易失敗但機會仍存在 3. 需要緊急補救錯誤交易 **交易前必須確認：** - [ ] 訊號質量分析完成 - [ ] 風險評估完成 - [ ] Gas/滑點在可接受範圍 - [ ] 交易參數正確（token 地址、數量、滑點容忍度） ## 腳本進化循環 ``` 發現問題 → 分析原因 → 修復腳本 → 驗證修復 → 記錄學習 ``` **48 小時目標：** 經過約 576 次監控循環（每小時 12 次 × 48 小時），腳本應該趨近完美。 ## 日誌記錄 每次監控循環記錄： ```markdown ### [時間戳] 監控循環 #XXX **訊號總數：** X **腳本發現：** Y **AI 發現：** Z **執行交易：** N **失敗交易：** M **修復動作：** [...] **腳本更新：** [...] ``` ## 緊急處理 ### 錯誤交易補救 1. 立即確認錯誤類型（買錯/賣錯/數量錯） 2. 評估當前市場狀況 3. 執行最優補救方案： - 立即賣出（如虧損可接受） - 對沖持倉 - 等待反彈（如短期波動） 4. 記錄教訓並修復腳本 ### 連續失敗處理 IF 連續 3 次交易失敗： → 暫停自動交易 → 深度調查根本原因 → 通知用戶 → 修復後恢復 ## 技能使用 此技能適用於： - 加密貨幣自動化交易 - 股票量化交易 - 需要 AI 判斷補充規則引擎的場景 - 持續優化的交易系統 ## 相關文件 - `references/trading-checklist.md` - 詳細檢查清單 - `references/failure-analysis.md` - 失敗原因分析指南 - `scripts/monitor-signals.py` - 訊號監控腳本（如需要）


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: izorro/fishaudio-tts (version 1.0.1)

--- name: fishaudio-tts description: Text-to-Speech using FishAudio (fish.audio), generates natural human-like voice with great emotional expression. --- # FishAudio TTS 🔊 High-quality text-to-speech using FishAudio (fish.audio), generates natural human-like voice with excellent emotional expression. ## Features - More natural and realistic voice than default TTS - Better emotional expression for news reading - Supports multiple voices - Outputs MP3 format directly ## Requirements - Python 3.8+ - requests library - FishAudio API key (get from https://fish.audio/) ## Installation 1. Get your API key from https://fish.audio/ 2. Add API key to your `TOOLS.md` or environment variable `FISH_AUDIO_API_KEY` 3. `pip install requests` (usually already installed) ## Usage ### Basic Text to Speech ```python python C:\path\to\skills\fishaudio-tts\fish_tts.py ^ --text "Your text here" ^ --output "output.mp3" ^ --voice "female" ``` ### Available Voices - `female` - Default female voice (good for news) - `male` - Male voice - `neutral` - Neutral voice ### Command Line Example ```powershell python ~/.openclaw/workspace/skills/fishaudio-tts/fish_tts.py ^ --text "各位听众好，这里是2026年3月11日新闻简报。" ^ --output "C:\Users\hyzu\Documents\openclaw\news_audio.mp3" ^ --voice "female" ``` ## Notes - API key is required, get one for free at https://fish.audio/ - Free tier has rate limits, check FishAudio website for details - For news video generation, female voice is recommended for better listening experience - All generated audio files are saved locally on your machine


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

--- name: eSIM description: Implement and troubleshoot eSIM across consumer activation, carrier integration, and RSP development. metadata: {"clawdbot":{"emoji":"📱","os":["linux","darwin","win32"]}} --- ## Critical Distinction - Consumer RSP (SGP.22) and M2M RSP (SGP.02) are completely different architectures — not interchangeable, verify which applies before starting ## Platform API Restrictions - Apple eSIM APIs require carrier entitlements — third-party apps cannot access without carrier partnership agreement - Android carrier privilege APIs require signing certificate match — must be signed with carrier's certificate - No public API exists for arbitrary eSIM provisioning — apps suggesting otherwise will fail App Store/Play Store review ## Activation Code Traps - Format is `LPA:1$SMDP+address$MatchingId` — parse carefully, some codes omit optional parts - `$1` suffix means confirmation code required — flow differs, timeout is shorter - Codes are often one-time use — SM-DP+ rejects reused MatchingId, must generate new code - QR code is just encoding — the activation code content is what matters ## Certification Requirements - GSMA SAS (Security Accreditation Scheme) mandatory for production SM-DP+ — cannot go live without it - Use test eUICCs during development — production EIDs must not touch test environments - GSMA TS.48 defines RSP test cases — certification testing follows this spec - Entitlement server is separate from RSP — iOS carrier features require additional integration beyond profile provisioning ## Consumer-Facing Pitfalls - QR codes expire — typically 24-72 hours, carrier-dependent, users panic when "invalid" - Deleting profile is permanent on device — must request new activation code from carrier, no local recovery - Device lock status matters — locked devices reject profiles from non-native carriers - Regional variants of same phone model may lack eSIM hardware — verify before promising compatibility - Profile transfer between devices almost never works — expect new activation per device ## Carrier Integration Reality - MVNOs rarely operate own SM-DP+ — use MNO's infrastructure or aggregators (G+D, IDEMIA, Thales) - Business agreements required before technical integration — ES2+ access isn't self-service - Number porting complicates eSIM activation — may require physical SIM first depending on carrier process ## Troubleshooting Specifics - "Profile already exists" error — delete existing profile before retry, or request new MatchingId from SM-DP+ - Download fails mid-process — ES9+ requires stable HTTPS, retry on better connection, not a code issue - Profile installed but no service — verify profile is enabled AND set as active line, restart radio


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ira-hash/aap-passport (version 3.2.0)

--- name: aap version: 3.2.0 description: Agent Attestation Protocol - The Reverse Turing Test. Verify AI agents, block humans. homepage: https://github.com/ira-hash/agent-attestation-protocol metadata: {"clawdbot":{"emoji":"🛂","category":"security","npm":["aap-agent-server","aap-agent-client"]}} --- # AAP - Agent Attestation Protocol **The Reverse Turing Test.** CAPTCHAs block bots. AAP blocks humans. ## What It Does AAP verifies that a client is an AI agent by: - Issuing challenges trivial for LLMs, impossible for humans in time - Requiring cryptographic signature (secp256k1) for identity proof - 7 challenges in 6 seconds with mandatory signing ## Installation ```bash npm install aap-agent-server # Server npm install aap-agent-client # Client ``` ## Server Usage ```javascript import { createServer } from 'node:http'; import { createAAPWebSocket } from 'aap-agent-server'; const server = createServer(); const aap = createAAPWebSocket({ server, path: '/aap', requireSignature: true, // v3.2 default onVerified: (result) => console.log('Verified:', result.publicId) }); server.listen(3000); ``` ## Client Usage ```javascript import { AAPClient, generateIdentity, createSolver } from 'aap-agent-client'; // Identity auto-generated (secp256k1 key pair) const client = new AAPClient({ serverUrl: 'ws://localhost:3000/aap' }); const result = await client.verify(solver); // Signature automatically included ``` ## Protocol Flow (WebSocket v3.2) ``` ← handshake (requireSignature: true) → ready (publicKey) ← challenges (7 challenges) → answers + signature + timestamp ← result (verified/failed + sessionToken) ``` ## Signature Format Proof data signed with secp256k1: ```javascript JSON.stringify({ nonce, answers, publicId, timestamp }) ``` ## Configuration | Option | Default | Description | |--------|---------|-------------| | `challengeCount` | 7 | Number of challenges | | `totalTimeMs` | 6000 | Time limit (ms) | | `requireSignature` | true | Mandate cryptographic proof | ## Security - Cryptographic identity (secp256k1) - Signature required = no anonymous access - 7 challenges in 6 seconds = impossible for humans - Non-repudiation: all actions traceable ## Links - [GitHub](https://github.com/ira-hash/agent-attestation-protocol) - [npm: aap-agent-server](https://www.npmjs.com/package/aap-agent-server) - [npm: aap-agent-client](https://www.npmjs.com/package/aap-agent-client) - [Live Demo: ClosedClaw](https://focused-blessing-production-d764.up.railway.app/)


Security scan verdicts — ClawScan: clean | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: paudyyin/obsidian-cli-cn (version 1.0.0)

--- name: obsidian-notesmd-cli version: 1.0.0 description: Obsidian笔记命令行工具，支持笔记搜索、批量处理、统计分析、导出转换、标签管理等功能，直接操作本地Obsidian知识库。 metadata: author: bassshang category: productivity capabilities: - 全文搜索Obsidian笔记内容/标题 - 统计知识库信息：笔记数量、总字数、标签统计、文件大小 - 批量替换笔记内容 - 导出笔记为Markdown/HTML/TXT格式 - 提取双向链接关系、生成关系图谱数据 - 批量管理笔记标签 - 按日期/标签/关键词筛选笔记 --- # Obsidian Notesmd CLI 命令行工具 直接操作本地Obsidian知识库（Vault），无需打开Obsidian客户端即可完成批量操作、统计分析、内容搜索等功能。 ## 核心功能 ### 1. 笔记搜索 支持全文搜索、标题搜索、标签搜索、按日期范围筛选： - 支持关键词高亮 - 支持正则表达式搜索 - 搜索结果按相关度排序 ### 2. 知识库统计 自动生成知识库统计报告： - 总笔记数量、总字数、总附件大小 - 标签数量、标签使用频率排名 - 近7/30/90天新增笔记数量 - 文件类型分布统计 ### 3. 批量操作 - 批量替换所有笔记中的指定文本 - 批量给符合条件的笔记添加/删除标签 - 批量导出笔记到指定目录 - 批量清理空笔记、重复笔记 ### 4. 链接管理 - 提取所有笔记的双向链接关系 - 检测孤立笔记（没有任何入链出链的笔记） - 检测死链（指向不存在的笔记的链接） - 导出链接关系数据用于生成关系图谱 ## 使用方法 ### 基础命令 ```powershell # 搜索笔记 obsidian-cli search "关键词" --vault "你的知识库路径" # 生成知识库统计报告 obsidian-cli stats --vault "你的知识库路径" # 批量替换内容 obsidian-cli replace "旧文本" "新文本" --vault "你的知识库路径" # 导出所有笔记 obsidian-cli export --output "导出目录路径" --format markdown # 检测死链 obsidian-cli check-links --vault "你的知识库路径" ``` ### 常用参数 | 参数 | 说明 | 必填 | |------|------|------| | --vault | Obsidian知识库根目录路径 | ✅ | | --output | 导出结果保存路径 | ❌ | | --format | 导出格式：markdown/html/txt/json | 默认markdown | | --case-sensitive | 搜索/替换是否区分大小写 | 默认不区分 | | --regex | 是否启用正则表达式匹配 | 默认不启用 | | --include-attachments | 导出时是否包含附件 | 默认不包含 | ## 示例 ```powershell # 统计我的知识库信息 obsidian-cli stats --vault "D:\我的知识库" # 搜索所有包含"AI大模型"的笔记 obsidian-cli search "AI大模型" --vault "D:\我的知识库" # 把所有笔记中的"GPT-4"替换为"GPT-4o" obsidian-cli replace "GPT-4" "GPT-4o" --vault "D:\我的知识库" --case-sensitive # 导出所有带"工作"标签的笔记 obsidian-cli export --vault "D:\我的知识库" --tag "工作" --output "D:\导出的工作笔记" ```


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