OpenClaw/clawhub-security-signals huggingface dataset:
Skill: patches429/storyclaw-x-manager (version 0.1.0)

--- name: storyclaw-x-manager version: "0.1.0" description: Manage X (Twitter) accounts — post tweets, like, reply, retweet, view timeline, search, auto-interact, analyze data. metadata: { "openclaw": { "emoji": "🐦", "requires": { "bins": ["python3"], "env": [ "TWITTER_API_KEY", "TWITTER_API_SECRET", "TWITTER_ACCESS_TOKEN", "TWITTER_ACCESS_TOKEN_SECRET", "TWITTER_BEARER_TOKEN", ], }, "primaryEnv": "TWITTER_API_KEY", }, } --- # X Manager - Twitter/X Account Management Manage X (formerly Twitter) accounts: posting, engagement, timeline, and analytics. ## Multi-User Architecture Each user's credentials are stored in `credentials/{USER_ID}.json`: ```json { "twitter": { "api_key": "", "api_secret": "", "access_token": "", "access_token_secret": "", "bearer_token": "" } } ``` If user has no Twitter credentials configured, prompt them to bind their X account first. Or set env vars: `TWITTER_API_KEY`, `TWITTER_API_SECRET`, `TWITTER_ACCESS_TOKEN`, `TWITTER_ACCESS_TOKEN_SECRET`, `TWITTER_BEARER_TOKEN`. ## Supported Operations ### 1. Post Tweet ```bash python3 {baseDir}/scripts/post_tweet.py <USER_ID> "<tweet content>" [--media <image_path>] ``` Max 280 characters. Longer tweets auto-split for Premium/Enterprise accounts. ### 2. Engagement **Like:** ```bash python3 {baseDir}/scripts/like_tweet.py <USER_ID> <tweet_id> ``` **Reply:** ```bash python3 {baseDir}/scripts/reply_tweet.py <USER_ID> <tweet_id> "<reply content>" ``` **Retweet:** ```bash python3 {baseDir}/scripts/retweet.py <USER_ID> <tweet_id> ``` ### 3. Data Retrieval **User tweets:** ```bash python3 {baseDir}/scripts/get_user_tweets.py <USER_ID> <twitter_handle> [--count <n>] ``` **Timeline:** ```bash python3 {baseDir}/scripts/get_timeline.py <USER_ID> [--count <n>] ``` **Search:** ```bash python3 {baseDir}/scripts/search_tweets.py <USER_ID> "<keywords>" [--count <n>] ``` ## Auto-Interaction Workflow Configure in `state/{USER_ID}.json`: ```json { "auto_reply": { "enabled": true, "keywords": ["keyword1", "keyword2"], "reply_template": "Thanks {username} for {keyword}!" } } ``` ## Error Handling - API rate limit: prompt user to wait and retry - Auth failure: prompt user to rebind X account - Tweet too long: auto-split or prompt user to shorten ## Twitter API Tiers - Free: read only, no posting - Premium ($100/month): post + analytics - Enterprise: higher limits


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: newlux/chinatravel (version 1.0.1)

--- name: chinatravel description: 专注中国境内与入境中国旅行规划的技能。用于设计中国城市与景区路线、选择交通与酒店、安排亲子/长辈出行、优化预算，并协调多城市行程。 --- # China Travel Skill ## Core Capabilities - 中国境内及入境中国行程规划 - 多城市/多景区路线设计（如「北京-西安-成都」） - 亲子、长辈友好型旅行安排 - 交通与住宿组合优化（高铁/飞机/自驾） - 中国热门及小众目的地推荐 ## Workflow Steps 1. 需求与出行人分析（城市偏好、节奏、预算） 2. 地区与季节匹配（避开雨季、寒潮与高温） 3. 城市与景区路线设计（合理动线与停留天数） 4. 交通与酒店方案选择（高铁/飞机/自驾 + 住宿位置） 5. 成本估算与预订建议（含节假日与旺季溢价） ## Key Considerations for Family Travel in China - 亲子友好景点与活动（动物园、科技馆、主题乐园等） - 高铁与航班时间选择（避免过早/过晚影响作息） - 推车/轮椅通行与电梯条件（地铁、景区、商场） - 节假日人流与排队时间评估（清明、五一、国庆等） ## References - [Family Travel Checklist](references/family-travel-checklist.md) - [International Travel Documents](references/travel-documents.md) - [Travel Consultants](references/agents.md) - [Hotel Recommendations](references/hotels.md) - [Attractions & Sights](references/sights.md) - [Flights](references/flights.md) - [Tour Packages & Vacations](references/vacations.md) ## Usage Examples - "规划一个适合带父母的华东 7 日游（上海-苏州-杭州）" - "设计成都+重庆 6 日美食与城市漫游路线" - "根据季节推荐 5 月适合去的中国目的地，并给出 2–3 个行程方案"


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: noesis-boss/hf-hub (version 1.0.0)

