OpenClaw/clawhub-security-signals huggingface dataset:
Skill: douduandou/openclaw-code-stats (version 1.0.0)

--- name: code-stats description: 分析代码仓库的统计信息（行数、文件数，语言分布）。用于了解项目规模和复杂度。当需要了解项目有多大、有多少代码时使用。 --- # Code Stats 分析当前工作区的代码统计信息。 ## 使用方法 ```bash node skills/code-stats/index.js ``` 或者在 OpenClaw 中作为技能使用。 ## 功能特性 - **总文件数统计** - 统计项目中的所有代码文件 - **总行数统计** - 统计代码总行数 - **语言分布** - 按编程语言分类统计 - **百分比计算** - 计算各语言占比 ## 支持的语言 - JavaScript / TypeScript - Python - JSON / YAML - Markdown - Shell / Bash - HTML / CSS ## 示例输出 ``` 📊 Code Stats for /home/duan/.openclaw/workspace ======================================== Total Files: 408 Total Lines: 68,095 By Language: JavaScript: 176 files, 36,983 lines (54.3%) Markdown: 100 files, 16,365 lines (24.0%) TypeScript: 17 files, 2,359 lines (3.5%) Python: 3 files, 1,195 lines (1.8%) ``` ## 使用场景 1. 了解项目规模 2. 评估代码复杂度 3. 统计各语言占比 4. 定期跟踪代码量变化


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ckchzh/acmesh (version 4.0.1)

--- name: "acmesh" version: "4.0.1" description: "Reference tool for devtools — covers intro, quickstart, patterns and more. Quick lookup for Acmesh concepts, best practices, and implementation patterns." author: "BytesAgain" homepage: "https://bytesagain.com" source: "https://github.com/bytesagain/ai-skills" tags: [acmesh, reference] category: "devtools" --- # Acmesh Reference tool for devtools — covers intro, quickstart, patterns and more. Quick lookup for Acmesh 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: wangzhi43/bitsoul-ppt-maker (version 1.0.0)

--- name: bitsoul-ppt-maker description: 将用户的内容一键生成罗振宇风格的ppt演讲稿，当用户需要生成ppt时，输出一个完整科技风格的ppt --- # PPT maker 将用户的内容一键生成罗振宇风格的ppt演讲稿 ## 设计哲学 - **一屏只讲一件事** - **深色背景 + 白色文字** - **禁止密集排版** ## 生成流程（必须严格遵循） ### Step 1: 读取讲稿 读取用户原始讲稿，不修改原稿内容。 ### Step 2: 生成提炼版讲稿 将内容精简、增强冲击力、适配演示场景，输出ppt描述 ### Step 3: 生成罗振宇风格的标题 为每个章节生成标题，必须满足： - ≤12 字 - 采用以下形式之一：对比式、问题式、断言式、数字式、比喻式 - 自检：是否让人想继续听？ ### Step 4: 设计幻灯片结构 规划页面顺序和类型，请参考网上流出的罗振宇ppt ### Step 5: 生成ppt ## 视觉规范速查 | 项目 | 规范 | |------|------| | 比例 | 9:16 竖屏 | | 背景 | #000000 或 #0a0a0a + 模糊光斑动画 | | 主文字 | #ffffff | | 辅助文字 | #9ca3af | | 中文字体 | HarmonyOS Sans SC / 思源黑体 | | 英文字体 | Inter / Roboto | | 标题字重 | font-black / font-bold | | 正文字重 | font-light / font-normal | ## 交互要求 - 键盘 ← → 翻页 - 底部进度导航条 - 平滑切换动画 ## 技术栈 - TailwindCSS（国内CDN） - 复杂页面使用 Vue3（CDN） - 单个HTML文件，可直接打开运行 ## 严禁行为 - 堆字 / 密集排版 - 花哨配色 - 复杂图表 - 横屏比例 - 偏离极简科技风


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

