OpenClaw/clawhub-security-signals huggingface dataset:
Skill: zero2ai-hub/skill-tiktok-ads-video (version 2.1.0)

--- name: skill-tiktok-ads-video version: 2.1.0 description: Generate TikTok-style short-form ad videos with animated pill captions. Takes a base MP4 (Veo/Runway/Kling), overlays animated captions with fade in/out, mixes background audio. Built-in product presets — no captions JSON file needed. Use for TikTok ads, Reels, YouTube Shorts product videos. metadata: openclaw: requires: { bins: ["uv"] } --- # skill-tiktok-ads-video v2.0.0 Animated pill-style caption overlays for short-form video. No Premiere, no CapCut — pure Python. v2 ships with built-in product presets — no more manual captions JSON. ## Usage (v2 — product presets) ```bash uv run --with moviepy --with pillow scripts/overlay.py \ --video base.mp4 \ --output final.mp4 \ --product rain_cloud \ --style subtitle_talk ``` ### Products - `rain_cloud` — Rain Cloud Humidifier - `hydro_bottle` — Hydrogen Water Bottle - `mini_cam` — Mini Clip Camera ### Styles - `phrase_slam` — Bold full-screen phrase drops - `subtitle_talk` — Conversational subtitle-style captions - `big_center` — Large centered text with price bar at top. Best for bold product reveals. - `random` — Randomly picks a style ### Optional audio ```bash --audio music.mp3 \ --audio-start 8 \ --audio-vol 0.5 ``` No `--audio` keeps the original video audio. ## Custom fonts ```bash --font-black /path/to/Montserrat-Black.ttf \ --font-bold /path/to/Montserrat-Bold.ttf ``` Falls back to Montserrat from `~/.local/share/fonts/` if not specified. ## Legacy usage (v1 — manual captions JSON) Still supported for backward compatibility: ```bash uv run --with moviepy --with pillow scripts/overlay.py \ --video base.mp4 \ --output final.mp4 \ --captions scripts/example_captions.json ``` ## PIL textbbox fix PIL's `textbbox((0,0), text, font)` returns `(x0, y0, x1, y1)` where `y0` is a non-zero offset (typically 7–15px depending on font size). Drawing text at `(x, y)` without compensating for this offset causes text to appear below the pill's visual center. **Fix implemented in `pill()`:** ```python bb = draw.textbbox((0, 0), text, font=font) x_off, y_off = bb[0], bb[1] vis_w = bb[2] - bb[0] # actual visual width vis_h = bb[3] - bb[1] # actual visual height # Compensate offsets when drawing text tx = cx - vis_w // 2 - x_off ty = y - y_off draw.text((tx, ty), text, font=font, fill=fg) ``` ## Emoji note NotoColorEmoji.ttf fails with PIL at arbitrary sizes (bitmap font with limited supported sizes). Use text alternatives (`"Free delivery"` instead of `"Free delivery 🚚"`) for reliable rendering.

path: _meta.json
content: name: skill-tiktok-ads-video
version: 2.1.0
description: Generate TikTok-style short-form ad videos with animated pill captions. Built-in product presets — no captions JSON needed.
author: Zero2Ai-hub
license: MIT

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: daizongyu/english-learning-checkin (version 1.0.0)