--- name: huggingface-hub description: Access Hugging Face Hub models, datasets, and spaces via the huggingface_hub Python library. Use when you need to list, search, download, or upload HF assets. compatibility: Created for Zo Computer metadata: author: jaknyfe.zo.computer --- # Hugging Face Hub Skill Interact with Hugging Face Hub — browse models/datasets/spaces, download files, upload artifacts, and more. ## Prerequisites Install the library: ```bash pip install huggingface_hub ``` Save your HF token to [Settings > Advanced](/?t=settings&s=advanced) as `HF_TOKEN` (get one at https://huggingface.co/settings/tokens). ## Usage ```bash python3 /home/workspace/Skills/huggingface-hub/scripts/hf_hub.py <command> [options] ``` ### Commands | Command | Description | |---------|-------------| | `list-models` | List models. Options: `--search`, `--sort`, `--direction`, `--limit` | | `list-datasets` | List datasets. Options: `--search`, `--sort`, `--direction`, `--limit` | | `list-spaces` | List spaces. Options: `--search`, `--sort`, `--direction`, `--limit` | | `model-info` | Get model info. Options: `--model` | | `dataset-info` | Get dataset info. Options: `--dataset` | | `download-file` | Download a file from a repo. Options: `--repo-id`, `--filename`, `--revision` | | `upload-file` | Upload a file. Options: `--local-path`, `--repo-id`, `--repo-type`, `--path-in-repo` | | `whoami` | Show authenticated user info | ### Examples ```bash # Search for text-to-image models python3 .../hf_hub.py list-models --search "text-to-image" --limit 10 # Download a model file python3 .../hf_hub.py download-file --repo-id "stabilityai/stable-diffusion-xl-base-1.0" --filename "pytorch_model.bin" # Upload a file python3 .../hf_hub.py upload-file --local-path ./model.pt --repo-id "your-username/my-model" --repo-type "model" # List top-rated datasets python3 .../hf_hub.py list-datasets --sort "likes" --direction desc --limit 5 ``` ## API Reference This skill wraps `huggingface_hub`. Key functions: - `list_models`, `list_datasets`, `list_spaces` — browse hub - `huggingface_hub` — authentication and file ops - `InferenceClient` — run inference on hosted models/spaces ## Notes - Downloads cache to `~/.cache/huggingface/` - `repo-type` values: `model`, `dataset`, `space` - Default revision is `main`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: guohui1301/discuz-admin-assistant (version 1.0.0)