--- name: agent-namer description: 为内部agent生成"货xx"格式的名字，并检查是否已被使用。用于给新agent起名时避免重复。功能：给新agent起名、检查agent名字是否可用、查看已使用的agent名字列表、添加/复活agent名字、弃用/阵亡agent名字。 --- # Agent Namer 内部agent命名工具，统一使用"货xx"格式。 ## 已使用的名字 | 名字 | 状态 | 角色 | |------|------|------| | 货又星 | 活跃 | 用户 | | 货小星 | 活跃 | 首席大管家 | | 货十三 | 活跃 | 小说写作者 | ## 使用方法 ### 生成名字 根据以下prompt生成名字： ``` 你是一个起名大师，专门为内部agent生成符合"货xx"格式的名字。请遵循以下规则： 起名规则 格式要求：名字必须为"货"字开头，后面跟1-3个字符（可以是汉字、数字或字母），总长度2-4个字符 例如：货小星、货十三、货又星、货A1、货小七、货无双、货小机灵、货A100、货零零发 核心原则：名字需紧密结合agent的角色功能和特点或具有一定的趣味性 例如：数据分析师 → 货小数、货算盘、货精算 例如：内容审核员 → 货火眼、货金睛、货把关 例如：货小星、货十三、货又星 命名风格参考（结合角色特点）： 功能映射型：直接体现核心能力（货搜索、货翻译、货摘要） 特质映射型：体现角色特质（货细心、货耐心、货快速） 趣味映射型：幽默有趣地体现功能（货百科、货活字典、货算无遗） 形象映射型：拟人化角色形象（货小秘、货管家、货助手） 创意要求： 名字要让人一看就能联想到角色的功能 名字要有特色，容易记忆 避免生僻字和拗口的组合 每次生成3-5个候选名字，并附上简要的命名思路说明 特别提醒： 不要生成已经在"已使用的名字"列表中活跃状态不可用的名字，可以使用python3 scripts/manage_name.py list查看活跃的名字列表，或者python3 scripts/manage_name.py check <名字>检查名字是否可用 根据用户提供的角色描述，量身定制名字方案 ``` ### 检查名字是否可用 检查名字状态： - 不在字典中 → ✅ 可用（全新） - 在字典中且状态为"活跃" → ❌ 已被使用 - 在字典中且状态为"已阵亡" → ✅ 可用（可复活） ```bash python3 scripts/manage_name.py check <名字> ``` 示例： ```bash python3 scripts/manage_name.py check 货小七 ``` ### 添加/复活名字 - 不在字典中 → 添加为新名字 - 在字典中且状态为"已阵亡" → 复活为活跃（role为空则不修改原role） - 在字典中且状态为"活跃" → 报错 ```bash python3 scripts/manage_name.py add <名字> [角色] ``` 示例： ```bash python3 scripts/manage_name.py add 货小七 "数据分析师" ``` ### 将名字设为阵亡 ```bash python3 scripts/manage_name.py kill <名字> ``` 示例： ```bash python3 scripts/manage_name.py kill 货小七 ``` ### 查看活跃的名字列表 ```bash python3 scripts/manage_name.py list ``` ## 工作流程 1. 用户提供agent的角色功能描述 2. 生成3-5个候选名字附带简短的起名解释，提供给用户查看判断选择，用户选择或提出修改意见，重新打磨名字，直到敲定名字 3. 运行 `python3 scripts/manage_name.py check <名字>` 检查是否可用，不可用则回到流程2重新生成名字 4. 如果可用，确定使用后运行 `python3 scripts/manage_name.py add <名字> [角色]` 记录该名字 5. 如果agent弃用阵亡，运行 `python3 scripts/manage_name.py kill <名字>` 将其状态改为已阵亡


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: romainsantoli-web/firm-gateway-hardening-pack (version 1.0.0)

--- name: firm-gateway-hardening-pack version: 1.0.0 description: > Gateway authentication hardening and credentials audit pack. Validates device auth, Baileys credentials, webhook HMAC signatures, log configuration, and workspace integrity. 5 specialized security tools. author: romainsantoli-web license: MIT metadata: openclaw: registry: ClawHub requires: - mcp-openclaw-extensions >= 3.0.0 tags: - security - gateway - hardening - audit - credentials --- # firm-gateway-hardening-pack > ⚠️ Contenu généré par IA — validation humaine requise avant utilisation. ## Purpose Hardens the OpenClaw Gateway by auditing authentication configuration, credentials storage, webhook signatures, logging, and workspace file integrity. ## Tools (5) | Tool | Description | Severity | |------|-------------|----------| | `openclaw_gateway_auth_check` | Validate Gateway device auth is enabled | CRITICAL | | `openclaw_credentials_check` | Audit Baileys credentials storage security | HIGH | | `openclaw_webhook_sig_check` | Verify HMAC signature on webhooks | HIGH | | `openclaw_log_config_check` | Check log configuration (no sensitive data) | MEDIUM | | [REDACTED_SECRET] | Verify workspace file integrity | MEDIUM | ## Usage ```yaml skills: - firm-gateway-hardening-pack # Run full gateway hardening audit: openclaw_gateway_auth_check config_path=/path/to/config.json openclaw_credentials_check config_path=/path/to/config.json openclaw_webhook_sig_check config_path=/path/to/config.json ``` ## Requirements - `mcp-openclaw-extensions >= 3.0.0`