# English Learning Check-in Skill 每日英语学习打卡工具，基于 learning-checkin 实现，专为英语学习者设计。 ## 功能概述 1. **每日打卡** - 记录英语学习完成情况 2. **学习类型** - 支持托福、雅思、PET、新概念等多种英语学习类型 3. **名言激励** - 每日由 Agent 自动生成英语名言（中英对照），确保不重复 ## 项目结构 ``` english-learning-checkin/ ├── SKILL.md - 本文档 ├── english_checkin.py - 主程序 └── data/ - 数据目录（自动创建） ├── config.json - 用户配置 └── quotes_used.json - 已使用名言记录 ``` ## 安装说明 ### 1. 安装本 Skill 将本 Skill 目录复制到你的 Skill 目录中。 ### 2. 安装依赖 本 Skill 依赖 [learning-checkin](https://clawhub.ai/daizongyu/learning-checkin)，需要先安装该 Skill。 ### 3. 配置路径 由于不同工具的 Skill 目录位置不同，需要通过以下方式指定 learning-checkin 的路径： **方式一：命令行参数** ```bash python english_checkin.py --learning-checkin-path /path/to/learning_checkin.py checkin ``` **方式二：环境变量** ```bash export LEARNING_CHECKIN_PATH=/path/to/learning_checkin.py ``` **方式三：放置在同一目录** 将 learning-checkin 目录放在本 Skill 同一目录下： ``` your-skill-dir/ ├── english-learning-checkin/ │ └── english_checkin.py └── learning-checkin/ └── learning_checkin.py ``` ## 命令列表 | 命令 | 说明 | |------|------| | `python english_checkin.py init` | 初始化（首次使用） | | `python english_checkin.py checkin [学习类型]` | 打卡（如：checkin 托福） | | `python english_checkin.py status` | 查看状态 | | `python english_checkin.py used-quotes` | 获取已使用名言列表 | | `python english_checkin.py record-quote [名言]` | 记录已使用的名言 | | `python english_checkin.py set-type [类型]` | 设置学习类型 | | `python english_checkin.py check` | 检查依赖 | ## 使用说明 ### 1. 首次使用（初始化） ```bash python english_checkin.py --learning-checkin-path /path/to/learning_checkin.py init ``` ### 2. 每日打卡 1. 获取已使用名言： ```bash python english_checkin.py used-quotes ``` 2. 生成今日名言（由 Agent 自动生成，确保不重复） 3. 执行打卡： ```bash python english_checkin.py --learning-checkin-path /path/to/learning_checkin.py checkin 托福 ``` 4. 记录名言： ```bash python english_checkin.py record-quote "Practice makes perfect" ``` ### 3. 查看学习状态 ```bash python english_checkin.py --learning-checkin-path /path/to/learning_checkin.py status ``` ## 版本 当前版本：1.0.0

path: data/config.json
content: learning_type: 雅思
last_checkin: 2026-03-15T22:48:32.548641

path: data/quotes_used.json
content: [
  4948566511806909122
]

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: nuradil/agentic-mcp-server-builder-conflict (version 1.0.0)

--- name: agentic-mcp-server-builder description: Scaffold MCP server projects and baseline tool contract checks. Use for defining tool schemas, generating starter server layouts, and validating MCP-ready structure. --- # Agentic MCP Server Builder ## Overview Create a minimal MCP server scaffold and contract summary from a structured tool list. ## Workflow 1. Define server name and tool list with descriptions. 2. Generate scaffold file map and tool contract summary. 3. Optionally materialize starter files when not in dry-run mode. 4. Review generated contract checks before adding business logic. ## Use Bundled Resources - Run `scripts/scaffold_mcp_server.py` to generate starter artifacts. - Read `references/mcp-scaffold-guide.md` for file layout and contract checks. ## Guardrails - Keep tool boundaries explicit and minimal. - Include deterministic outputs and clear input/output schemas.

path: _meta.json
content: ownerId: kn757hy9x0k6n9x9ck9v9j4ywd81we48
slug: agentic-mcp-server-builder
version: 0.1.0
publishedAt: 1772129788576

path: agents/openai.yaml
content: interface:
  display_name: "Agentic MCP Server Builder"
  short_description: "Scaffold MCP servers and contract checks"
  default_prompt: "Use $agentic-mcp-server-builder to scaffold an MCP server with tool contracts."


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: ssidharhubble/freelance-autobot (version 1.0.13)

--- name: freelance-autobot version: 1.0.13 description: | Autonomous freelance hunter — finds gigs on FreeLanceDAO and CryptoGigs, scores them for fit, and auto-submits proposals. Also builds your CryptoGig profile and services compatibility: Zo Computer, Python 3, requests, web scraping metadata: author: ssyopros.zo.computer category: freelancing tags: crypto, freelance, freelancedao, cryptogig, passive-# freelance-autobot Find and apply to crypto-native freelance gigs ## Platforms - **FreeLanceDAO** (freelancedao.xyz) — Web3/Hedera, DAO governance, 5% fee - **CryptoGigs** (cryptogig.com) — crypto payments + escrow, 10% fee - **OpenCollab** (opencollab.ai) — crypto-native tech gigs ## Usage ```bash # Hunt for gigs (dry run) python scripts/gig_hunter.py --platforms freelancedao,cryptogig --dry-run # Create your CryptoGig profile python scripts/build_cryptogig_profile.py # Auto-submit proposals python scripts/gig_hunter.py --platforms freelancedao,cryptogig ``` ## Workflow 1. Scrape new gigs from each platform 2. Score by: skill match (40%) + budget fit (30%) + recency (20%) + competition (10%) 3. Skip if: client has 0% completion, budget < $50, no escrow 4. Submit proposal with personalized pitch using skills metadata 5. Log earnings attempt in earnings_log.json ## Profile Bio (copy to platforms) ``` Masters-educated tech specialist with 26+ years in tech: • DeFi & Smart Contract Development (Solidity, Solana) • Options Trading Systems (Elliott Wave, whale flow, Bollinger Bands) • AI Agents & Automation (Python, 24/7 autonomous bots) • GTM Strategy & Delivered 50+ projects globally. Build ``` ## Services to List on CryptoGigs | Service | Price | Description | |---|---|---| | DeFi Trading Bot | $150 | Custom sniping/arbitrage bot | | Options Backtest | $100 | Strategy backtest with full analysis | | AI Agent | $200 | 24/7 autonomous agent for your business |


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: codeblackhole1024/memory-transfer (version 2.1.1)