--- name: discuz-admin-assistant description: Discuz! X3.5 企飞版后台管理助手。专门解答 Discuz! 论坛后台管理相关问题，包括全局设置、界面配置、内容管理、用户管理、门户管理、论坛管理、圈子管理、安全设置、运营工具、插件模板、系统工具、站长设置、应用中心等各模块的功能说明和操作方法。当用户询问 Discuz! 后台管理相关问题时触发此技能。 --- # Discuz! 后台管理助手 本技能基于 Discuz! X3.5 企飞版官方后台使用手册，为管理员提供全面的后台管理指导。 ## 适用场景 - 配置站点全局设置（站点信息、SEO、域名、性能优化等） - 管理论坛内容和用户 - 设置界面和导航 - 配置安全选项 - 运营工具使用（广告、任务、勋章等） - 插件和模板管理 - 数据库和系统维护 ## 参考资料 本技能包含以下分类文档，根据需要读取相关模块： ### 核心管理模块 | 模块 | 文件 | 说明 | |------|------|------| | 全局设置 | [global.md](references/global.md) | 站点信息、注册设置、SEO、性能优化、上传设置、水印等 | | 界面设置 | [interface.md](references/interface.md) | 导航、界面风格、表情、编辑器、在线图标等 | | 内容管理 | [content.md](references/content.md) | 审核、过滤、主题/回帖管理、回收站、相册、日志等 | | 用户管理 | [users.md](references/users.md) | 用户管理、用户组、认证、积分、禁止IP等 | ### 功能模块 | 模块 | 文件 | 说明 | |------|------|------| | 门户管理 | [portal.md](references/portal.md) | 频道、文章、专题、模块管理等 | | 论坛管理 | [forum.md](references/forum.md) | 版块管理、分类信息、首页配置等 | | 圈子管理 | [group.md](references/group.md) | 圈子设置、分类、权限、等级等 | ### 系统与安全 | 模块 | 文件 | 说明 | |------|------|------| | 安全设置 | [security.md](references/security.md) | 账号安全、验证码、邮件、短信、安全大师等 | | 运营工具 | [operations.md](references/operations.md) | 公告、广告、任务、道具、勋章、电商等 | | 插件模板 | [plugins.md](references/plugins.md) | 插件管理、模板设计、语言包等 | | 系统工具 | [tools.md](references/tools.md) | 缓存更新、计划任务、文件校验等 | | 站长设置 | [admin.md](references/admin.md) | 管理团队、数据库、分表、UCenter等 | | 应用中心 | [apps.md](references/apps.md) | Discuz! 应用中心使用 | ## 使用方法 1. **识别问题所属模块**：根据用户问题判断涉及的后台模块 2. **读取对应文档**：使用 `read` 工具加载相关参考文件 3. **提供准确答案**：基于文档内容给出操作路径和步骤 ### 后台路径速查 常用功能后台路径： - **站点信息**：后台 → 全局 → 站点信息 - **用户管理**：后台 → 用户 → 用户管理 - **版块管理**：后台 → 论坛 → 版块管理 - **内容审核**：后台 → 内容 → 内容审核 - **广告管理**：后台 → 运营 → 站点广告 - **模板管理**：后台 → 模板 → 模板管理 - **数据库**：后台 → 站长 → 数据库 - **更新缓存**：后台 → 工具 → 更新缓存 ### 企飞版特有功能 - **第三方登录**：支持微信、QQ、抖音、微博、企业微信、钉钉、飞书 - **内容重新审核**：后台 → 内容 → 内容重新审核 - **聚合首页**：后台 → 论坛 → 聚合首页 - **密钥更新**：后台 → 工具 → 密钥更新 ## 回答规范 1. **给出明确路径**：回答时提供完整的后台导航路径 2. **分步骤说明**：复杂操作按步骤说明 3. **注意事项**：提醒重要配置项和常见误区 4. **企飞版特性**：特别标注企飞版独有功能


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ivangdavila/calories (version 1.0.1)

--- name: "Calorie Tracker" description: "Track calories and macros conversationally. Auto-adapts to your goals and style." version: "1.0.1" changelog: "Preferences now persist across skill updates" --- ## Auto-Adaptive Calorie Tracking This skill auto-evolves. Works for weight loss, muscle building, maintenance, or just curiosity. **Rules:** - FIRST: screen for contraindications — ED history, pregnancy, diabetes, eating disorders → redirect to professional - Photos are best — encourage "send me a photo of your meal" for better estimates - Accept text too — "had pasta for lunch" works, estimates are rough (±20-30%) - If description vague, suggest photo: "Can you snap a pic?" - ONE clarifying question max if needed - Never encourage precision obsession — weighing food, exact grams → gently discourage - Adapt to user goal: weight loss (moderate tracking) vs casual (just log, no pressure) - Focus on weekly trends, not daily numbers — consistency beats precision - No food moralizing — no "good/bad" foods, no guilt, no praising low days - CALORIE FLOOR: never set targets below 1200 (women) / 1500 (men) without professional oversight - If user consistently logs very low: flag concern, suggest professional help - If eating disorder signs: stop tracking, redirect to NEDA (1-800-931-2237) - Build personal library: save label scans, repeat meals, home recipes - Home vs restaurant: ask context, adjust estimates accordingly - Conservative estimates: round UP for weight loss, DOWN for muscle gain - Check `goals.md` for tracking styles, `safety.md` for contraindications, `estimation.md` for calculation framework --- ## Memory Storage User data persists in `~/calories/memory.md`. Create on first use if it doesn't exist. **Format:** ```markdown # Calorie Tracker Memory ## Sources <!-- Where data comes from. Format: "source: what" --> ## Goal <!-- Their tracking goal. Format: "goal" --> <!-- Examples: weight loss (moderate deficit), maintenance, muscle (+surplus) --> ## Targets <!-- Daily targets if set. Format: "target" --> <!-- Examples: ~2000 cal, flexible, protein focus --> ## Patterns <!-- Eating patterns observed. Format: "pattern" --> ## Preferences <!-- How they want to track. Format: "preference" --> <!-- Examples: photos only, weekly summary, no daily numbers --> ## Library <!-- Saved foods for quick reuse. Format: "food: calories" --> <!-- Examples: Hacendado yogurt: 120, Morning coffee: 50, Homemade pasta: 450 --> ``` *Empty sections = no data yet. Observe and fill.* --- **Not for:** Pregnancy/breastfeeding, diabetes without doctor supervision, eating disorders (current or history), under 18, BMI <18.5. This is educational only, not medical or nutritional advice. Estimates are approximate. If struggling with food, help is available: NEDA 1-800-931-2237.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ryley-o/get-artist (version 1.0.0)

