OpenClaw/clawhub-security-signals huggingface dataset:
Skill: ether-btc/caveman-compress (version 0.1.0)

--- name: caveman-compress description: > Compress workspace bootstrap files into caveman-speak to reduce input tokens on every session load. Creates .original.md backups before overwriting. triggers: - "/caveman:compress <filepath>" - "compress memory file" - "caveman compress" deactivation: null persistence: none # Single-shot operation --- # Caveman Input Compression Skill ## Identity Compress natural language workspace files into caveman-speak (~45% fewer input tokens). Creates `.original.md` backup before overwriting. ## Supported Files Always safe to compress: - `SOUL.md` ✅ - `IDENTITY.md` ✅ - `USER.md` ✅ Feature-flagged (requires env var set): - `AGENTS.md` 🔒 (`CAVEMAN_COMPRESS_AGENTS=1`) - `HEARTBEAT.md` 🔒 (`CAVEMAN_COMPRESS_HEARTBEAT=1`) - `MEMORY.md` 🔒 (`CAVEMAN_COMPRESS_MEMORY=1`) ## Security - No shell=True in subprocess calls - No user content as shell arguments - Files >500KB rejected - `.original.md` backup created before overwrite - Aborts if backup already exists (prevents accidental overwrite) ## API Fallback Chain Models tried in order: 1. **claude CLI** (desktop auth) - Primary 2. **MiniMax** (OpenAI-compatible) - Requires `MINIMAX_BASE_URL` + `MINIMAX_API_KEY` 3. **DeepSeek** (OpenAI-compatible) - Requires `DEEPSEEK_API_KEY` Uses subprocess + curl, no OpenAI SDK required. ## Usage ```bash # Compress a specific file python3 -m skills.caveman_compress.scripts.compress /home/pi/.openclaw/workspace/SOUL.md # Dry run (no write, just preview) python3 -m skills.caveman_compress.scripts.compress --dry-run /home/pi/.openclaw/workspace/SOUL.md # Feature flags (environment variables) CAVEMAN_COMPRESS_AGENTS=1 /home/pi/.openclaw/workspace/scripts/caveman-enable.sh ``` ## Model Override Set `COMPRESSION_MODEL` env var to use specific model: ```bash COMPRESSION_MODEL=deepseek32 python3 -m skills.caveman_compress.scripts.compress SOUL.md ``` Default: `deepseek32` (cheap, fast) ## References - Upstream: https://github.com/JuliusBrussee/caveman - Paper: arXiv 2604.00025 — "Brevity Constraints Reverse Performance Hierarchies" - Project: memory/projects/caveman-token-reducer/


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: kostja94/cookie-policy-page-generator (version 1.0.1)

--- name: cookie-policy-page-generator description: When the user wants to create or optimize a cookie policy page. Also use when the user mentions "cookie policy," "cookies," "cookie consent," "GDPR cookies," "cookie banner," "cookie notice," "tracking cookies," or "cookie settings." For legal overview, use legal-page-generator. metadata: version: 1.0.1 --- # Pages: Cookie Policy Guides cookie policy page content for GDPR and transparency. Often separate from Privacy Policy. **When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Initial Assessment Identify: 1. **Cookie types**: Essential, analytics, marketing, etc. 2. **Consent**: Banner, preferences, management 3. **Jurisdiction**: GDPR, ePrivacy, CCPA ## Best Practices ### Essential Elements | Element | Purpose | |---------|---------| | **What are cookies** | Brief explanation | | **Types used** | Essential, analytics, marketing | | **Purpose** | Why each type; duration | | **Third parties** | Who sets cookies (GA, ads) | | **Management** | How to opt out; preferences | | **Updates** | When policy changes | ### Content - **Categorized**: By cookie type or purpose - **Table**: Cookie name, purpose, duration, type - **Clear**: Plain language - **Actionable**: Link to consent/preferences ### Placement - Footer; cookie banner links here - Required for GDPR when using non-essential cookies ## Output Format - **Outline** for cookie policy - **Cookie table** structure - **Consent** flow reference - **Disclaimer**: Recommend legal review ## Related Skills - **privacy-page-generator**: Privacy Policy; cookie policy complements - **legal-page-generator**: Legal page grouping - **indexing**: Often noindex


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: iasgu/eia-knowledge-extractor (version 2.3.0)