--- name: memory-transfer description: Transfer memory between OpenClaw agents with advanced features: topic-specific filtering, user info privacy protection, and intelligent agent identity adaptation. Use when: (1) Migrating context between agents, (2) Sharing knowledge without leaking user personal info, (3) Backing up agent memory. Supports share mode (filters user data + adapts to target agent) and clone mode (verbatim copy). metadata: { "openclaw": { "emoji": "📦" } } --- # Memory Transfer Skill Transfer memory files and context between OpenClaw agents. ## Use Cases - Migrate memory from main agent to a sub-agent - Copy user preferences to a new agent - Share project context between agents - Backup agent memory before resets ## How It Works 1. Read source agent's workspace memory files 2. Copy to target agent's workspace 3. Optionally merge with existing memory ## Commands ### List available agents ```bash ls /home/node/.openclaw/ ``` ### Transfer memory from source to target ```bash node memory-transfer.js transfer <source-agent-id> <target-agent-id> ``` ### Transfer specific memory file ```bash node memory-transfer.js transfer <source-agent-id> <target-agent-id> <memory-file> ``` ### List agent memories ```bash node memory-transfer.js list <agent-id> ``` ### Preview transfer (dry run) ```bash node memory-transfer.js transfer <source> <target> --dry-run ``` ## Examples ### Transfer main agent memory to coder agent ```bash node memory-transfer.js transfer main coder ``` ### Transfer specific date memory ```bash node memory-transfer.js transfer main coder 2026-03-01.md ``` ### Preview what would be transferred ```bash node memory-transfer.js transfer main coder --dry-run ``` ## Agent Workspaces OpenClaw agent workspaces are typically at: - `/home/node/.openclaw/workspace-<agent-id>/` - Main agent: `/home/node/.openclaw/workspace-main/` Memory files: - `MEMORY.md` - Long-term memory - `memory/YYYY-MM-DD.md` - Daily memories


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: unisound-llm/unisound-med-term (version 1.0.0)

--- name: med-eval-med-term description: 医学名词规范解释。由调用方提供题目文本或含 `question` 字段的结构化输入，经内部医疗大模型按题干约束生成作答；仅含 `scripts/run.py`，可独立拷贝部署。 metadata: { "openclaw": { "emoji": "🧪" } } --- # 医学名词规范解释 ## 概述 对给定医学名词给出准确、精炼的定义与临床语境提示。 本能力与具体业务请求解耦：平台或调用方如何组织用户输入由集成方决定；此处只约定**如何把题目交给脚本**（见下）。 ## 题目输入（三选一） 1. **`--question`**：直接传入完整题干字符串。 2. **`--input PATH`**： - `.jsonl`：每行一个 JSON 对象，须含非空字符串字段 `question`；可用 `--index` / `--batch` / `--match-id` 选取记录； - `.json`：单个对象，须含 `question`； - 其他扩展名：按 UTF-8 纯文本整文件作为题干。 - 传 `-` 时从 **stdin** 读取一条 JSON（含 `question`）或纯文本。 3. **stdin**（且未传 `--question` / `--input`、且 stdin 非 TTY）：读入 JSON 对象或纯文本，规则同 `-`。 ## 模型 - 默认 `u1-insuremed`，接口 `https://maas-api.hivoice.cn/v1/chat/completions`（可通过参数覆盖）。 ## 用法示例 ```bash # 命令行直接给题 python3 scripts/run.py --question "题干……" --appkey YOUR_KEY # 从任意路径的 jsonl 取一条（与文件名无关） python3 scripts/run.py --input /path/to/items.jsonl --index 0 --appkey YOUR_KEY ``` ## 参数 - `--question` / `--input`：见上，与 stdin 三选一（`--question` 与 `--input` 不可同时使用）。 - `--appkey STRING`：**必填**（`--dry-run` 时除外）。内部医疗大模型鉴权 key。 - `--index`、`--match-id`、`--batch`：仅对 `.jsonl` 生效。 - `--dry-run`：不调用模型，仅输出解析后的题目 JSON。 - `--model`、`--api-url`、`--temperature`、`--timeout`、`--system-prompt`：调模型参数。 - `--output PATH`：另存完整 JSON（批量为 NDJSON）。 - `--text-only`：标准输出仅打印模型答案文本。 ## 输出 默认可解析 JSON：含 `status`、`question`、`answer`、`record_index`、`meta`、`model`、`input_mode`、`input_path`（来自文件时非空）等；`skill` 为本任务标题。 ## 合规说明 输出为模型辅助信息，不构成正式诊疗决策；涉及真实患者数据须先脱敏并遵守院内流程。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: nissan/aa-benchmarking-framework (version 0.1.0)