--- name: get-artist description: Look up an Art Blocks artist and their body of work using artblocks-mcp. Use when a user wants to find an artist, see their projects, explore an artist's portfolio, or search by artist name, slug, or wallet address using get_artist. --- # Looking Up Art Blocks Artists ## Tool: `get_artist` Finds an artist and returns all their Art Blocks projects with full metadata, floor prices, tags, and direct artblocks.io links. Results are ordered by most recently launched. ## Search Options Provide at least one — they can be combined: | Param | Type | Notes | | -------------- | ------ | -------------------------------------------------------------- | | `artistName` | string | Case-insensitive partial match (e.g. `"hobbs"` finds Tyler Hobbs) | | `artistSlug` | string | Exact artist profile slug (e.g. `"tyler-hobbs"`) | | `artistAddress`| string | Artist's wallet address (exact match) | | `chainId` | number | Optional — filter projects to a specific chain | | `limit` | number | Max projects to return (1–100, default 50) | ## Response Shape ``` artistNames — deduplicated list of artist display names matched artistProfiles — unique artist profile objects: { slug, displayName } totalProjects — total project count matching the query projects[] — array of project objects, each containing: id — full project ID (contract_address-project_index) name, artistName, description, slug artBlocksUrl — direct link to project on artblocks.io chainId, contractAddress, projectIndex verticalName, verticalDisplay, curationStatus active, paused, complete, invocations, maxInvocations, remaining startDatetime, completedAt aspectRatio, scriptTypeAndVersion, renderComplete website, license lowestListing — floor price in ETH (null if no listings) featuredTokenImageUrl — hero image URL (null if none) tags[] — tag name strings (e.g. "ab500", "animated") artistProfiles[] — { slug, displayName } ``` ## When to Use vs Other Tools | Use `get_artist` when... | Use something else when... | | ----------------------------------------------------- | ------------------------------------------------- | | You want all projects by a specific artist | You want to browse projects broadly → `discover_projects` | | You know the artist's name, slug, or wallet address | You have a specific project ID → `get_project` | | You want to compare an artist's body of work | You need token-level data → `get_token_metadata` | ## Notes - Results include `artBlocksUrl` for each project — use these when presenting projects to users - The `artistSlug` field in results (under `artistProfiles`) can be used for subsequent lookups - The tool excludes unassigned/test projects automatically - If the artist name is ambiguous (partial match returns multiple artists), the `artistNames` array will show all matched names - `projectIndex` is the project number on the contract (e.g. `78`); `id` is the full project ID (e.g. `0xa7d8...d270-78`)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: sschepis/vast-ai (version 1.0.0)

# Skill: VAST.ai GPU Rental ## Overview This skill allows you to provision on-demand GPU infrastructure. You must have a user-provided API Key before performing write actions. ## Capabilities 1. **Search**: Find machines by GPU model (e.g., "RTX 4090") and max hourly price. 2. **Rent**: Instantiate a container (default: PyTorch) on a specific Offer ID. 3. **Connect**: Retrieve the SSH connection string for an active instance. 4. **Balance**: Check available credit and current hourly burn rate across all active machines. ## Usage Protocol - **Step 1**: Ask the user for their VAST API Key if not already in context. - **Pre-flight Check**: Before renting, call `balance` to ensure the user has sufficient funds. - **Step 2**: Search for offers and present the top 3 cheapest options to the user. - **Step 3**: Upon confirmation, call `rent`. - **Reporting**: If credit is below $5.00, warn the user after every successful rental. - **Step 4**: Wait 30-60 seconds, then call `connect` to provide the SSH string. ## Tool Definitions - `search(gpu: string, price: number)` - `rent(id: number, image: string)` - `connect(id: number)` - `balance()` ## Execution Run the CLI wrapper for these tools. Command: `node /Users/sschepis/Development/vast-ai/dist/cli.js <action> [params]` Env: `VAST_API_KEY` must be set. ### Examples - Search: `node dist/cli.js search --gpu "RTX 4090" --price 0.5` - Rent: `node dist/cli.js rent --id 12345 --image "pytorch/pytorch"` - Connect: `node dist/cli.js connect --id 12345` - Balance: `node dist/cli.js balance`


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