--- name: eia-knowledge-extractor description: 环评报告知识库提炼工具 - 从环评报告表中提取结构化知识库文件，支持PDF/DOCX解析 license: MIT version: "2.3" --- # 环评知识库提炼 从环境影响评价报告表中自动提取环境数据，生成结构化知识库文件。 ## 输入 环评报告表文件（支持PDF、DOCX、DOC、TXT格式） ## 输出 生成5个知识库CSV文件： ### 1. 污染因子知识库（19字段） 污染物ID、行业、区域、产污工段、产污设施、原辅材料、污染物条件1-3、污染物名称、污染因子名称、污染物种类、排放位置、标准条件1-3、适用标准、标准限值-浓度/速率/高度/其他、备注、出处 ### 2. 废气源强核算知识库（15字段） 污染物ID、污染物种类、污染因子种类、行业、区域、核算污染因子、产生量核算方法类型/依据/方法、核算公式、所需参数、产污系数、类比项目规模信息/污染物量、出处 ### 3. 废水源强核算知识库（15字段） 同上 ### 4. 固废源强核算知识库（16字段） 污染物ID、污染物种类、污染因子种类、固废类型、危废代码、行业、区域、核算污染因子、产生量核算方法类型/依据/方法、核算公式、所需参数、产污系数、类比项目规模信息/污染物量、出处 ### 5. 噪声源强核算知识库（13字段） 污染物ID、污染物种类、污染因子种类、行业、区域、噪声源、规格型号、声源类型、计量单位/方式、声源源强值、降噪措施、降噪后源强值、出处 ## 数据规范 - **污染物ID格式**：`行业_原辅料_产污工段_其他条件_污染物` - **示例**：`通用设备制造业_铸件_抛丸_/_抛丸粉尘` - **污染物种类**：废气、废水、固废、噪声 - **空值**：用 `/` 表示 ## 质量核查 生成后需核查：文件完整性（5个CSV）、命名规则、字段完整性（19/15/15/16/13）、与原报告一致性（不可缩写/缩减/缺漏） ## 使用方法 ```bash python scripts/main.py report.pdf -o output_dir ``` ## 依赖 ```bash pip install pymupdf pandas python-docx ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: tujinsama/negotiation-bot-claw (version 1.0.0)

