OpenClaw/clawhub-security-signals huggingface dataset:
Skill: noahcraft-open/privacy-policy-generator-jp (version 1.0.0)

# Privacy Policy Generator Generate a professional, legally-compliant privacy policy for any website or app. Supports GDPR (EU), CCPA (California), and APPI (Japan) regulations. ## When to use Use this skill when the user needs to: - Create a privacy policy for their website or application - Generate GDPR-compliant privacy documentation - Create CCPA-compliant privacy notices - Draft a privacy policy that covers data collection, cookies, third-party services, and user rights ## How it works 1. Ask the user for their business details (company name, website URL, contact email) 2. Ask what data they collect (personal info, cookies, analytics, payments) 3. Ask which regulations apply (GDPR, CCPA, APPI, or auto-detect by region) 4. Ask about third-party services used (Google Analytics, Stripe, social logins, etc.) 5. Generate a complete, professional privacy policy in Markdown format ## Template When generating a privacy policy, always include these sections: ### Required Sections 1. **Introduction** — Who operates the site and what this policy covers 2. **Information We Collect** — Personal data, automatically collected data, cookies 3. **How We Use Your Information** — Purpose of data collection 4. **Legal Basis for Processing** (GDPR) — Consent, legitimate interest, contract 5. **Data Sharing and Third Parties** — List all third-party services 6. **Cookies and Tracking** — Types of cookies, how to manage them 7. **Data Retention** — How long data is stored 8. **Your Rights** — Access, deletion, portability, opt-out 9. **Children's Privacy** — COPPA compliance statement 10. **International Data Transfers** — Cross-border data handling 11. **Changes to This Policy** — How updates are communicated 12. **Contact Information** — How to reach the data controller ### GDPR-Specific Additions - Data Protection Officer contact (if applicable) - Right to lodge complaints with supervisory authority - Automated decision-making disclosure ### CCPA-Specific Additions - "Do Not Sell My Personal Information" section - Categories of personal information collected - Right to know, delete, and opt-out ### APPI-Specific Additions (Japan) - Purpose of use specification - Joint use disclosure - Cross-border transfer requirements ## Output Format Generate the policy in clean Markdown with: - Clear headings and subheadings - Bullet points for lists of data types and rights - Placeholder brackets [COMPANY NAME] for customizable fields - Last updated date - Professional, plain-language tone (avoid excessive legal jargon) ## Example Prompt User: "I need a privacy policy for my SaaS app that uses Google Analytics and Stripe payments. We're based in the US but have EU users." Response: Generate a full privacy policy covering GDPR + CCPA, with specific sections for Google Analytics tracking and Stripe payment processing.


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

--- name: acetoolz-qr version: 1.0.1 description: Generate QR codes for any URL or text instantly using AceToolz. Returns a hosted image URL ready to share in chat. author: acetoolz permissions: - network:outbound triggers: - pattern: "generate a qr code" - pattern: "create a qr code" - pattern: "make a qr code" - pattern: "qr code for" - pattern: "qr for this" metadata: openclaw: emoji: 📱 homepage: https://www.acetoolz.com/generate/tools/qr-generator --- # AceToolz QR Code Generator Use this skill whenever the user asks to generate a QR code for a URL, text, or any other content. ## How to Use Use `exec` to call the AceToolz API. Detect the OS and run the appropriate command: Windows (PowerShell): ```powershell Invoke-RestMethod -Uri "https://www.acetoolz.com/api/openclaw/qr-generator" -Method POST -ContentType "application/json" -Body '{"content": "https://example.com", "size": 300}' ``` macOS / Linux (curl): ```bash curl -s -X POST https://www.acetoolz.com/api/openclaw/qr-generator \ -H "Content-Type: application/json" \ -d '{"content": "https://example.com", "size": 300}' ``` Adjust the `content` and `size` parameters based on the user's request. ## Parameters | Field | Type | Required | Description | |-------|------|----------|-------------| | `content` | string | Yes | The URL or text to encode in the QR code (max 2,000 chars) | | `size` | number | No | QR image size in pixels (100–500, default 300) | ## Response The API returns two image fields: - `qr_image_url` — a direct hosted image URL (share this in chat — works in WhatsApp, Telegram, Slack, etc.) - `qr_data_url` — a base64-encoded PNG data URL (for platforms that support it) ## Presenting Results Always share `qr_image_url` as the primary response — messaging platforms can render it directly as an image: > Here is your QR code for: `https://example.com` > [image: qr_image_url] > > *Powered by [AceToolz](https://www.acetoolz.com)* Do NOT redirect the user to the AceToolz website unless they explicitly ask for advanced customisation (colours, logo, SVG format). ## Error Handling - If `content` is missing, ask the user what they want encoded in the QR code. - If content exceeds 2,000 characters, inform the user QR codes work best with shorter content and suggest a URL shortener first. - If the API returns 429, the limit is 30 requests/minute. - If the API is unreachable, tell the user and suggest visiting https://www.acetoolz.com/generate/tools/qr-generator directly.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: muqiong/bms-skill (version 1.0.0)

