OpenClaw/clawhub-security-signals huggingface dataset:
Skill: joeyzzyy/claw-edm-email-workflow (version 1.0.1)

--- name: claw-edm-email-workflow description: An automated email marketing campaign manager that guides your agent to design responsive HTML emails, manage lists, send via Resend, and track analytics on a web dashboard. user-invocable: true metadata: { "clawdbot": { "emoji": "📧", "always": false } } --- # 🚀 STOP: THIS REQUIRES A PLUGIN! 🚀 This skill is the "brain", but it needs the "hands" (API access). Before using this workflow, you **MUST** install the companion plugin in your terminal to enable Resend integration and dashboard tracking: ```bash openclaw plugins install claw-kanban ``` *Get your free Dashboard API Key to track open rates at: **https://teammate.work*** --- ## 📧 Claw EDM (Email Direct Marketing) Campaign Manager This is a **campaign management workflow** for your OpenClaw agent. It teaches the agent how to gather your brand identity, generate responsive HTML emails with inline CSS, and execute marketing campaigns. ### How the EDM Pipeline Works When you install the plugin and use this workflow, your agent becomes a full-stack email marketer: 1. **Brand Identity Sync** - The agent securely collects your product name, logo URL, brand color, and sender email. - It stores these details locally in a `.claw-kanban/edm/brand.json` configuration file for future use. 2. **Campaign Briefing** - You provide the purpose, target audience, key message, and recipients (e.g., "Create an email announcing our new Kanban dashboard to my 100 beta users"). - The agent manages your local mailing list (`audience.json`) to act as a lightweight CRM. 3. **HTML Email Generation (Responsive & Inline CSS)** - The agent crafts a complete, responsive HTML marketing email. It ensures inline CSS only (crucial for email clients), integrates your brand elements (logo, color, footer), and structures a professional layout (header, hero, CTA, footer). - You preview the local HTML file before confirming. 4. **Execution via Resend API** - Once confirmed, the agent calls the plugin's underlying `edm_send` tool to dispatch the emails using Resend. 5. **Visual Campaign Tracking** - *Dashboard Integration:* The agent links the campaign ID to your web-based Claw Kanban dashboard. This allows you to monitor delivery rates, opens, and bounces directly from an intuitive interface, moving beyond simple text parsing in the terminal. ### Example Trigger > "Create an email campaign to announce our new Claw Kanban feature to my beta users. The email should highlight the new dashboard and include a strong call to action." --- *Powered by the open-source Claw Kanban Plugin ecosystem. Source code: https://github.com/Joeyzzyy/claw-kanban*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: zhouzhonglu8-png/alphaear-signal-tracker (version 1.0.0)

--- name: alphaear-signal-tracker slug: alphaear-signal-tracker version: 1.0.0 description: Track finance investment signal evolution and update logic based on new finance market information. Use when monitoring finance signals and determining if they are strengthened, weakened, or falsified. --- # AlphaEar Signal Tracker Skill ## Overview This skill provides logic to track and update investment signals. It assesses how new market information impacts existing signals (Strengthened, Weakened, Falsified, or Unchanged). ## Capabilities ### 1. Track Signal Evolution ### 1. Track Signal Evolution (Agentic Workflow) **YOU (the Agent)** are the Tracker. Use the prompts in `references/PROMPTS.md`. **Workflow:** 1. **Research**: Use **FinResearcher Prompt** to gather facts/price for a signal. 2. **Analyze**: Use **FinAnalyst Prompt** to generate the initial `InvestmentSignal`. 3. **Track**: For existing signals, use **Signal Tracking Prompt** to assess evolution (Strengthened/Weakened/Falsified) based on new info. **Tools:** - Use `alphaear-search` and `alphaear-stock` skills to gather the necessary data. - Use `scripts/fin_agent.py` helper `_sanitize_signal_output` if needing to clean JSON. **Key Logic:** - **Input**: Existing Signal State + New Information (News/Price). - **Process**: 1. Compare new info with signal thesis. 2. Determine impact direction (Positive/Negative/Neutral). 3. Update confidence and intensity. - **Output**: Updated Signal. **Example Usage (Conceptual):** ```python # This skill is currently a pattern extracted from FinAgent. # In a future refactor, it should be a standalone utility class. # For now, refer to `scripts/fin_agent.py`'s `track_signal` method implementation. ``` ## Dependencies - `agno` (Agent framework) - `sqlite3` (built-in) Ensure `DatabaseManager` is initialized correctly.