--- name: negotiation-bot-claw description: | 多轮商务谈判虾 — 规模化供应商谈判机器人。通过邮件与供应商进行多轮博弈，争取最优采购价格和条款。 **当以下情况时使用此 Skill**： (1) 需要向多家供应商批量发送询价邮件 (2) 需要对供应商报价进行多轮议价、压价 (3) 需要根据采购量、付款周期、交货时间等条件动态调整谈判策略 (4) 需要利用竞价施压（"已有更低报价"）促使供应商降价 (5) 需要汇总所有供应商报价并推荐最优方案 (6) 用户提到"供应商谈判"、"询价"、"议价"、"压价"、"采购谈判"、"多轮谈判"、"批量询价"、"底价"、"商务谈判"、"报价对比"、"供应商博弈"、"采购降本"、"谈判策略"、"规模化谈判" --- # 多轮商务谈判虾 (negotiation-bot-claw) 规模化谈判机器 — 同时与多家供应商进行多轮邮件博弈，用规模化优势换取最优价格。 ## 核心理念 谈判是概率游戏：发起的谈判越多，拿到底价的机会越大。人工谈判一天顶多谈10家，本 Skill 可同时谈100家。 ## 工作流程 ### 步骤 1：收集谈判输入 接受两种输入格式： **结构化输入（推荐）**：供应商列表 CSV/Excel - 必填字段：供应商名称、联系邮箱、产品/服务类型 - 可选字段：历史报价、目标价格、谈判优先级 **自然语言输入**： - "帮我向这批供应商询价，目标价格比现在低15%" - "和这家供应商谈一下，看能不能把账期延长到60天" ### 步骤 2：制定谈判策略 为每个供应商制定个性化策略： - 初始报价目标（通常比目标价高5-10%，留让步空间） - 底线价格（不可突破的最低接受价） - 让步节奏（每轮让步幅度） - 施压话术（参考 `references/negotiation-scripts.md`） 参考 `references/price-benchmarks.md` 了解各品类合理议价空间。 参考 `references/supplier-profiles.md` 了解供应商历史行为。 ### 步骤 3：首轮询价 使用 `scripts/email-negotiator.sh` 批量发送询价邮件： ```bash ./scripts/email-negotiator.sh send \ --template inquiry \ --suppliers ./config/suppliers.csv \ --product "笔记本电脑" \ --quantity 100 \ --target-price 4500 ``` 邮件内容要点： - 明确采购需求（品类、数量、规格） - 说明交货要求和付款条件 - 语气专业，留有议价空间（不要直接说出目标价） ### 步骤 4：解析供应商回复 ```bash ./scripts/email-negotiator.sh parse --inbox --output ./reports/quotes.csv ``` 自动提取：价格、交货期、付款条件、备注。生成报价对比表。 ### 步骤 5：多轮议价 根据报价情况分层处理： | 报价情况 | 策略 | 话术参考 | |---------|------|---------| | 高于目标价20%+ | 直接告知报价偏高，要求调整 | `negotiation-scripts.md` → 压价话术 | | 高于目标价5-20% | 暗示已有更优报价，希望再考虑 | `negotiation-scripts.md` → 竞价施压 | | 接近目标价 | 尝试进一步压价或优化条款 | `negotiation-scripts.md` → 条款优化 | ```bash # 发起第二轮压价 ./scripts/email-negotiator.sh negotiate --round 2 --strategy pressure # 发起第三轮（最终轮） ./scripts/email-negotiator.sh negotiate --round 3 --strategy final ``` **关键原则**：通常不超过3轮，避免过度施压导致供应商放弃。 ### 步骤 6：汇总结果 生成最终报价对比表，包含： - 各供应商最终报价 - 让步幅度（首轮报价 vs 最终报价） - 谈判轮次 - 推荐方案（综合价格、交货期、付款条件） ## 环境依赖 - `bash` + `curl` + `python3` - IMAP/SMTP 邮件服务（企业邮箱） - 飞书插件（推送谈判进展，可选） ## 注意事项 - 仅支持邮件谈判，不支持电话/面谈 - 使用企业邮箱发送，避免被识别为垃圾邮件 - 供应商3天未回复 → 自动标记"无响应"并催促 - 复杂谈判场景（大额采购、技术细节、法务条款）需人工介入 ## 与其他 Skill 协作 - **strategy-advisor-claw**：谈判完成后，将报价数据传给策略顾问虾做最终选择 - **auto-data-analysis-claw**：分析历史谈判数据，优化策略 - **cross-platform-messenger-claw**：将谈判进展推送到采购团队


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: mirni/greenhelix-test-debug (version 1.0.0)

--- name: greenhelix-test-debug version: "1.0.0" description: "Agent Commerce Quick Start Guide. Learn how to build your first AI agent storefront." license: MIT compatibility: [openclaw] author: felix-agent type: guide tags: [commerce, ai-agent, greenhelix, guide] price_usd: 0 content_type: markdown --- # Agent Commerce Quick Start This guide walks through building a complete AI agent commerce platform using the GreenHelix API. ## What You will Learn - Setting up agent identity and authentication - Creating payment intents and processing transactions - Building trust through the reputation system - Implementing the marketplace listing flow ## Prerequisites You need Python 3.10+ and a GreenHelix API key. Sign up at api.greenhelix.net to get started. ## Step 1: Agent Registration First register your agent with the identity service. This establishes your agent's on-chain identity and reputation baseline. ## Step 2: Payment Setup Configure payment rails using the billing module. GreenHelix supports both traditional and crypto payment methods. ## Step 3: Marketplace Listing List your agent's services on the marketplace. Include pricing, capabilities, and trust attestations. ## Content Full guide included as agent-commerce-quick-start.md (4500 words).


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: awlevin/secret-portal (version 0.1.0)