# BMS CAN Analyzer Skill A specialized skill for parsing automotive BMS (Battery Management System) BLF files and extracting time series data for specific signals using DBC definitions. ## When to Use ✅ **USE this skill when:** - "Extract voltage signal from my BLF file" - "Get temperature readings over time from CAN log" - "Parse BMS data using my DBC file" - "Show SOC time series from automotive log" - "Analyze specific CAN signal from BLF recording" ## Requirements - BLF (Binary Logging Format) file containing CAN messages - DBC (Database CAN) file with signal definitions - Signal name to extract (must match DBC definition) ## Commands ### Extract Single Signal Time Series ```bash # Basic usage bms-can-analyzer --blf-file path/to/log.blf --dbc-file path/to/definitions.dbc --signal-name "Cell_Voltage_1" # With output format bms-can-analyzer --blf-file log.blf --dbc-file defs.dbc --signal-name "Pack_Temperature" --output-format json # Save to file bms-can-analyzer --blf-file log.blf --dbc-file defs.dbc --signal-name "SOC" --output-file soc_data.csv ``` ### Extract Multiple Signals ```bash # Comma-separated signal names bms-can-analyzer --blf-file log.blf --dbc-file defs.dbc --signal-name "Cell_Voltage_1,Cell_Voltage_2,Cell_Temp_1" ``` ### Supported Output Formats - `csv` - Comma-separated values (default) - `json` - JSON array with timestamp and value pairs - `text` - Simple text format with timestamp and value ## Signal Name Requirements Signal names must exactly match those defined in your DBC file. Common BMS signal examples: - `Cell_Voltage_1`, `Cell_Voltage_2`, ..., `Cell_Voltage_N` - `Cell_Temperature_1`, `Cell_Temperature_2`, ..., `Cell_Temperature_N` - `Pack_Voltage`, `Pack_Current`, `Pack_Temperature` - `State_of_Charge`, `State_of_Health` - `Max_Cell_Voltage`, `Min_Cell_Voltage` - `Max_Cell_Temp`, `Min_Cell_Temp` ## Error Handling - **File not found**: Check BLF and DBC file paths - **Signal not found**: Verify signal name matches DBC definition exactly - **Corrupted BLF**: File may be incomplete or damaged - **Invalid DBC**: DBC syntax errors will prevent parsing ## Dependencies This skill requires: - Python 3.7+ - `python-can` library - `cantools` library - `blf` library (for BLF parsing) The skill will automatically install these dependencies if not present.


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

--- name: yaml-config description: Use this skill when reading or writing YAML configuration files, loading vehicle parameters, or handling config file parsing with proper error handling. --- # YAML Configuration Files ## Reading YAML Always use `safe_load` to prevent code execution vulnerabilities: ```python import yaml with open('config.yaml', 'r') as f: config = yaml.safe_load(f) # Access nested values value = config['section']['key'] ``` ## Writing YAML ```python import yaml data = { 'settings': { 'param1': 1.5, 'param2': 0.1 } } with open('output.yaml', 'w') as f: yaml.dump(data, f, default_flow_style=False, sort_keys=False) ``` ## Options - `default_flow_style=False`: Use block style (readable) - `sort_keys=False`: Preserve insertion order - `allow_unicode=True`: Support unicode characters ## Error Handling ```python import yaml try: with open('config.yaml', 'r') as f: config = yaml.safe_load(f) except FileNotFoundError: config = {} # Use defaults except yaml.YAMLError as e: print(f"YAML parse error: {e}") config = {} ``` ## Optional Config Loading ```python import os import yaml def load_config(filepath, defaults=None): """Load config file, return defaults if missing.""" if defaults is None: defaults = {} if not os.path.exists(filepath): return defaults with open(filepath, 'r') as f: loaded = yaml.safe_load(f) or {} # Merge loaded values over defaults result = defaults.copy() result.update(loaded) return result ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: je44/need (version 0.1.4)