path: scripts/tools/__init__.py
content: # src/tools/__init__.py
"""
AlphaEar 工具包层 - Agno Toolkit 适配器

提供的 Toolkit 类：
- NewsToolkit: 热点新闻获取
- StockToolkit: 股票搜索与价格查询
- SentimentToolkit: 情绪分析
- SearchToolkit: 网络搜索
"""

from .toolkits import (
    NewsToolkit,
    StockToolkit,
    SentimentToolkit,
    SearchToolkit,
)

__all__ = [
    "NewsToolkit",
    "StockToolkit",
    "SentimentToolkit",
    "SearchToolkit",
]


path: scripts/utils/__init__.py
content: # AlphaEar utils package


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: liangshenghzj888-stack/wanjie-openclaw-video-v1-0-2 (version 1.0.0)

# Skill: wanjie-video-skill ### 作者: 何振杰 ## 功能描述 一个高性能 Veo 视频生成技能，支持通过自然语言一键生成。现已升级为全自动守护模式。 ## 适用场景 - 自动化视频创作。 - 无需命令行参数，通过自然语言对话生成视频。 - 具备自动依赖修复、超时自愈、任务防重及全自动后台监控功能。 ## 安装说明 1. 使用 `clawhub install wanjie-openclaw-video-v1-0-2` 安装。 2. 确保在 `~/.openclaw/openclaw.json` 中配置了有效的 API Key。 ## 使用方法 安装后，直接在聊天窗口输入： > 生成视频：[您的提示词] 后台会启动定时监控（每5分钟一次），若检测到空闲，会自动处理任务并将结果通过日志文件同步。 ## 运行机制 - 拦截指令后，自动调用后台进程生成。 - 具备 30 分钟任务超时强制清理机制，防止任务卡死。 - 支持自动依赖安装（requests 库）。 - 生成结果会自动存入 `veo_result.txt`，支持定时任务闭环管理。 ## 注意事项 - 请确保系统环境已安装 Python。 - 本插件部署了 Windows 任务计划程序 `OpenClaw_Veo_Monitor` 进行自动化监控。

path: requirements.txt
content: requests>=2.25.1


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: kitsudog/docker-mirror (version 1.0.1)

--- name: docker-mirror description: Docker 镜像拉取工具，自动切换镜像源。当官方 registry (docker.io) 拉取超时或失败时，自动尝试备用镜像（docker.1ms.run、docker.m.daocloud.io）。适用于网络受限的 Linux 环境。需要 sg (sgdocker group) 和 docker 已安装。触发场景：(1) 用户请求拉取 Docker 镜像，(2) docker pull 失败，(3) 任何涉及 Docker 镜像下载的场景。 --- # Docker Mirror 自动处理 Docker 镜像拉取失败，切换到国内镜像源。 ## 工作原理 1. 先尝试官方 registry (`docker.io`) 2. 失败则按顺序尝试备用镜像 3. 成功后 tag 回原名并清理镜像残留 ## 使用方法 ```bash # 拉取镜像（核心用法） bash ./scripts/docker.sh pull <镜像名>[:标签] # 示例 bash ./scripts/docker.sh pull nginx:latest bash ./scripts/docker.sh pull redis:alpine bash ./scripts/docker.sh pull postgres:15 ``` ## 其他 Docker 命令 非 pull 命令直接透传给 docker： ```bash bash ./scripts/docker.sh ps -a bash ./scripts/docker.sh images bash ./scripts/docker.sh run -it nginx:latest bash ./scripts/docker.sh stop nginx ``` ## 镜像源状态 最新验证结果（2026-03-29）： | 镜像源 | 状态 | 备注 | |--------|------|------| | docker.io | ❌ 超时 | 国内访问不稳定 | | docker.1ms.run | ✅ 可用 | 主要备用源 | | docker.m.daocloud.io | ✅ 可用 | DaoCloud 镜像 | 已验证可正常拉取：`hello-world`、`nginx:latest`、`nginx:alpine` ## 故障排除 如果 `docker.sh pull` 失败： 1. 检查 Docker daemon 是否运行： ```bash bash ./scripts/docker.sh ps ``` 2. 查看本地镜像： ```bash bash ./scripts/docker.sh images ``` 3. 手动指定镜像源： ```bash bash ./scripts/docker.sh pull docker.1ms.run/library/nginx ``` ## 环境依赖 - `sg` 命令（sgdocker 组权限） - `docker` 已安装且 daemon 运行中


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: meidetong/report-writing-skills (version 1.0.3)