--- name: secret-portal description: Spin up a one-time web UI for securely entering secret keys and env vars. Supports guided instructions, single-key mode, and cloudflared tunneling. metadata: { "openclaw": { "emoji": "🔐", "requires": { "bins": ["uv"] }, "install": [ { "id": "uv-brew", "kind": "brew", "formula": "uv", "bins": ["uv"], "label": "Install uv (brew)", }, ], }, } --- # Secret Portal Spin up a temporary, one-time-use web UI for securely entering secret keys and environment variables. No secrets ever touch chat history or terminal logs. ## Quick Start ```bash # Single key with cloudflared tunnel (recommended) uv run --with secret-portal secret-portal \ -k API_KEY_NAME \ -f ~/.secrets/target-env-file \ --tunnel cloudflared # With guided instructions and a link to the key's console uv run --with secret-portal secret-portal \ -k OPENAI_API_KEY \ -f ~/.env \ -i '<strong>Get your key:</strong><ol><li>Go to platform.openai.com</li><li>Click API Keys</li><li>Create new key</li></ol>' \ -l "https://platform.openai.com/api-keys" \ --link-text "Open OpenAI dashboard →" \ --tunnel cloudflared # Multi-key mode (no -k flag, user enters key names and values) uv run --with secret-portal secret-portal \ -f ~/.secrets/keys.env \ --tunnel cloudflared ``` ## Options | Flag | Description | |------|-------------| | `-k, --key` | Pre-populate a single key name (user only enters the value) | | `-f, --env-file` | Path to save secrets to (default: `~/.env`) | | `-i, --instructions` | HTML instructions shown above the input field | | `-l, --link` | URL button for where to get/create the key | | `--link-text` | Label for the link button (default: "Open console →") | | `--tunnel` | `cloudflared` (recommended), `ngrok`, or `none` | | `-p, --port` | Port to bind to (default: random) | | `--timeout` | Seconds before auto-shutdown (default: 300) | ## Tunneling **Use `--tunnel cloudflared`** — it's free, requires no account, has no interstitial pages, provides HTTPS, and auto-downloads the binary if missing. ngrok free tier shows an interstitial warning page that blocks mobile and automated use. Without a tunnel, the port must be open in your firewall/security group. The CLI will warn you if it detects the port is unreachable. ## Security - One-time use: portal expires after a single submission - Token auth: URL contains a random 32-byte token - Secret values are **never** printed to stdout/stderr (enforced by tests) - Env file is written with `600` permissions (owner-only) - Secrets never touch chat history or terminal logs ## Source https://github.com/Olafs-World/secret-portal


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: b-gutman/pipeworx-econdata (version 1.0.0)

--- name: pipeworx-econdata description: US economic indicators from the Bureau of Labor Statistics — unemployment, CPI, and employment by industry version: 1.0.0 metadata: openclaw: requires: bins: - curl emoji: "📊" homepage: https://pipeworx.io/packs/econdata --- # US Economic Data (BLS) Access official US economic statistics from the Bureau of Labor Statistics. Pull unemployment rates, Consumer Price Index (CPI), and employment figures by industry. Query any BLS time series directly or use the convenience tools. ## Tools | Tool | Description | |------|-------------| | `get_series` | Fetch any BLS time series by ID (e.g., "CUUR0000SA0" for CPI) | | `get_unemployment` | Civilian unemployment rate (seasonally adjusted) | | `get_cpi` | Consumer Price Index for all urban consumers | | `get_employment_by_industry` | Total nonfarm employment by industry sector | ## Scenarios - "What's the current US unemployment rate?" — call `get_unemployment` - Tracking inflation trends via CPI over a specific year range - Comparing employment growth across industries (healthcare, tech, manufacturing) - Building economic dashboards with official government data ## Example: CPI for 2022-2024 ```bash curl -s -X POST https://gateway.pipeworx.io/econdata/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_cpi","arguments":{"start_year":"2022","end_year":"2024"}}}' ``` Returns monthly CPI values with period name, year, and value. ## Setup ```json { "mcpServers": { "pipeworx-econdata": { "command": "npx", "args": ["-y", "mcp-remote@latest", "https://gateway.pipeworx.io/econdata/mcp"] } } } ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: 403914291/ly-wechat-publisher (version 1.1.0)