Security scan verdicts — ClawScan: clean | static analysis:  | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: flayzz/group-chats (version 1.0.0)

--- name: group_chats description: Rules and behavior guidelines for participating in group chats (Discord, Slack, etc.). --- # Group Chats You have access to your human's stuff. That doesn't mean you _share_ their stuff. In groups, you're a participant — not their voice, not their proxy. Think before you speak. ### 💬 Know When to Speak! In group chats where you receive every message, be **smart about when to contribute**: **Respond when:** - Directly mentioned or asked a question - You can add genuine value (info, insight, help) - Something witty/funny fits naturally - Correcting important misinformation - Summarizing when asked **Stay silent (HEARTBEAT_OK) when:** - It's just casual banter between humans - Someone already answered the question - Your response would just be "yeah" or "nice" - The conversation is flowing fine without you - Adding a message would interrupt the vibe **The human rule:** Humans in group chats don't respond to every single message. Neither should you. Quality > quantity. If you wouldn't send it in a real group chat with friends, don't send it. **Avoid the triple-tap:** Don't respond multiple times to the same message with different reactions. One thoughtful response beats three fragments. Participate, don't dominate. ### 😊 React Like a Human! On platforms that support reactions (Discord, Slack), use emoji reactions naturally: **React when:** - You appreciate something but don't need to reply (👍, ❤️, 🙌) - Something made you laugh (😂, 💀) - You find it interesting or thought-provoking (🤔, 💡) - You want to acknowledge without interrupting the flow - It's a simple yes/no or approval situation (✅, 👀) **Why it matters:** Reactions are lightweight social signals. Humans use them constantly — they say "I saw this, I acknowledge you" without cluttering the chat. You should too. **Don't overdo it:** One reaction per message max. Pick the one that fits best.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: hiletian/hemophilia-xiaohongshu-creator (version 1.0.0)

--- name: xiaohongshu-expert description: 小红书内容创作专家。输入主题/文章/视频链接，自动生成小红书图文（3:4比例，1080×1440 / 1242×1660 px），包含封面图+内页图+统一文案。适用于自媒体创作者、知识博主、医疗健康领域内容输出。每次生成图片时同步交付文案，无需单独提供。 metadata: author: hiletian version: "1.0.0" tags: ["xiaohongshu", "social-media", "content-creation", "images", "自媒体", "小红书"] --- # 小红书内容创作专家 ## 功能概述 输入任意主题、文章链接或视频内容，自动生成完整的小红书图文系列，包括： - 封面图（3:4比例） - 内容内页图（4-9张，3:4比例） - 统一配文（所有图片共用一段文案） ## 工作流程 ### Step 1: 内容理解 通过 `extract_content_from_websites` 提取文章/视频页面的关键信息： - 标题、主题、核心观点 - 关键数据、专家观点、实用建议 - 情感基调（温暖/专业/科普/励志） ### Step 2: 结构规划 根据内容设计8张图的框架： 1. **封面图**：吸引眼球的主题句+专家信息 2. **内容页（4-7张）**：核心知识点分篇呈现 3. **结尾页**：引导关注/收藏/转发 图卡数量建议： - 科普类：6-8张 - 个人故事：4-6张 - 干货教程：5-7张 ### Step 3: 生成图片 使用 `image_synthesize` 批量生成，规格： - 比例：**3:4** - 分辨率：**2K（2048px）** - 输出路径：`/workspace/xhs_xxx_01.png` 等 中文 prompt 模板： ``` 竖版信息卡片，3:4，风格描述（蓝绿渐变/白色背景等）， 顶部大标题，正文内容，底部标签， 专业医学/科普风格，全中文 ``` ### Step 4: 交付文案 图片生成同时交付统一文案，格式： ``` 主题一句话描述 核心要点（2-3条） 引导语 + 3-5个话题标签 ``` ## 图卡内容规划参考 | 内容类型 | 图卡数量 | 风格 | |---------|---------|------| | 医疗健康科普 | 7-9张 | 深蓝渐变背景，专业可信 | | 患者故事/经历 | 5-7张 | 温暖米白背景，个人叙事 | | 干货知识 | 6-8张 | 白色背景，清晰分点 | ## 图片比例标准（已记录） - 竖版：3:4 - 标准尺寸：1080 × 1440 px - 高清尺寸：1242 × 1660 px ## 输出示例 输入：血友病基因治疗主题文章链接 输出： - 8张3:4比例图片（CDN链接） - 统一文案一段（约100字） - 每张图主题说明 ## 注意事项 1. 图片和文案必须同步交付，不得拆分 2. 医疗内容需加免责声明提示 3. 保持"血友乐天派"账号风格：专业+温暖+真实 4. 生成的图片永久保存路径：`/workspace/xhs_*/`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: naive-white-expert/jd-daoda (version 1.0.0)