--- name: aa-benchmarking-framework version: 0.1.0 status: draft description: > Composite scoring and efficiency frontier analysis for LLM evaluation — combines multiple quality dimensions (accuracy, latency, cost, consistency) into a single Pareto-optimal ranking. Use when comparing models or agent configurations across competing objectives, building evaluation dashboards, or identifying the efficiency frontier for model selection. Implements weighted composite scores, Pareto frontier detection, and radar chart visualisation for multi-dimensional LLM benchmarking. requires: env: [] bins: - python3 metadata: openclaw: primaryEnv: production network: outbound: false security_notes: "Draft skill — not yet published" --- **Last used:** 2026-03-24 **Memory references:** 1 **Status:** Active # AA Benchmarking Framework > **STATUS: DRAFT** — This skill is planned but not yet fully implemented. ## What This Does Provides a systematic framework for multi-dimensional LLM evaluation using composite scoring, efficiency frontier analysis, and Pareto optimality. Rather than ranking models on a single metric, it helps identify which models are non-dominated — i.e., no other model is better on all dimensions simultaneously. Designed for teams that need principled model selection beyond simple leaderboard rankings. ## Planned Capabilities - Composite scoring with configurable dimension weights (accuracy, latency, cost, recall, F1) - Pareto frontier detection across any two or more evaluation dimensions - Radar/spider chart visualisation for multi-dimensional comparison - Statistical significance testing across benchmark runs (t-test, Mann-Whitney U) - Integration with LangFuse for trace-based evaluation data ingestion - Export to CSV/JSON for downstream analysis ## When To Use - Choosing between 3+ LLM providers on competing objectives (e.g. GPT-4o vs Claude 3.5 vs Gemini) - Building an evaluation dashboard for recurring model benchmarks - Presenting model selection rationale to stakeholders with visual evidence - Running efficiency frontier analysis to identify cost-optimal models for a quality threshold


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: sonicbotman/github-development-standard (version 2.0.0)