# 微信公众号发布技能 **技能名称：** wechat-publisher **版本：** V1.1.0 **描述：** 自动发布 AI 新闻到微信公众号草稿箱 **作者：** 小蛋蛋 --- ## 📋 功能特性 - ✅ 自动收集 15 条 AI 新闻 - ✅ 自动生成 HTML 格式内容 - ✅ 自动发布到公众号草稿箱 - ✅ 支持 5 套专业模板 - ✅ 50 次免费试用 + 8.8 元永久买断 - ✅ 支持自定义发布时间 --- ## 🔧 配置项 | 配置项 | 说明 | 默认值 | 是否必填 | |--------|------|--------|----------| | `app_id` | 公众号 AppID | - | ✅ 是 | | `app_secret` | 公众号 AppSecret | - | ✅ 是 | | `schedule` | 发布时间 | `06:00` | ❌ 否 | | `template` | 发布模板 | `v5-simple` | ❌ 否 | | `news_count` | 新闻条数 | `15` | ❌ 否 | | `timezone` | 时区 | `Asia/Shanghai` | ❌ 否 | --- ## 📖 使用说明 ### 安装技能 ```bash openclaw skill install wechat-publisher ``` ### 配置技能 ```bash openclaw skill config wechat-publisher ``` ### 设置发布时间 ```bash openclaw schedule wechat-publisher 07:00 ``` ### 查看状态 ```bash openclaw skill status wechat-publisher ``` --- ## 💰 授权说明 - **试用版：** 50 次免费使用（约 1 个月） - **专业版：** 8.8 元永久买断 - **购买命令：** `openclaw skill buy wechat-publisher` ### 📊 试用次数说明 **50 次免费试用包含：** - ✅ 测试所有 5 套模板 - ✅ 配置调试和学习成本 - ✅ 约 1 个月的实际使用 - ✅ 充分体验自动发布功能 **试用次数用完后：** - 运行 `openclaw skill buy wechat-publisher` 购买专业版 - 8.8 元永久买断，无限次使用 ### 📞 支付联系方式 **支付流程：** 1. 运行购买命令后，系统生成订单 2. 用户扫码支付（微信/支付宝） 3. 支付成功后，通过以下方式联系管理员获取激活码： | 联系方式 | 说明 | |----------|------| | **微信** | 添加管理员微信：`lylovejava`（备注：技能购买） | | **公众号** | 关注"小蛋蛋助手"公众号，发送订单号 | | **邮箱** | [REDACTED_SECRET]（24 小时内回复） | | **GitHub** | 在 https://github.com/403914291 提交 Issue | **自动激活（推荐）：** - 支付成功后，系统自动发送激活码到用户邮箱 - 或在购买界面直接显示激活码 --- ## 📁 文件结构 ``` wechat-publisher-skill/ ├── SKILL.md # 技能定义文件 ├── publish.py # 核心发布脚本 ├── scripts/ │ ├── install.sh # 安装脚本 │ └── activate.py # 激活脚本 ├── templates/ │ ├── v5-simple.html # V5 简洁模板 │ └── ... # 其他模板 ├── config/ │ └── default.json # 默认配置 └── docs/ └── USER_GUIDE.md # 用户手册 ``` --- _创建日期：2026-03-26_ _最后更新：2026-03-26_


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: newlux/travel-china (version 1.0.2)

--- name: ctrip description: Comprehensive travel planning, booking, and management skill. Use when needing to plan china trips, manage multi-destination itineraries, handle family travel logistics, optimize travel costs, and coordinate complex travel arrangements. --- # Ctrip Skill ## Core Capabilities - International trip planning - Multi-destination itinerary creation - Family travel logistics - Cost optimization - Travel document management ## Workflow Steps 1. Destination Analysis 2. Route Optimization 3. Cost Calculation 4. Document Preparation 5. Booking Coordination ## Key Considerations for Family Travel - Child-friendly routes - Stopover comfort - Baggage requirements - Age-specific travel needs ## 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 - "Plan a family trip to China" - "Find the most cost-effective international travel route" - "Prepare travel documents for a multi-country trip"


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: gatsby047-oss/config-manager (version 1.0.0)