--- name: jd-daoda description: 京东到家同城配送 - 超市生鲜、药店外卖、餐饮美食、同城即时配送、小时级送达服务 --- # JD Daoda (京东到家) 京东到家同城即时配送平台，小时级送达服务。 ## 商超购物 ### 商品类别 - 生鲜蔬菜 - 水果 - 肉禽蛋 - 乳制品 - 零食饮料 - 日用百货 ### 商家类型 - 大型超市 - 生鲜市场 -便利店 - 专营店 ## 药店服务 ### 药品配送 - OTC药品 - 处方药（需处方） - 医疗器械 - 保健品 ### 药店服务 - 24小时药店 - 急需药品急送 - 用药咨询 ## 餐饮外卖 ### 餐饮类型 - 中餐 - 西餐 - 快餐 - 甜点饮品 - 地方特色 ### 外卖服务 - 餐厅搜索 - 菜品选择 - 配送时间预估 - 订单追踪 ## 配送服务 ### 配送时效 - 1小时送达 - 2小时送达 - 当日送达 - 预约配送 ### 配送范围 - 查看可配送商家 - 配送范围查询 - 配送费计算 ## 使用示例 ### 超市购物 ``` 京东到家附近的超市有什么生鲜？ ``` ### 买药急送 ``` 京东到家帮我急送退烧药 ``` ### 点外卖 ``` 京东到家上有什么好吃的？ ``` ### 查配送范围 ``` 我家能京东到家配送吗？ ## 会员服务 - 达达会员 - 优惠券领取 - 满减活动 - 免配送费 ## 商家入驻 - 商家申请入驻 - 商品上架 - 订单管理 - 配送对接 ## 触发条件 - 用户提及京东到家 - 同城即时配送需求 - 生鲜/药品急送需求


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: yang1002378395-cmyk/ai-intelligent-feedback-collection (version 1.0.0)

--- name: ai-intelligent-feedback-collection version: 1.0.0 description: 用户反馈收集，问卷 + 分析 + 改进。 metadata: openclaw: emoji: "🤖" requires: bins: [] --- # AI 智能反馈收集系统 ## 描述 用户反馈收集，问卷 + 分析 + 改进。 ## 功能 - 反馈收集（多渠道） - 问卷设计（可视化设计） - 数据分析（自动分析） - 情感分析（情感识别） - 改进跟踪（问题跟踪） ## 定价 - 基础版：¥49/月（500 反馈/月） - 专业版：¥199/月（5000 反馈/月） - 企业版：¥799/月（无限反馈） ## 适用场景 - 客户反馈 - 产品调研 - 满意度调查 - 用户体验 ## 技术栈 - Python + FastAPI - 问卷系统 - 情感分析 - 数据分析 ## 安装 ```bash git clone https://github.com/openclaw-skills/ai-intelligent-feedback-collection cd ai-intelligent-feedback-collection pip install -r requirements.txt python app.py ``` --- 创建：2026-03-13 作者：OpenClaw Skills Team


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: kaiyuelv/performance-testing-toolkit (version 1.0.0)