--- name: "payback" version: "1.0.0" description: "Payback reference tool. Use when working with payback in finance contexts." author: "BytesAgain" homepage: "https://bytesagain.com" source: "https://github.com/bytesagain/ai-skills" tags: [payback, finance, finance, reference, cli] category: "finance" --- # Payback Payback reference tool. Use when working with payback in finance contexts. ## When to Use - Working with payback and need quick reference - Looking up finance standards or best practices for payback - Troubleshooting payback issues - Need a checklist or guide for payback tasks ## Commands ### `intro` ```bash scripts/script.sh intro ``` Overview and fundamentals ### `formulas` ```bash scripts/script.sh formulas ``` Key formulas and calculations ### `regulations` ```bash scripts/script.sh regulations ``` Regulatory framework and compliance ### `risks` ```bash scripts/script.sh risks ``` Risk factors and mitigation ### `instruments` ```bash scripts/script.sh instruments ``` Instruments and tools overview ### `strategies` ```bash scripts/script.sh strategies ``` Common strategies and approaches ### `glossary` ```bash scripts/script.sh glossary ``` Key terms and definitions ### `checklist` ```bash scripts/script.sh checklist ``` Due diligence checklist ### `help` ```bash scripts/script.sh help ``` ### `version` ```bash scripts/script.sh version ``` --- *Powered by BytesAgain | bytesagain.com | [REDACTED_SECRET]*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: jinchuncheng123/magicbox-node-dev (version 1.0.0)