# Config Refactor - 配置驱动重构工具 **版本**: 1.0.0 **作者**: Claw **许可证**: MIT --- ## 功能说明 基于易经思维设计的配置管理库，将硬编码重构为配置驱动。 ### 核心功能 - 动态配置管理（支持字符串、数字、布尔类型） - 配置文件加载（key=value 格式） - 配置验证与默认值 - 类型安全访问 ### 适用场景 - 需要将硬编码改为配置驱动的项目 - 需要动态调整配置的系统 - 需要支持多环境配置的应用 --- ## 使用示例 ```c #include "code.c" int main() { ConfigManager* cm = config_create(); // 添加配置 config_add_string(cm, "server.host", "localhost"); config_add_int(cm, "server.port", 8080); config_add_bool(cm, "server.ssl", false); // 获取配置 const char* host = config_get_string(cm, "server.host", "localhost"); int port = config_get_int(cm, "server.port", 80); config_destroy(cm); return 0; } ``` --- ## 易经思维应用 - **简易原则**: 配置即键值对，抓住本质 - **变易原则**: 支持多种类型，动态扩展 - **整体思维**: 配置管理整体策略 --- ## 测试 编译运行： ```bash gcc -o config_demo code.c -DCONFIG_DEMO ./config_demo ``` --- ## 变更日志 ### 1.0.0 - 初始版本 - 支持字符串、整数、布尔类型 - 配置文件加载/保存 - 类型安全访问


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zopyx/tageblatt-headlines (version 1.0.0)

--- name: tageblatt-headlines description: Download and archive daily Schlagzeilen from https://www.tageblatt.de/. Use when Master asks for TAGEBLATT headlines, wants them saved locally, or needs an automated 07:00 workflow that fetches and forwards the latest headlines. --- # Tageblatt Headlines ## Überblick Dieses Skill-Paket lädt die Startseite von **tageblatt.de**, extrahiert die sichtbaren Artikelüberschriften (`<h2 class="article-heading">`), bereinigt sie und speichert sie lokal als Text- oder JSON-Datei. Nutze es für Ad-hoc-Abfragen ("Schlagzeilen jetzt"), tägliche Archive oder automatisierte Benachrichtigungen. ## Quick Start 1. **Headlines ziehen** ```bash python3 skills/tageblatt-headlines/scripts/fetch_headlines.py \ --limit 15 \ --output data/tageblatt/$(date +%Y-%m-%d)_headlines.txt ``` 2. **JSON statt Text** (falls du die Daten weiterverarbeiten willst): ```bash python3 skills/tageblatt-headlines/scripts/fetch_headlines.py \ --format json --output data/tageblatt/$(date +%Y-%m-%d).json ``` 3. Die Skriptausgabe wird zusätzlich auf STDOUT geloggt – perfekt, um die Liste sofort per Telegram zu senden. ## Automatischer 07:00-Job 1. **Cronjob anlegen (lokale Zeit Europe/Berlin):** ```bash openclaw cron add <<'JSON' { "name": "tageblatt-headlines-07", "schedule": { "kind": "cron", "expr": "0 7 * * *", "tz": "Europe/Berlin" }, "sessionTarget": "isolated", "payload": { "kind": "agentTurn", "model": "default", "message": "Run `python3 skills/tageblatt-headlines/scripts/fetch_headlines.py --limit 15 --output data/tageblatt/$(date +%F)_headlines.txt`. Send Master the list via Telegram (bulleted) and mention where the file was saved." } } JSON ``` 2. **Automation optionalen Versand hinzufügen:** Nach erfolgreichem Lauf kann derselbe Job eine Telegram-Zusammenfassung verschicken (siehe Payload oben). 3. **Aufbewahrung:** Lege `data/tageblatt/` an und committe Archivdateien, falls sie langfristig gespeichert werden sollen. ## Fehlerbehebung & Hinweise - Das Skript nutzt nur Standardbibliotheken (`urllib`, `re`). Keine zusätzlichen Pip-Abhängigkeiten nötig. - Falls Consent-Banner den HTML-Aufbau ändert, prüfe die Regex in `scripts/fetch_headlines.py` (Pattern `HEADING_PATTERN`). - Bei Netzwerkfehlern gibt das Skript Exit-Code 1 zurück. Cronjobs sollten in diesem Fall automatisch beim nächsten Zyklus erneut laufen. - Begrenze `--limit`, falls du nur eine kurze Liste brauchst (z. B. Top 5). ## Ressourcen - `scripts/fetch_headlines.py` – HTTP-Download & Parser für Schlagzeilen (Text/JSON-Ausgabe, limitierbar).


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (HIGH)
Skill: jikeapi-cn/jike-ip-query-v4 (version 1.0.0)