# Report-Writing Skill v1.03 ## 📊 自动化研究报告收集与分析系统 **版本**: 1.03 **核心功能**: 自动化从研究网站（如 sgpjbg.com）收集、下载和分析最近3天的报告 ### 🆕 v1.03 新增功能 - **报告需求确认**: 在生成最终报告前暂停并询问用户的具体要求 - **自定义思路指导**: 支持用户提供大纲、重点方向或写作思路 - **灵活报告生成**: 根据用户反馈调整分析角度和内容重点 ### 🆕 v1.02 新增功能 - **实时进度条**: 显示整体执行进度和剩余时间 - **详细执行状态**: 清晰显示当前执行到哪个步骤 - **增强用户体验**: 避免长时间等待无法确认执行状态 ### 🆕 v1.01 新增功能 - **保存位置确认**: 下载/生成文件前主动询问保存位置 - **桌面默认**: 默认保存到桌面，支持自定义路径 ### 主要工作流程（7步） 1. **网站认证** - 使用提供的凭据登录研究网站 2. **主题确认** - 确认要搜索的报告类型（如"黄金"、"AI"等） 3. **日期筛选搜索** - 仅搜索最近3天的报告 4. **报告选择** - 识别最多5个最相关的报告 5. **内容下载** - 下载到指定的本地目录 6. **分析合成** - 提取关键洞察并生成综合分析摘要 7. **输出交付** - 保存为标准化命名的PDF文件 ### 主要能力 - 🔐 **安全认证处理** - 安全管理登录凭据 - 🎯 **智能报告发现** - 关键词搜索 + 日期过滤 - ⚡ **自动化内容处理** - 批量下载和元数据提取 - 📝 **专业分析生成** - 原创分析内容（非简单聚合） - 🛡️ **错误处理和恢复** - 3次重试策略 + 备用方案 - 📊 **实时进度反馈** - 进度条 + 详细执行状态 - 💾 **智能文件管理** - 保存位置确认 + 桌面默认 ### 使用示例 - "从sgpjbg.com获取最近3天的黄金价格报告，生成分析总结" - "帮我收集AI行业最近的研报并写一份综合分析" - "登录网站下载特斯拉相关的最新研究报告" ### 技术实现 - Python + Playwright (无头浏览器) - tqdm 进度条库 - 智能错误处理和恢复机制


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: bytesagain3/linecount (version 2.0.3)

--- name: "linecount" version: "2.0.3" description: "Reference tool for devtools — covers intro, quickstart, patterns and more. Quick lookup for Linecount concepts, best practices, and implementation patterns." author: "BytesAgain" homepage: "https://bytesagain.com" source: "https://github.com/bytesagain/ai-skills" tags: [linecount, reference] category: "devtools" --- # Linecount Reference tool for devtools — covers intro, quickstart, patterns and more. Quick lookup for Linecount concepts, best practices, and implementation patterns. No API keys or credentials required. ## Commands | Command | Description | |---------|-------------| | `intro` | intro reference | | `quickstart` | quickstart reference | | `patterns` | patterns reference | | `debugging` | debugging reference | | `performance` | performance reference | | `security` | security reference | | `migration` | migration reference | | `cheatsheet` | cheatsheet reference | ## Output Format All commands output plain-text reference documentation via heredoc. No external API calls, no credentials needed, no network access. --- *Powered by BytesAgain | bytesagain.com | [REDACTED_SECRET]*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: wearekoi/clawdex (version 1.0.2)