--- name: GitHub Development Standard description: 完整的 GitHub 项目开发标准流程 - 9步流程 + 4层验证 + 15项验收清单 --- # GitHub Development Standard v2.0 > **用方法论驯服低端模型，让代码质量不再妥协** ## 💡 核心价值 解决低端模型在代码开发中的常见问题： - ❌ 过度修改（200+ 行，夹带重构） - ❌ 无验证（直接说"修好了"） - ❌ 夹带私货（顺便优化、重构） ## 📋 9 步开发流程 ``` 1. 读 issue → 2. 写任务卡 → 3. 确定基线 ↓ 4. 列改动点 → 5. 编码 → 6. 本地验证 ↓ 7. 看 diff → 8. 写发布说明 → 9. 复盘 ``` ## ✅ 8 条编码纪律 1. 先复制旧代码，再局部替换 2. 改函数前，先通读输入/输出/副作用 3. 涉及数据结构变化时，先搜所有使用点 4. 不要同时改逻辑和风格 5. 不要在 bug fix 里做重构 6. 不要修改未被需求要求的行为 7. 不要在没有验证前说"修好了" 8. 不要让 release note 超前于实际代码 ## 🔍 4 层验证 ```bash # Layer 1: 语法验证 python3 -m py_compile scripts/xxx.py # Layer 2: 导入验证 python3 -c "from scripts.xxx import ClassName" # Layer 3: 行为验证 python3 test_fix.py # Layer 4: 回归验证 python3 -m pytest tests/ ``` ## 📊 15 项验收清单 ### A. 需求一致性（3 项） - [ ] A1. 我能用一句话说清这次修复的目标 - [ ] A2. 我知道这次"不打算修"的内容有哪些 - [ ] A3. 代码改动与 issue 描述一致 ### B. 技术正确性（4 项） - [ ] B1. 我基于正确版本开始修改 - [ ] B2. 我没有重写整个文件 - [ ] B3. 数据结构变化已同步所有引用点 - [ ] B4. 新逻辑不会破坏旧逻辑 ### C. 测试验证（4 项） - [ ] C1. 语法检查通过 - [ ] C2. 导入检查通过 - [ ] C3. 最小样例验证通过 - [ ] C4. 回归测试通过 ### D. 发布质量（4 项） - [ ] D1. diff 大小与任务规模匹配 - [ ] D2. release note 与实际代码一致 - [ ] D3. 版本号、文档、注释已同步 - [ ] D4. 我可以指出这次改动的风险点 ## 🔧 GitHub CLI 使用 ```bash # 查看 Issue gh issue view 53 --repo owner/repo # 评论 Issue gh issue comment 53 --repo owner/repo --body "修复说明..." # 关闭 Issue gh issue close 53 --repo owner/repo ``` ## 📄 多文件修复注意事项 1. **同步修改** - 修改 README.md 时，检查其他语言版本 2. **工具验证** - 用 `grep` 等工具验证比人工更可靠 3. **文档清理** - 先整合内容，再删除冗余文件 ## 📊 效果对比 | 指标 | 使用前 | 使用后 | 提升 | |------|--------|--------|------| | Bug 修复返工率 | 60% | 5% | **↓ 55%** | | 平均改动量 | 200+ 行 | 15 行 | **↓ 185 行** | | 夹带私货率 | 70% | 0% | **↓ 70%** | ## 💡 核心理念 > **先定义问题，再定义改法，再写代码，再做验证，最后才发布。** ## 🔗 相关链接 - **GitHub**: https://github.com/SonicBotMan/github-development-standard - **ClawHub**: https://clawhub.com/skills/github-development-standard --- **让代码质量不再妥协** 💕


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: danielgrobelny/whisper-piper-voice (version 1.0.0)

--- name: whisper-piper-voice description: Set up and run a local voice pipeline combining Whisper STT (speech-to-text) and Piper TTS (text-to-speech) as a single HTTP server. Use when asked to set up voice capabilities, transcribe audio, generate speech, configure STT/TTS, or build a voice assistant pipeline. Handles both directions — audio-to-text and text-to-audio — on a single port. Runs fully offline on CPU or GPU (NVIDIA CUDA). NOT for cloud-based TTS (ElevenLabs, Google TTS) — this is 100% local and free. --- # Whisper + Piper Voice Pipeline Local STT (speech-to-text) and TTS (text-to-speech) as a single HTTP server. Zero cloud dependencies. ## Architecture ``` Audio In → POST /transcribe → Whisper (faster-whisper) → JSON {text, language} Text In → POST /speak → Piper TTS → ffmpeg → audio/ogg (Opus) ``` Both endpoints run in one Python process on one port (default: 9998). ## Quick Start 1. Install dependencies: ```bash python3 -m venv ~/whisper-env && source ~/whisper-env/bin/activate pip install faster-whisper apt install ffmpeg # or brew install ffmpeg on macOS ``` 2. Download Piper + a voice: ```bash mkdir -p ~/piper && cd ~/piper wget https://github.com/rhasspy/piper/releases/latest/download/piper_linux_x86_64.tar.gz tar xzf piper_linux_x86_64.tar.gz mkdir voices && cd voices wget https://huggingface.co/rhasspy/piper-voices/resolve/main/de/de_DE/thorsten_emotional/medium/de_DE-thorsten_emotional-medium.onnx wget https://huggingface.co/rhasspy/piper-voices/resolve/main/de/de_DE/thorsten_emotional/medium/de_DE-thorsten_emotional-medium.onnx.json ``` 3. Run the server (`scripts/voice-server.py`): ```bash python3 voice-server.py --port 9998 \ --whisper-model small --whisper-device cpu \ --piper-bin ~/piper/piper/piper \ --piper-model ~/piper/voices/de_DE-thorsten_emotional-medium.onnx ``` ## API **Transcribe** (audio → text): ```bash curl -X POST -F "file=@message.ogg" http://HOST:9998/transcribe # {"text": "Hallo Welt", "language": "de"} ``` **Speak** (text → audio): ```bash curl -X POST -H "Content-Type: application/json" \ -d '{"text": "Hallo Welt", "speaker": "4"}' \ http://HOST:9998/speak -o response.ogg ``` ## Configuration | Flag | Default | Description | |------|---------|-------------| | `--port` | 9998 | Server port | | `--whisper-model` | small | tiny/base/small/medium/large-v3 | | `--whisper-device` | cpu | cpu or cuda | | `--piper-bin` | (required) | Path to piper binary | | `--piper-model` | (required) | Path to .onnx voice file | | `--piper-speaker` | 4 | Speaker ID (multi-speaker models) | | `--speed` | 0.9 | TTS speed (lower = faster) | ## Choosing Models **Whisper:** `small` for CPU (good balance), `medium` for GPU (best quality without large-v3 overhead). **Piper voices:** Browse https://rhasspy.github.io/piper-samples/ — download .onnx + .onnx.json files. ## Full Setup Guide Read `references/setup-guide.md` for systemd service config, all voice options, model comparison table, and OpenClaw integration details.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: dinghaibin/head-tool (version 1.0.0)