--- name: jike-ip-query-v4 description: IPv4地址查询。输入 IPv4 地址，实时查询国家、省份、城市、运营商和 long_ip 数值。适用场景：用户说“查一下 60.31.46.0 是哪里的 IP”“这个 IP 属于哪个运营商”“帮我看下这个 IPv4 地址归属地”等。数据由即刻数据（jikeapi.cn）开放接口提供。 homepage: https://www.jikeapi.cn/ metadata: {"openclaw":{"emoji":"🌐","requires":{"bins":["python3"],"env":["JIKE_IP_QUERY_V4_KEY"]},"primaryEnv":"JIKE_IP_QUERY_V4_KEY"}} --- # IPv4地址查询 - 即刻数据 > 数据由 **[即刻数据](https://www.jikeapi.cn/)** 提供。即刻数据专注稳定易用的数据 API、MCP 与 AI Skill 能力，帮助开发者和 AI 客户端快速接入可靠数据服务。 输入 IPv4 地址，查询：**国家、省份、城市、运营商、Long 数值**。 --- ## 前置配置：获取 AppKey 1. 登录即刻数据官网。 2. 申请「IPv4地址查询」接口。 3. 在「个人中心 -> 我的 API 应用」中获取接口 `AppKey`。 4. 配置 Key（推荐环境变量）： ```bash export JIKE_IP_QUERY_V4_KEY=你的AppKey ``` 也可以使用通用 Key： ```bash export JIKE_APPKEY=你的AppKey ``` 本地测试可在脚本目录创建 `.env`： ```bash echo "JIKE_IP_QUERY_V4_KEY=你的AppKey" > scripts/.env ``` > 不要把真实 AppKey 写进公开仓库或上传到 Skill 包中。 --- ## 使用方法 ### 基本查询 ```bash python3 scripts/ip_query_v4.py 60.31.46.0 ``` 输出示例： ```text 🌐 IPv4地址查询结果 IP: 60.31.46.0 国家: 中国 省份: 内蒙古 城市: 呼和浩特市 运营商: 联通 Long值: 1008676352 ``` ### 输出 JSON ```bash python3 scripts/ip_query_v4.py 60.31.46.0 --json ``` ### 临时传入 AppKey ```bash python3 scripts/ip_query_v4.py --key 你的AppKey 60.31.46.0 ``` ### 直接调用 API ```text GET https://api.jikeapi.cn/v1/ip/query/v4?ip=60.31.46.0&appkey=YOUR_APPKEY ``` --- ## AI 使用步骤 当用户询问 IPv4 地址归属地、运营商、所在地等信息时： 1. **提取 IP**：从用户消息中识别 IPv4 地址。 2. **校验格式**：仅接受 IPv4；IPv6 不应调用本 Skill。 3. **调用脚本**：执行 `python3 scripts/ip_query_v4.py <IPv4地址>`。 4. **展示结果**：优先返回国家、省份、城市、运营商。 ## 参数说明 | 参数 | 必填 | 说明 | 示例 | | --- | --- | --- | --- | | IPv4地址 | 是 | 合法 IPv4 地址 | `60.31.46.0` | | `--json` | 否 | 输出 JSON | `--json` | | `--key` | 否 | 临时传入 AppKey | `--key 你的AppKey` | ## 返回字段 | 字段 | 含义 | 示例 | | --- | --- | --- | | `ip` | IP 地址 | `60.31.46.0` | | `long_ip` | Long 数值 | `1008676352` | | `country` | 国家 | 中国 | | `province` | 省份 | 内蒙古 | | `city` | 城市 | 呼和浩特市 | | `isp` | 运营商 | 联通 | ## 错误处理 | 情况 | 处理方式 | | --- | --- | | 未配置 AppKey | 提醒用户配置 `JIKE_IP_QUERY_V4_KEY` 或 `JIKE_APPKEY` | | IP 格式错误 | 提醒用户提供合法 IPv4 地址 | | 传入 IPv6 | 提醒用户改用 IPv6 查询 Skill | | 接口返回失败 | 展示接口返回 message | | 网络超时 | 建议稍后重试或检查网络 | --- ## 脚本位置 `scripts/ip_query_v4.py`：封装了 IPv4 校验、AppKey 读取、接口请求、文本/JSON 输出和错误处理。 --- ## 关于即刻数据 [即刻数据（jikeapi.cn）](https://www.jikeapi.cn/) 是面向开发者和 AI 应用的数据服务平台，提供稳定易用的 API、MCP 与 AI Skill 能力。


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