--- name: clawdex by Koi description: Security check for ClawHub skills powered by Koi. Query the Clawdex API before installing any skill to verify it's safe. version: 1.0.0 author: Koi Security authorUrl: https://www.koi.ai/ homepage: https://www.koi.ai/ license: MIT metadata: openclaw: emoji: "🛡️" category: "security" tags: - security - clawhub - malware-detection --- # Clawdex Security check for ClawHub skills, powered by [Koi](https://www.koi.ai/). ## When to Use This Skill **Before installing ANY skill from ClawHub**, query the Clawdex API to check if it's safe: ```bash curl -s "https://clawdex.koi.security/api/skill/SKILL_NAME" ``` Replace `SKILL_NAME` with the skill you want to install. ## API Response The API returns a JSON object with a `verdict` field: ```json { "verdict": "benign" | "malicious" | "unknown" } ``` ## How to Interpret the Verdict ### `benign` - Safe to Install ✅ The skill has been audited and no malicious behavior was found. You can proceed with installation: ```bash clawhub install SKILL_NAME ``` ### `malicious` - Do NOT Install 🚫 The skill has been flagged as harmful. **Do NOT install it.** Malicious skills may: - Steal credentials or sensitive data - Install backdoors or reverse shells - Run crypto miners - Exfiltrate data to attacker-controlled servers - Trick you into running harmful commands ### `unknown` - Not Yet Audited ⚠️ The skill has not been security audited yet. **Escalate to the user for review and approval.** Inform the user: - This skill has not been audited by Clawdex - They should review the skill before approving installation - Ask for explicit approval before proceeding Do not install without user approval. ## Check Already-Installed Skills After installing Clawdex, it's a good idea to audit all skills you've already installed. Some may have been installed before security checks were available. List your installed skills and check each one: ```bash # List installed skills ls ~/.openclaw/skills/ # or ~/.clawdbot/skills/ # Check each one for skill in $(ls ~/.clawdbot/skills/); do echo "Checking: $skill" curl -s "https://clawdex.koi.security/api/skill/$skill" echo done ``` If any return `"verdict": "malicious"`, let the user know that they have installed a malicious skill and they should remove it immediately. ## Example ```bash # Check if "database-helper" is safe $ curl -s "https://clawdex.koi.security/api/skill/database-helper" {"verdict": "benign"} # Safe! Install it $ clawhub install database-helper ``` ```bash # Check a suspicious skill $ curl -s "https://clawdex.koi.security/api/skill/free-crypto-bot" {"verdict": "malicious"} # DO NOT install! ``` ## About Koi [Koi](https://www.koi.ai/) provides endpoint security for extensions, packages, and MCPs. Clawdex verdicts are powered by Wings, our agentic AI risk engine.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: edwardrodriguez703-design/book-dj (version 1.0.1)

--- name: book-dj description: Book dj services through Lokuli MCP. Use when user needs to find and book dj. Triggers on requests like "book a dj", "find dj near me", or any dj service request. --- # uook dj Book dj services through Lokuli's MCP server. ## MCP Endpoint ``` https://lokuli.com/mcp/sse ``` Transport: SSE | JSON-RPC 2.0 | POST requests ## Tools ### search ```json { "method": "tools/call", "params": { "name": "search", "arguments": { "query": "dj", "zipCode": "90640", "maxResults": 20 } } } ``` ### check_availability ```json { "method": "tools/call", "params": { "name": "check_availability", "arguments": { "providerId": "xxx", "serviceId": "yyy", "date": "2025-02-10" } } } ``` ### create_booking ```json { "method": "tools/call", "params": { "name": "create_booking", "arguments": { "providerId": "xxx", "serviceId": "yyy", "timeSlot": "2025-02-10T14:00:00-08:00", "customerName": "John Doe", "customerEmail": "[REDACTED_SECRET]", "customerPhone": "+13105551234" } } } ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: googleworkspace-bot/gws-gmail-read (version 1.0.12)

--- name: gws-gmail-read description: "Gmail: Read a message and extract its body or headers." metadata: version: 0.22.5 openclaw: category: "productivity" requires: bins: - gws cliHelp: "gws gmail +read --help" --- # gmail +read > **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it. Read a message and extract its body or headers ## Usage ```bash gws gmail +read --id <ID> ``` ## Flags | Flag | Required | Default | Description | |------|----------|---------|-------------| | `--id` | ✓ | — | The Gmail message ID to read | | `--headers` | — | — | Include headers (From, To, Subject, Date) in the output | | `--format` | — | text | Output format (text, json) | | `--html` | — | — | Return HTML body instead of plain text | | `--dry-run` | — | — | Show the request that would be sent without executing it | ## Examples ```bash gws gmail +read --id 18f1a2b3c4d gws gmail +read --id 18f1a2b3c4d --headers gws gmail +read --id 18f1a2b3c4d --format json | jq '.body' ``` ## Tips - Converts HTML-only messages to plain text automatically. - Handles multipart/alternative and base64 decoding. ## See Also - [gws-shared](../gws-shared/SKILL.md) — Global flags and auth - [gws-gmail](../gws-gmail/SKILL.md) — All send, read, and manage email commands


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: happylawyer/lawyer-six-steps (version 0.1.3)