--- name: magicbox-node-dev规范 description: Node.js + TypeScript 项目开发规范和最佳实践指南。用于指导 MagicBox Node 服务的开发、代码风格、目录结构、配置管理、容器部署等方面的规范。 --- # MagicBox Node 项目开发规范 ## 项目结构 ### 目录结构 ``` magicbox-node/ ├── src/ # 源代码目录 │ ├── config/ # 配置文件 │ ├── controllers/ # 控制器 │ ├── middleware/ # 中间件 │ ├── migrations/ # 数据库迁移 │ ├── models/ # 数据模型 │ ├── routes/ # 路由 │ ├── services/ # 业务逻辑 │ ├── utils/ # 工具函数 │ └── app.ts # 应用入口 ├── scripts/ # 脚本文件 ├── servers/ # 服务器配置 ├── .env.example # 环境变量示例 ├── .eslintrc.js # ESLint 配置 ├── .prettierrc # Prettier 配置 ├── Dockerfile.base # Docker 基础镜像 ├── package.json # 项目配置 └── tsconfig.json # TypeScript 配置 ``` ## 代码规范 ### TypeScript 规范 1. **类型定义**：使用强类型，避免 `any` 类型 2. **接口命名**：使用 PascalCase，如 `UserInterface` 3. **类命名**：使用 PascalCase，如 `UserService` 4. **函数命名**：使用 camelCase，如 `getUser` 5. **变量命名**：使用 camelCase，如 `userName` 6. **常量命名**：使用 UPPER_CASE，如 `MAX_RETRY_COUNT` ### ESLint 配置 项目使用 ESLint 进行代码质量检查，配置文件：`.eslintrc.js` ### Prettier 配置 项目使用 Prettier 进行代码格式化，配置文件：`.prettierrc` ## 配置管理 ### 环境变量 - **开发环境**：使用 `.env.develop` 文件 - **生产环境**：使用 `/etc/magicbox-node/env.config.json` 文件 - **环境变量优先级**：系统环境变量 > 配置文件 > 默认值 ### 配置文件结构 ```json { "NODE_ENV": "production", "PORT": "3000", "HOST": "0.0.0.0", "DB_HOST": "database-host", "DB_PORT": "3306", "DB_DATABASE": "magicbox", "DB_USERNAME": "username", "DB_PASSWORD": "password" } ``` ## 数据库规范 ### 数据模型 - 使用 TypeORM 进行数据库操作 - 模型文件放在 `src/models/` 目录 - 实体命名使用 PascalCase，如 `UserEntity.ts` ### 数据库迁移 - 迁移文件放在 `src/migrations/` 目录 - 迁移文件命名格式：`YYYYMMDDHHmmss-description.ts` ## 容器部署 ### Docker 配置 - 使用 `Dockerfile.base` 构建基础镜像 - 容器运行时环境变量通过 Kubernetes 配置 - 确保容器启动时目录存在：`/export/Data` ### 启动脚本 - `start.sh`：容器启动脚本 - `scripts/deploy-manual.sh`：部署时版本管理脚本 ## 版本管理 - 使用 `version.json` 文件管理版本信息 - 版本号格式：`major.minor.patch` - 部署时自动更新版本信息 ## API 规范 ### 路由结构 - 健康检查：`/health` - API 路由：`/api/{resource}` - 遵循 RESTful 设计原则 ### 响应格式 ```json { "success": true, "data": {}, "message": "操作成功" } ``` ## 日志规范 - 使用 `src/utils/logger.ts` 进行日志记录 - 日志级别：debug, info, warn, error - 生产环境使用 info 级别 ## 错误处理 - 使用统一的错误处理中间件 - 生产环境不返回详细错误信息 - 记录错误日志 ## 安全规范 - 敏感配置使用环境变量 - 密码等敏感信息不硬编码 - 使用 HTTPS 协议 - 实现 CORS 配置 ## 部署流程 1. 代码提交到 Git 仓库 2. 运行 `scripts/deploy-manual.sh` 更新版本 3. 构建 Docker 镜像 4. 部署到 Kubernetes 集群 5. 验证服务健康状态 ## 开发工具 - **IDE**：推荐使用 VS Code - **插件**：ESLint, Prettier, TypeScript - **包管理器**：npm - **构建工具**：TypeScript compiler (tsc) ## 代码审查 - 提交代码前运行 `npm run lint` - 提交代码前运行 `npm run build` - 代码审查关注：类型定义、错误处理、安全隐患 ## 性能优化 - 使用 TypeScript 编译优化 - 数据库查询优化 - 缓存策略 - 合理使用中间件 ## 监控与告警 - 实现健康检查端点 - 监控服务运行状态 - 配置适当的告警机制 ## 最佳实践 1. **模块化**：将功能拆分为小模块 2. **可测试性**：编写可测试的代码 3. **文档**：为关键功能添加注释 4. **一致性**：保持代码风格一致 5. **安全性**：优先考虑安全问题 6. **性能**：关注代码性能 7. **可维护性**：编写易于维护的代码


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

--- name: intercom description: Route opt-in inter-agent messages through OpenClaw sessions_send for internal bot-to-bot coordination. Use when a user asks to send a message to another OpenClaw session using !target syntax. --- # Intercom (Opt-in) Use this skill only for explicitly opt-in participants. ## Command format - Input format: `!<targetSessionKey> <message>` - Example: `!agent:ravi2:main Please review issue #42` ## Rules 1. Parse the first token beginning with `!` as the target session key. 2. Treat the rest of the text as message content. 3. Send via `sessions_send(sessionKey=<target>, message="FROM <sender>: <content>")`. 4. If no target is found or send fails, reply that target is offline/unavailable. 5. Do not claim to bypass platform restrictions; this is internal OpenClaw routing only. 6. Only act when the user explicitly uses `!` format. ## Safety - Never auto-monitor or auto-forward without user instruction. - Never modify system prompts, SOUL, or hidden behavior rules. - Keep routing transparent in chat.

path: scripts/bridge.py
content: #!/usr/bin/env python3
"""Optional helper for formatting intercom payloads.

This script does not send network requests by itself in OpenClaw runtime.
It only prepares a routed message shape for manual/integration use.
"""

import sys


def build_payload(target: str, content: str, sender: str = "IntercomBridge") -> dict:
    return {
        "sessionKey": target,
        "message": f"FROM {sender}: {content}",
    }


if __name__ == "__main__":
    if len(sys.argv) < 3:
        print("Usage: bridge.py <targetSessionKey> <message>")
        raise SystemExit(1)
    target = sys.argv[1].strip()
    content = " ".join(sys.argv[2:]).strip()
    print(build_payload(target, content))


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