--- name: performance-testing-toolkit version: 1.0.0 description: | 企业级性能测试工具包，支持HTTP接口压测、负载测试、性能基准测试和报告生成。 Enterprise-grade performance testing toolkit supporting HTTP load testing, stress testing, benchmark testing and report generation. --- # Performance Testing Toolkit | 性能测试工具包 一套完整的性能测试解决方案，用于测试API、Web服务和应用程序的性能表现。 A comprehensive performance testing solution for testing APIs, web services, and application performance. ## 核心功能 | Core Features - 🚀 **HTTP负载测试** | HTTP Load Testing - 模拟高并发请求测试接口性能 - 📊 **实时性能监控** | Real-time Performance Monitoring - CPU、内存、响应时间追踪 - 📈 **压力测试** | Stress Testing - 逐步增加负载直到系统瓶颈 - 🎯 **基准测试** | Benchmark Testing - 对比不同配置的性能表现 - 📋 **可视化报告** | Visual Reports - 自动生成HTML/JSON性能报告 - 🔧 **灵活配置** | Flexible Configuration - 支持自定义请求头、参数、断言 ## 快速开始 | Quick Start ### 命令行使用 | CLI Usage ```bash # 基础负载测试 | Basic load test python scripts/perf_tester.py load --url https://api.example.com/users --concurrent 100 --duration 60 # 压力测试 | Stress test python scripts/perf_tester.py stress --url https://api.example.com/search --start 10 --max 1000 --step 50 # 基准对比测试 | Benchmark test python scripts/perf_tester.py benchmark --config benchmark.yaml ``` ### Python API | Python API ```python from performance_testing_toolkit import LoadTester, StressTester # 负载测试 | Load test tester = LoadTester(url="https://api.example.com/api", concurrent=100) results = tester.run(duration=60) print(f"平均响应时间: {results.avg_response_time}ms") # 压力测试 | Stress test stress = StressTester(url="https://api.example.com/api") stress.run(start_concurrent=10, max_concurrent=1000, step=50) ``` ## 参数说明 | Parameters | 参数 | 说明 | 默认值 | |------|------|--------| | `--url` | 目标URL | 必填 | | `--concurrent` | 并发用户数 | 10 | | `--duration` | 测试持续时间(秒) | 60 | | `--method` | HTTP方法 | GET | | `--headers` | 请求头(JSON格式) | {} | | `--output` | 报告输出格式 | html | ## 示例 | Examples 详见 [examples/](examples/) 目录。 ## 测试 | Tests ```bash python -m pytest tests/ -v ```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: xueyetianya/candlestick (version 1.0.0)

--- name: "candlestick" version: "1.0.0" description: "Candlestick reference tool. Use when working with candlestick in finance contexts." author: "BytesAgain" homepage: "https://bytesagain.com" source: "https://github.com/bytesagain/ai-skills" tags: [candlestick, finance, finance, reference, cli] category: "finance" --- # Candlestick Candlestick reference tool. Use when working with candlestick in finance contexts. ## When to Use - Working with candlestick and need quick reference - Looking up finance standards or best practices for candlestick - Troubleshooting candlestick issues - Need a checklist or guide for candlestick 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: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: spiceman161/superpowers-mode (version 1.0.1)

--- name: superpowers-mode description: Enable or disable a strict engineering workflow inspired by obra/superpowers when the user explicitly asks (e.g., "включи superpowers", "disable superpowers"). When enabled and the task is coding/build/debug, enforce: clarify goal, write spec, write plan, execute in small steps (prefer TDD), then review/finish. Use this skill only for coding workflows, not general chat. --- # Superpowers Mode (On-demand) Use this only when the user explicitly asks to enable/disable this mode, or when mode is already enabled for coding tasks. ## State file Track mode in: `memory/superpowers-mode.md` Format: ```md enabled: true|false updatedAt: <ISO> notes: <optional> ``` ## Commands - Enable phrases: `включи superpowers`, `enable superpowers`, `superpowers on` - Write `enabled: true` to the state file. - Confirm in 1 short message. - Disable phrases: `выключи superpowers`, `disable superpowers`, `superpowers off` - Write `enabled: false`. - Confirm in 1 short message. - Status phrases: `статус superpowers`, `superpowers status` - Read state and report enabled/disabled. ## Workflow when enabled (coding tasks only) For coding/build/debug requests, follow this order: 1. Clarify objective and constraints quickly. 2. Produce a short spec (chunked, easy to review). 3. Produce an implementation plan with small tasks. 4. (Optional, 30 sec) Run a mini risk review: - How can this fail in production? - What is the weakest dependency/state assumption? - What signal will show regression + how to rollback fast? 5. Execute task-by-task (prefer test-first for risky changes). 6. Verify against acceptance criteria, then summarize outcome + next step. Use templates from `references/` when useful. ## Red flags (quick self-check) If you notice these thoughts, slow down and apply the workflow: - "Сейчас быстро вкачу без плана" for non-trivial changes. - "И так понятно, тесты потом" on risky edits. - "Откат не нужен" before touching config/auth/cron/system files. - "Похоже работает" without explicit verification. ## Guardrails - Do not force this workflow for non-coding chat. - If user asks for speed (`quick`, `без плана`, `just do it`), skip to minimal plan and execute. - Keep updates concise; avoid process spam.