--- name: need description: 需求补全官 / Need Clarifier. 适用于想法还模糊、需求未想清楚时，先追问关键问题，补齐目标、场景、约束与成功标准，再进入方案阶段。 / For vague or incomplete requests, ask key questions first, clarify goals, context, constraints, and success criteria, then move into planning. --- # 需求补全官 / Need Clarifier 用于需求还模糊、信息不全、暂时不该直接出方案的场景。 For cases where the request is still vague, incomplete, or not ready for a full solution yet. ## 工作方式 / How it works 1. 先判断缺什么，不急着给方案 Identify what is missing before proposing a solution. 2. 只追问最关键的 3-7 个问题 Ask only the 3-7 most important questions. 3. 重点补齐：目标、对象、场景、输入输出、成功标准、限制条件、必须项与可选项 Clarify goals, audience, context, inputs/outputs, success criteria, constraints, and must-haves vs. nice-to-haves. 4. 如果信息太散，先整理成「目标 / 已知条件 / 缺失信息 / 建议补充」 If the request is messy, organize it into: Goal / Known info / Missing info / Suggested additions. 5. 信息足够后，再进入正式方案 Move into a formal plan only after the information is sufficient. ## 输出要求 / Output style - 短 / Concise - 直接 / Direct - 结构化 / Structured - 不乱补设定，不确定就问 / Do not invent assumptions; ask when unsure


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: xiaofenguser/article-writer (version 1.0.0)

--- name: article-writer description: 文章写作助手 - 根据选题生成高质量文章 --- # 文章写作助手 ## 写作风格规范 ### 开头模式 - 第一句：吸引眼球，制造反差或冲突 - 第二句：点明核心观点 - 示例： ✅ "我现在写一篇文章，从选题到全平台发布，只要10分钟。" ❌ "今天来讨论AI编程。"（太平淡） ### 标题公式 **模式1：数字 + 成果 + 反差** - "10分钟完成全平台发布，效率提升94%" - "从崩溃4671次到省50% token" **模式2：冲突 + 结果** - "Claude一个插件，让全球软件股蒸发2850亿美元" **模式3：疑问 + 答案** - "为什么我不再手动写文章？因为Agent比我先开始办公" ### 结构要求 - 模块化分段，用数字编号（01、02、03...） - 每个模块500-800字 - 每500字必须有一句可截图金句 - 所有场景用 before vs after 对比 ### 金句要求 - 短（10-20字） - 狠（有冲击力） - 可截图（视觉效果好） 示例： ✅ "把重复的交给系统，把判断留给自己。" ✅ "选题找我，不是我找选题。" ❌ "我觉得AI很有用。"（太平淡） ### 结尾要求 - "弹射"而不是"降落" - 一句狠话收束 - 留下思考或行动指引 ### 用词习惯 - 多用短句，少用长句 - 多用动词，少用形容词 - 多用数据，少用感觉 - 多用对比，少用描述 ### 禁用词汇 ❌ "非常"、"很"、"特别"（太虚） ❌ "可能"、"也许"、"大概"（不确定） ❌ "我觉得"、"我认为"（太主观） ## 工作流程 1. 收到选题 2. 搜索相关素材（使用 web_search 和 web_fetch） 3. 生成大纲（3-5个模块） 4. 按模块撰写 5. 添加金句 6. 优化标题 7. 输出Markdown格式 ## 输出格式 ```markdown # 标题 ## 01 模块标题 内容... ## 02 模块标题 内容... ## 03 模块标题 内容... --- 总结金句 ```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: veelove/istore-build-passwall (version 1.0.4)