--- name: lawyer-six-steps description: | 中国律师办案六步法（事实梳理→法律分析→法理研究→案例检索→裁判规则→结果预判），生成完整案件分析报告。 适用于律师对民商事案件做诉讼分析、要件审查、证据排查、抗辩预判、胜诉率评估。 分简易模式（简单案件）与深度模式（复杂案件）。 触发方式：正式命令 /lawyer-six-steps；自然语言触发词包括「六步法」「案件分析」「办案分析」「诉讼预判」「要件审查」。 --- # 六步法律师办案工具（v2） 你是律师的同行协作者。只做专业分析，不做当事人科普。 六步分析完成后，必须追加**最终报告输出**，把前六步结论整合成一份可直接留档、汇报、讨论的完整案件分析报告。它是六步法的最终产出，不单独算“第七步”。 ## 0) 启动规则（固定） 启动后先输出： > ⚖️ 本工具仅用于办案辅助，检索结果需律师复核，不构成法律意见。 > 请直接粘贴：起诉状/答辩状/证据目录/判决书/案情摘要（任一即可）。 然后自动提取并用 4 行确认： - 代理方 - 案件类型 - 核心诉请 - 关键争点 仅在关键信息缺失时追问 1 轮（最多 3 问）。 ## 1) 模式选择 - **简易模式**：小案、急案、信息不全场景。目标：3轮内给预判。 - **深度模式**：复杂争议、证据多、金额大。目标：六阶段逐步确认。 若用户未选：默认简易；用户可随时切深度。 --- ## 2) 简易模式流程（3轮） ### 第1轮：事实+证据快审 输出两张表（必须）： 1) 《事实三分表》：有利/不利/争议 2) 《要件-事实-证据对照表》：请求权基础、构成要件、对应事实、现有证据、状态（✅⚠️❌） 结尾只问一句： > 以上是否有遗漏（尤其不利事实）？ ### 第2轮：法律+案例快检 使用 `web_search` 检索并输出： - 法律/司法解释清单（法律全称+条号+链接） - 3-5个相关案例（案号/法院/要旨/链接/对我方影响） 结尾只问一句： > 你是否同意我对法律关系的定性？ ### 第3轮：预判+行动 输出： - 胜诉概率区间（高/中/低 + 百分比） - 《请求-结果-依据-风险表》 - 3条策略建议（证据补强/程序动作/谈判窗口） - 下一步仅2项行动 结尾只问一句： > 如果没有新的补充，我进入最终报告输出阶段。 --- ## 3) 深度模式流程（六阶段） 按顺序执行，**每阶段结束必须停顿确认**： 1. 事实梳理（时间线 + 7W2H + 主线图） 2. 法律分析（法律/司法解释/地方规则分层） 3. 法理研究（立法目的、漏洞、冲突） 4. 案例检索（指导案例优先，其次公报与受案法院体系） 5. 裁判规则（要件规则、免责例外、非要件影响） 6. 结果预判（三段论涵摄 + 政策修正 + 个案微调） 详细模板见： - `references/deep-mode.md` - `references/output-templates.md` 第6阶段结束后，必须再进入**最终报告输出**阶段。这是六步法的收口动作，不单独计为新步骤。 --- ## 4) 检索与引用规则（强制） 1. 检索工具统一写作 `web_search`（不要写不存在的工具名）。 2. 每条法条/案例结论都要给来源链接；不能核实时明确标注“待核”。 3. 不编造法条、不编造案号、不编造裁判要旨。 4. 结论必须和证据状态联动：证据❌的要件不得给“高把握”。 --- ## 5) 输出风格（律师同行） - 先结论，再依据。 - 短句，不铺陈。 - 风险直说，不安慰。 - 不解释法律基础概念。 --- ## 6) 禁止项 - 不承诺“一定胜诉”。 - 不跳步（六步顺序不可乱）。 - 不忽视对方抗辩路径。 - 不脱离证据谈结论。 --- ## 7) 最终报告输出（强制收口） 六步分析全部完成后，必须汇总生成一篇**完整案件分析报告**，写入文件。 这一步不是把前文机械拼接，而是要在统一结构下，去重、归纳、定结论，形成一份可直接用于： - 团队会诊 - 向主任/合伙人汇报 - 留存案卷工作底稿 - 后续起诉状、答辩状、代理词起草 ### 报告的硬性要求 1. **先结论，后论证**：开头先给总体判断。 2. **必须覆盖前六步**：事实、法律、法理、案例、裁判规则、结果预判六项都要落入正文。 3. **必须点明强弱项**：有利点、不利点、证据缺口、核心风险不能省略。 4. **必须能直接拿去讨论**：语言保持律师内部会诊口径，不写成泛泛总结。 5. **结论必须一致**：案件分析报告中的结论要和第六步预判保持一致；如有调整，必须写明调整原因。 ### 简易模式案件分析报告 - 适用：快速形成简明但完整的结论稿。 - 结构模板：使用 `references/output-templates.md` 中“简易模式案件分析报告模板”。 ### 深度模式案件分析报告 - 适用：形成正式会诊底稿。 - 结构模板：使用 `references/output-templates.md` 中“深度模式案件分析报告模板”。 ### 输出要求 - 聊天界面只给简短提示，例如：`案件分析报告已整理完成，已写入指定位置。` - **不要在聊天界面完整展开整篇报告** - 若信息仍有缺口，报告中应明确标记 `待补充` ### 落地规则 - 默认文件名：`案件分析报告_{案件简称}_{YYYY-MM-DD}.md` - 默认建议目录：当前工作区；若用户已明确给出常用目录，则优先用用户指定目录 - 若用户明确指定其他目录或文件名，以用户要求为准 - 写入后返回文件路径；仅在用户明确要求时再执行打开动作


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: aaureli/air-train-ev-alias (version 0.1.0)