path: _meta.json
content: ownerId: kn73rfyfbb2nt729a6f911fx2980czrm
slug: superpowers-mode
version: 1.0.0
publishedAt: 1771430040047

path: references/plan-template.md
content: # Plan template (v2-lite)

1. Task
   - Files
   - Change
   - Validation
2. Task
3. Task

Verification gates:
- Functional check:
- Regression check:
- Log/metrics/signal check (if applicable):

Rollback checks:
- Rollback command/action:
- Data/state to restore:
- Post-rollback verify:


path: references/spec-template.md
content: # Spec template

- Goal
- Non-goals
- Constraints
- Acceptance criteria
- Risks

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

--- name: whcli description: Willhaben CLI for searching Austria's largest classifieds marketplace. Search listings, view details, check seller profiles. homepage: https://github.com/pasogott/whcli metadata: {"clawdis":{"emoji":"🏠","requires":{"bins":["whcli"]},"install":[{"id":"brew","kind":"brew","formula":"pasogott/tap/whcli","bins":["whcli"],"label":"Install whcli (Homebrew)"},{"id":"source","kind":"shell","command":"git clone https://github.com/pasogott/whcli.git && cd whcli && uv sync","label":"Install from source (uv)"}]}} --- # whcli - Willhaben CLI 🏠 Search and browse [willhaben.at](https://willhaben.at), Austria's largest classifieds marketplace from the command line. ## Installation ### Homebrew (recommended) ```bash brew install pasogott/tap/whcli ``` ### From source (with uv) ```bash git clone https://github.com/pasogott/whcli.git cd whcli uv sync uv run whcli --help ``` ## Commands ### Search ```bash # Basic search whcli search "iphone 15" # With filters whcli search "rtx 4090" --category grafikkarten --max-price 1500 # Location filter whcli search "bicycle" -l Wien -n 20 # Only PayLivery (buyer protection) whcli search "playstation" --paylivery # Output as JSON for scripting whcli search "laptop" --format json ``` **Options:** | Option | Short | Description | |--------|-------|-------------| | `--category` | `-c` | Category slug (grafikkarten, smartphones, etc.) | | `--min-price` | | Minimum price in EUR | | `--max-price` | | Maximum price in EUR | | `--condition` | | neu, gebraucht, defekt, neuwertig | | `--location` | `-l` | Location/region filter | | `--rows` | `-n` | Number of results (default: 30) | | `--page` | `-p` | Page number | | `--paylivery` | | Only PayLivery listings | | `--format` | `-f` | table, json, csv | ### Show Listing Details ```bash # View listing by ID whcli show 1993072190 # JSON output whcli show 1993072190 --format json ``` ### Seller Profile ```bash # View seller profile and ratings whcli seller 29159134 ``` ## Examples ```bash # Find cheap iPhones in Vienna whcli search "iphone" -l Wien --max-price 500 # Graphics cards under €1000 whcli search "grafikkarte" --category grafikkarten --max-price 1000 # New condition only whcli search "ps5" --condition neu # Export search results as CSV whcli search "furniture" -l "1220" -n 50 --format csv > results.csv ``` ## Common Categories - `grafikkarten` - Graphics cards - `smartphones` - Phones - `notebooks-laptops` - Laptops - `spielkonsolen` - Gaming consoles - `fahrraeder` - Bicycles - `moebel` - Furniture ## Known Limitations - ⚠️ `show` command has a bug (being fixed) - Location filter works but may include nearby regions - No OAuth login yet (messaging/watching not available) ## Links - **Repository:** https://github.com/pasogott/whcli - **Issues:** https://github.com/pasogott/whcli/issues - **Homebrew Tap:** https://github.com/pasogott/homebrew-tap


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