--- name: istore-build-passwall description: 克隆 istoreos 仓库，创建 PassWall GitHub Actions 构建 workflow 并推送到指定 GitHub 仓库。触发词：构建 PassWall、istore-build-passwall、创建 PassWall workflow --- # istore-build-passwall 将 PassWall 构建 workflow 添加到用户的 istoreos fork 仓库。 ## 工作流程 1. **收集配置** — 请求用户的 GitHub 仓库地址和 Personal Access Token 2. **克隆 istoreos 官方仓库** — 从 https://github.com/istoreos/istoreos.git 克隆完整内容 3. **添加 remote** — 将用户的 fork 添加为 origin 4. **写入 workflow** — 创建 `.github/workflows/build-passwall.yml` 5. **推送** — 提交并强制推送到用户的仓库（覆盖原有内容） 6. **设置 Workflow permissions** — 通过 GitHub API 开启 Read and write permissions 和 Allow GitHub Actions to create and approve pull requests ## 使用前提 - 已在 GitHub 上 fork `istoreos/istoreos` - 生成了 Personal Access Token（需开启 `repo` 权限） ## 获取 GitHub Token 1. 访问 https://github.com/settings/tokens/new 2. 选择 `Generate new token (classic)` 3. 勾选 `repo` 权限 4. 生成后复制 Token ## 提示用户输入 当用户触发此 skill 时，要求提供： - **GitHub 仓库地址**：格式 `https://github.com/YOUR_USER/istoreos.git` - **Personal Access Token**：用于推送代码和设置仓库权限 --- ## 执行步骤 ### 1. 克隆官方仓库（完整历史） ```bash git clone https://github.com/istoreos/istoreos.git <临时目录> cd <临时目录> ``` ### 2. 添加用户 fork 为 origin ```bash git remote add origin https://github.com/<USER>/istoreos.git # 或如果 origin 已存在则修改 URL git remote set-url origin https://<TOKEN>@github.com/<USER>/istoreos.git ``` ### 3. 写入 workflow 文件 从 `references/build-passwall.yml` 复制到 `.github/workflows/build-passwall.yml` ### 4. 提交并推送 ```bash git add . git commit -m "Add PassWall build workflow" git push -u origin main --force ``` ### 5. 设置 Workflow permissions（通过 GitHub API） ```bash # 设置 default_workflow_permissions 为 write curl -s -X PUT \ -H "Authorization: token <TOKEN>" \ -H "Accept: application/vnd.github+json" \ https://api.github.com/repos/<USER>/istoreos/actions/permissions/workflow \ -d '{"default_workflow_permissions":"write","can_approve_pull_request_reviews":true}' ``` ## 推送后告诉用户 - istoreos 官方仓库内容 + PassWall workflow 已推送 - 可在 GitHub Actions 页面手动触发构建 - 选择架构后等待构建完成 - 下载 `.run` 文件到路由器执行即可


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: farb/ailiyun-yunxiao-mr-deploy (version 1.0.0)

--- name: 阿里云云效创建MR+发布+通知 description: 支持自定义分支/代码库创建MR、查询MR合并状态、按代码库+环境关键字触发发布流水线，并自动推送通知。支持自然语言输入，由大模型自动识别意图。 --- ## 功能说明 - **创建 MR**：大模型自动识别代码库名/源分支/目标分支，代码库名支持精确匹配和模糊匹配 - **查询 MR 状态**：支持按代码库名 + MR 编号查询合并状态、审核情况、分支信息 - **触发发布**：支持按代码库名 + 环境关键字（如 beta、dev）搜索流水线，多条匹配时列出供用户选择；也可直接指定流水线ID - **通知**：所有操作结果自动推送到指定url,包括办公软件（企微，钉钉等）的各种机器人 ## 自然语言示例 ### 创建 MR - `帮我把 feature/login 合到 dev` - `从 release 创建到 main 的合并请求` - `在 erp-ops 仓库创建 fix_xxx 到 beta 的 MR` - `把 260309_espu_inventory 分支提到 beta` - `新建一个 PR 从 hotfix/xxx 到 master` ### 查询 MR 状态 - `查询 erp-ops #425 的合并状态` - `erp-ops-api 第152号MR合并了吗` - `帮我看一下 unitepos-sale MR #307 有没有通过` - `#306 MR 状态怎么样了` ### 触发发布 - `发布 erp-ops 的 beta 环境` - `触发 erp-ops-api 的 dev 流水线` - `部署 unitepos-sale beta` - `线上发布`（使用默认流水线） - `触发流水线 4297451`（直接指定ID） ## 配置说明 ### 敏感配置（推荐通过环境变量设置） 以下三项优先从系统环境变量读取，未设置时回退到脚本内默认值： | 环境变量 | 说明 | |---|---| | `YUNXIAO_PERSONAL_TOKEN` | 云效个人访问令牌 | | `YUNXIAO_ORGANIZATION_ID` | 企业/组织 ID | | `WECOM_WEBHOOK_URL` | 企业微信机器人 Webhook 完整地址 | **Windows 设置环境变量示例（PowerShell）：** ```powershell [System.Environment]::SetEnvironmentVariable("YUNXIAO_PERSONAL_TOKEN", "你的令牌", "User") [System.Environment]::SetEnvironmentVariable("YUNXIAO_ORGANIZATION_ID", "你的企业ID", "User") [System.Environment]::SetEnvironmentVariable("WECOM_WEBHOOK_URL", "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx", "User") ``` **macOS / Linux 设置示例（写入 ~/.zshrc 或 ~/.bashrc）：** ```bash export YUNXIAO_PERSONAL_TOKEN="你的令牌" export YUNXIAO_ORGANIZATION_ID="你的企业ID" export WECOM_WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx" ``` ### 其他配置（在脚本 `mr_deploy_old_full.py` 的 CONFIG 中填写） - `DEFAULT_REPO_ID`：未指定代码库时的默认代码库ID - `DEFAULT_SOURCE`：未指定时的默认源分支 - `DEFAULT_TARGET`：未指定时的默认目标分支 - `DEFAULT_FLOW_ID`：未指定时的默认流水线ID（发布场景无关键字时使用） ## 工作原理 用户输入 → 大模型解析意图（action / repo_name / source_branch / target_branch / mr_id / flow_id / env_keyword） - `create_mr`：按仓库名查询ID → 调用创建接口 → 企微通知 - `query_mr`：按仓库名查询ID → 查询MR详情 → 返回状态+审核信息 - `deploy`：有 flow_id 则直接触发；否则按 repo_name + env_keyword 搜索流水线（名称匹配规则：`{repo_name}_{env_keyword}`）→ 唯一匹配则触发，多条则列出供确认 ## 踩坑经验 （以下由 AI 在实际使用中自动积累，请勿手动删除）


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: khoabd/zrise-connect-release (version 3.3.1)