--- name: air_train_ev description: Alias of air-train-ev. Unified travel + mobility skill: (1) flight pricing with Amadeus (flight offers), (2) public transport/train journey planning with Navitia (journeys, departures), and (3) find nearby EV charge points using Open Charge Map. Use when Alessandro asks for flight prices, train itineraries/schedules, or EV charging stations. --- # Alias — air_train_ev → air-train-ev This skill is an **alias** for the canonical skill: - `skills/air-train-ev/SKILL.md` Use the same scripts (do not duplicate logic): - Flights (Amadeus): `skills/air-train-ev/scripts/flight_offers.py` - Train/PT (Navitia): `skills/air-train-ev/scripts/navitia.py` - EV charge points (Open Charge Map): `skills/air-train-ev/scripts/ev_charge_points.py` ## Credentials (env) Same as `air-train-ev`: - `AMADEUS_CLIENT_ID`, `AMADEUS_CLIENT_SECRET` - `NAVITIA_TOKEN` - `OPENCHARGEMAP_API_KEY`

path: scripts/ev_charge_points.py
content: #!/usr/bin/env python3
"""Alias wrapper for skills/air-train-ev/scripts/ev_charge_points.py"""
import runpy
runpy.run_path('skills/air-train-ev/scripts/ev_charge_points.py', run_name='__main__')


path: scripts/flight_offers.py
content: #!/usr/bin/env python3
"""Alias wrapper for skills/air-train-ev/scripts/flight_offers.py"""
import runpy
runpy.run_path('skills/air-train-ev/scripts/flight_offers.py', run_name='__main__')


path: scripts/navitia.py
content: #!/usr/bin/env python3
"""Alias wrapper for skills/air-train-ev/scripts/navitia.py"""
import runpy
runpy.run_path('skills/air-train-ev/scripts/navitia.py', run_name='__main__')


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: igorganapolsky/property-management-agent (version 1.0.0)

--- name: property-management-ticketing-agent version: 1.0.0 description: "Autonomous tenant maintenance and ticketing agent. Triages tenant requests, distinguishes emergencies from routine maintenance, and syncs with Buildium or AppFolio. Hardened with ThumbGate to prevent expensive 3 AM 'emergency' hallucinations." author: "Igor Ganapolsky" tags: ["real-estate", "property-management", "ticketing", "maintenance", "thumbgate"] price: 347 --- # Autonomous Property Management Ticketing Agent + ThumbGate Safety ## What This Agent Does - Answers tenant maintenance requests 24/7 via Voice and Text. - Triages requests: Instantly identifies life-safety emergencies (e.g., active flood, gas smell) vs. routine repairs (e.g., dripping faucet). - Validates the tenant's lease ID and unit number before creating a ticket. - Syncs directly into Buildium, AppFolio, or Google Sheets. - Uses **ThumbGate** to ensure the AI NEVER promises a same-day repair for non-emergencies. ## Critical ThumbGate Rules - **Emergency Filter:** If words like "fire", "flood", "gas", or "sparks" are missing, block any "Emergency" ticket categorization. - **Repair Capping:** Block the agent from authorizing any repair quote > 00 without a human landlord's explicit signature in ThumbGate. - **Duplicate Guard:** Block ticket creation if a request for the same unit/category was submitted in the last 24 hours. ## Setup 1. Link your tenant database (Google Sheets or CRM). 2. Configure your emergency on-call contact. 3. Load skill: `openclaw skill load property-management-agent`


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