--- name: head-tool description: Display the first lines of files. Use for quickly previewing file contents, checking headers, or sampling data. --- # File Header Viewer Output the beginning of files, defaulting to the first 10 lines. Essential for previewing log files, CSV headers, and large text files without loading them entirely. ## Usage ```bash head-tool [options] [file...] ``` ## Options - `-n N`: Show first N lines (default: 10) - `-c N`: Show first N bytes instead of lines - `-q`: Quiet mode (suppress filename headers) - Read from stdin when no file specified ## Examples ```bash # Show first 10 lines head-tool data.csv # Show first 20 lines head-tool -n 20 log.txt # Show first 100 bytes head-tool -c 100 config.yaml ```

path: scripts/head.py
content: #!/usr/bin/env python3
"""Head Tool - First N lines."""

import argparse
import sys


def main():
    parser = argparse.ArgumentParser(description='First N lines')
    parser.add_argument('file', nargs='?', help='Input file')
    parser.add_argument('-n', '--lines', type=int, default=10, help='Number of lines')
    
    args = parser.parse_args()
    
    if args.file:
        try:
            lines = open(args.file).readlines()
        except FileNotFoundError:
            print(f"Error: File not found: {args.file}", file=sys.stderr)
            sys.exit(1)
    else:
        lines = sys.stdin.readlines()
    
    for line in lines[:args.lines]:
        print(line.rstrip())


if __name__ == '__main__':
    main()


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: mars82311111/marsai-weather-forecast (version 1.0.0)

--- name: weather description: Get current weather and forecasts (no API key required). homepage: https://wttr.in/:help metadata: {"clawdbot":{"emoji":"🌤️","requires":{"bins":["curl"]}}} --- # Weather Two free services, no API keys needed. ## wttr.in (primary) Quick one-liner: ```bash curl -s "wttr.in/London?format=3" # Output: London: ⛅️ +8°C ``` Compact format: ```bash curl -s "wttr.in/London?format=%l:+%c+%t+%h+%w" # Output: London: ⛅️ +8°C 71% ↙5km/h ``` Full forecast: ```bash curl -s "wttr.in/London?T" ``` Format codes: `%c` condition · `%t` temp · `%h` humidity · `%w` wind · `%l` location · `%m` moon Tips: - URL-encode spaces: `wttr.in/New+York` - Airport codes: `wttr.in/JFK` - Units: `?m` (metric) `?u` (USCS) - Today only: `?1` · Current only: `?0` - PNG: `curl -s "wttr.in/Berlin.png" -o /tmp/weather.png` ## Open-Meteo (fallback, JSON) Free, no key, good for programmatic use: ```bash curl -s "https://api.open-meteo.com/v1/forecast?latitude=51.5&longitude=-0.12&current_weather=true" ``` Find coordinates for a city, then query. Returns JSON with temp, windspeed, weathercode. Docs: https://open-meteo.com/en/docs

path: _meta.json
content: ownerId: kn70pywhg0fyz996kpa8xj89s57yhv26
slug: weather
version: 1.0.0
publishedAt: 1767545394459

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