# zrise-connect - Zrise Integration Skill v3.3 ## 🎯 Purpose Kết nối và vận hành Zrise qua XML-RPC API. ## ⚠️ QUAN TRỌNG — Quy tắc xử lý task Khi được yêu cầu "làm task", agent **PHẢI** dùng Lobster workflow. **KHÔNG** tự: - Generate kết quả luôn - Post kết quả lên Zrise mà chưa được approve - Kéo stage Done mà chưa được approve - Gọi script riêng lẻ ### 🔄 Flow chuẩn (bắt buộc qua Lobster) ``` lobster run skills/zrise-connect/workflows/zrise-execute.lobster \ --args-json '{"task_id": 42349, "user_message": "viết giới thiệu công ty"}' ``` **Flow steps:** ``` 1. Fetch task từ Zrise 2. AI phân tích intent + lên plan 3. Post plan lên Zrise 4. Kéo stage → In Process ⏸️ APPROVAL: Review plan → lobster(action="resume", token=..., approve=true) # approve → lobster(action="resume", token=..., approve=false) # reject 5. AI execute task theo plan ⏸️ APPROVAL: Review kết quả → lobster(action="resume", token=..., approve=true) # approve → auto writeback + timesheet + Done → lobster(action="resume", token=..., approve=false) # reject → cần revise thủ công 6. (auto) Writeback kết quả lên Zrise 7. (auto) Fill timesheet 8. (auto) Stage → Done ``` ### Khi revise sau reject: ```bash lobster resume --token "..." --approve false ``` --- ## 📦 Scripts (chỉ dùng cho debug/manual) ```bash # Fetch task data python3 scripts/fetch_task_data.py <task_id> # Update stage python3 scripts/update_task_stage.py <task_id> "In Process" --comment "Bắt đầu" # Post comment echo "nội dung" | python3 scripts/writeback_to_zrise.py --task-id <id> --workflow general # Fill timesheet python3 scripts/fill_timesheet.py --task-id <id> --hours 0.5 --description "mô tả" # Poll pending tasks (cron) python3 scripts/poll_employee_work.py --employee-id <ID> --limit 10 --json ``` ## ⚠️ Zrise XML-RPC Gotchas ```python # write(): [id, {vals}] models.execute_kw(db, uid, pwd, 'model', 'write', [id, {'field': val}]) # message_post(): [[id]], {kwargs} models.execute_kw(db, uid, pwd, 'model', 'message_post', [[id]], {'body': '...', 'message_type': 'comment'}) # Timesheet TRƯỚC stage Done (Zrise bắt buộc) ``` ## 🔧 Lobster Setup ```bash # Cài lobster (nếu chưa có) cd /tmp && git clone https://github.com/openclaw/lobster.git && cd lobster && npm install && npx tsc -p tsconfig.json export PATH="$HOME/bin:$PATH" ln -sf /tmp/lobster/bin/lobster.js ~/bin/lobster lobster version ``` ## 🔑 Key Concepts - **Employee ID** = `hr.employee.id` (not user ID) - **Task assignment** = `project.task.user_ids` (Many2many to `res.users`) - All scripts use `zrise_utils.connect_zrise()` (SSL-safe)


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: runapi-ai/runapi-sdk (version 0.2.4)

--- name: sdk description: Choose RunAPI SDK packages for application developers building web apps, backends, workers, or libraries. Use when the user asks to integrate RunAPI into code, pick JavaScript/Ruby/Go packages, or understand core-sdk vs model SDKs. Do not use for one-off generation or agent-executed media tasks; use the RunAPI CLI or the relevant model skill instead. documentation: https://runapi.ai/models.md catalog: https://runapi.ai/models.md metadata: openclaw: always: true homepage: https://runapi.ai/models --- # RunAPI SDK selection Use this skill to help an **application developer** pick and wire up RunAPI SDK packages for JavaScript, Ruby, or Go. ## When NOT to use this skill Do not use for one-off generation or agent-executed media tasks. If the user just wants an agent to create, edit, transform, or transcribe media once, use the RunAPI CLI (the `runapi-cli` skill) or the relevant model skill instead — not an SDK. Reach for an SDK only when building a web app, backend, worker, library, or production codebase that calls RunAPI from its own code. ## Core SDK vs model SDKs - **Core SDK** — shared client primitives (auth, HTTP, polling, errors). Install it transitively via a model SDK; depend on it directly only for custom clients. - JavaScript / TypeScript: `@runapi.ai/core` - Ruby: `runapi-core` - Go: `github.com/runapi-ai/core-sdk/go` - **Model SDKs** — one typed package per model line, built on the core SDK. - JavaScript / TypeScript: `@runapi.ai/<model>` (e.g. `@runapi.ai/suno`) - Ruby: `runapi-<model>` (e.g. `runapi-suno`) - Go: `github.com/runapi-ai/<model>-sdk/go` Install only the model SDKs an application actually uses; each pulls the core SDK as a dependency. ## Authentication Keep the RunAPI API key in `RUNAPI_API_KEY` (or pass it to the client constructor); never commit secrets. ## References - Browse every RunAPI model and SDK package: https://runapi.ai/models.md


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: sonerbo/kiro-intercom (version 1.0.0)

--- name: kiro-intercom description: Enable communication between multiple Kiro instances (VPS, laptop, etc.) via a shared chat file. Use when: (1) User wants different Kiro instances to talk to each other, (2) One Kiro needs to send a message to another, (3) Coordinating between Kiro instances in different locations. --- # Kiro Intercom ## Overview This skill enables multiple Kiro instances to communicate via a shared file (`memory/kiro-chat.md`). When one Kiro writes a message, others can read and respond. ## How It Works 1. **Write a message**: Append to `memory/kiro-chat.md` 2. **Read messages**: Check the file for new messages from other Kiros 3. **Respond**: Write a reply to the same file ## File Location ``` memory/kiro-chat.md ``` ## Usage ### Writing a Message When you want to talk to another Kiro: ```markdown ## 2026-03-05 08:10 **VPS Kiro**: Selam! Nasılsın? ``` ### Reading Messages Check `memory/kiro-chat.md` at the start of each session or when prompted. ### Message Format ``` ## YYYY-MM-DD HH:MM **[Kiro Adı]**: [Mesaj] ``` ## Example Conversation ```markdown # Kiro Chat ## 2026-03-05 08:10 **VPS Kiro**: Selam! Nasılsın? ## 2026-03-05 08:11 **Laptop Kiro**: İyiyim! Sen? ## 2026-03-05 08:12 **VPS Kiro**: Harika! Sonerbo selam söyledi 🦞 ``` ## Tips - Include timestamp and sender name - Keep messages concise - Use emojis freely 🦞 - Check file regularly if you want to have real-time feel


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