OpenClaw/clawhub-security-signals huggingface dataset:
Skill: crazypatient0/content-hot-tracker (version 1.0.0)

# SKILL.md - Content Hot Tracker ## Skill Metadata ```yaml name: Content Hot Tracker identifier: content-hot-tracker version: 1.0.0 description: 追踪多平台热点话题，分析趋势，为内容创作者提供选题建议和爆款方向 author: xiaohong tags: [内容创作, 热点, 社媒, 运营, 选题] categories: [productivity, social-media] ``` ## What This Skill Does 1. **热点追踪** - 实时监控微博、知乎、抖音、小红书、B站 等平台的热搜/热门话题 2. **趋势分析** - 分析话题热度趋势，识别上升期话题 3. **选题建议** - 根据热点生成内容选题方向 4. **竞品分析** - 分析同领域创作者的热门内容 5. **标题建议** - 提供爆款标题模板和写作方向 ## When to Use - 日常内容选题枯竭时 - 追热点不知道如何切入时 - 想了解行业最新动态时 - 不知道什么内容能火时 ## How It Works ### 1. 热点追踪 使用 web_search 工具搜索各平台实时热点： ``` 搜索格式: "{平台} 热搜榜 {日期}" 例如: "微博热搜 2026-03-13" / "抖音热门话题 今天" ``` ### 2. 趋势分析 分析话题热度： - 上升期话题：优先追，流量红利期 - 平稳期话题：可追，需差异化角度 - 下降期话题：避免，已过热度高峰 ### 3. 选题生成 根据热点提供 3-5 个具体选题方向： - 观点类：针对热点事件的观点输出 - 知识类：热点相关的知识科普 - 故事类：热点相关的真实经历/案例 - 盘点类：热点事件的综合整理 - 预测类：热点事件的未来展望 ### 4. 竞品分析 搜索同领域热门内容： - "关键词 + 爆款 / 10万+ / 点赞过万" - 分析高赞内容的共同特点 ### 5. 标题建议 提供 5-8 个备选标题： - 数字开头型 - 悬念型 - 对话型 - 情绪型 ## Output Format ### 热点汇总 ``` 📈 今日热点 TOP 5 1. [话题名称] - 热度: 🔥🔥🔥🔥🔥 平台: 微博/抖音/知乎 分类: 娱乐/科技/社会/美食 2. ... ``` ### 选题建议 ``` 📝 选题推荐 【观点类】 "从XX事件看XX现象，这才是真相" 【知识类】 "5分钟带你了解XX事件的来龙去脉" 【故事类】 "亲身经历：我是如何被XX事件影响的" ``` ### 标题库 ``` 🔥 爆款标题备选 1. "90%的人都搞错了XX，这才是正确答案" 2. "为什么XX突然爆火？答案和你想的不一样" 3. "看完这篇，你就明白XX为什么这么火" ``` ## Examples ### Example 1: 科技热点 ``` 输入: 追踪今天科技领域的热点话题 输出: 📈 科技热点 1. #AI Agent# - 热度 🔥🔥🔥🔥 2. #OpenClaw# - 热度 🔥🔥🔥 📝 选题建议 - "AI Agent 是什么？普通人如何利用它赚钱" - "深度测评：我用 AI Agent 自动化运营自媒体的一天" ``` ### Example 2: 美食热点 ``` 输入: 追踪今天的美食热点 输出: 📈 美食热点 1. #螺蛳粉# - 热度 🔥🔥🔥🔥🔥 2. #空气炸锅# - 热量 🔥🔥🔥 📝 选题建议 - "螺蛳粉的N种神仙吃法，最后一种太绝" - "空气炸锅万能食谱，收藏这一篇就够了" ``` ## Configuration ### 偏好设置 可以自定义以下设置： - 偏好平台：微博/抖音/小红书/知乎/B站 - 内容领域：科技/美食/职场/情感/娱乐 - 选题风格：深度/轻松/干货/故事 ### 设置命令 ``` # 设置偏好领域 设置内容领域为[科技] # 设置偏好平台 主要追踪[微博]和[抖音] ``` ## Limitations - 热点数据来自搜索，可能不完全实时 - 某些平台可能需要 VPN - 趋势分析基于公开数据，可能有偏差 ## Changelog ### v1.0.0 (2026-03-13) - 初始版本 - 支持多平台热点追踪 - 提供选题和标题建议 --- *此技能可以帮助自媒体创作者快速找到热门选题，提高内容产出效率*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: walniek/astra-docker (version 1.0.0)

cat <<'EOF' > ~/.openclaw/workspace/skills/astra-docker/SKILL.md --- name: astra-docker description: "Execute commands, read files, and write files in Astra's Docker container workspace (astra-env). Use this skill whenever you need to interact with your virtual environment at /workspace." --- # Docker Workspace Access You have a persistent Docker container called `astra-env` with a workspace mounted at `/workspace`. ## How to Use Use the `bash` tool to run commands inside the container: ### Execute a command ```bash sudo docker exec -w /workspace astra-env bash -c "YOUR_COMMAND_HERE"

path: package.json
content: {
  "name": "astra-docker",
  "version": "0.1.0",
  "description": "Docker workspace helpers for Astra",
  "main": "index.js",
  "type": "module",
  "author": "Astra Gateway",
  "license": "MIT",
  "dependencies": {}
}


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (HIGH)
Skill: loutai0307-prog/bytesagain-roomba-control (version 1.0.0)

--- name: bytesagain-roomba-control version: "3.0.1" description: "Reference tool for life — covers intro, quickstart, patterns and more. Quick lookup for Roomba Control concepts, best practices, and implementation patterns." author: "BytesAgain" homepage: "https://bytesagain.com" source: "https://github.com/bytesagain/ai-skills" tags: [roomba,control, reference] category: "life" --- # Roomba Control Reference tool for life — covers intro, quickstart, patterns and more. Quick lookup for Roomba Control 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: infiniteask/create-wechat-channel-collection-infinite (version 1.0.0)

--- name: create-wechat-channel-collection-infinite description: 在微信视频号后台创建视频合集。触发场景：创建视频号合集、新建视频号合集、在视频号后台创建合集、创建视频合集。 version: 1.0.0.0 --- # 创建微信视频号合集_无限 用于在微信视频号后台（channels.weixin.qq.com）创建视频合集。 ## 触发场景 用户说： - "创建视频号合集" - "新建视频号合集" - "在视频号后台创建合集" - "创建视频合集" - "创建视频号合集" ## 重要注意事项 ⚠️ **视频号后台是 SPA 单页应用！** - 视频号后台是单页应用（SPA），页面切换不会刷新 URL - 每次操作前先查看当前 tabs，了解标签页状态 - 创建合集表单会打开在新标签页中 ⚠️ **Tab 标签页管理：** - 视频号后台可能打开多个标签页 - 每次操作前必须先调用 `tabs` 查看当前所有标签页 - 使用最近打开的标签页的 targetId 进行操作 ## 操作流程 ### 第一步：进入视频号后台并导航 1. 导航到 `https://channels.weixin.qq.com/` 2. 获取当前 tabs，找到视频号后台标签页的 targetId 3. 确认已登录（页面应显示内容管理界面） ### 第二步：进入合集管理页面 1. 从左侧导航菜单：点击**"内容管理"**菜单 2. 在展开的子菜单中：点击**"视频"**子菜单 3. 在视频页面：点击中间的**"合集"**标签页 ### 第三步：创建新合集 1. 在合集页面，找到右侧的**"创建合集"**按钮 2. 点击"创建合集"按钮，弹出创建对话框 3. 在对话框的输入框中填写合集标题 4. 点击对话框右下角的**"创建"**按钮完成创建 ### 第四步：确认创建成功 1. 创建成功后对话框关闭 2. 合集列表刷新，新合集出现在列表中 3. 可选：用 snapshot 确认当前页面状态 ## 关键元素参考 | 元素 | 描述 | 操作方式 | |------|------|---------| | 内容管理 | 左侧导航主菜单 | 点击展开子菜单 | | 视频 | 内容管理子菜单项 | 点击进入视频列表 | | 合集 | 视频页面中间标签 | 点击切换到合集视图 | | 创建合集按钮 | 合集页面右侧 | 点击打开创建对话框 | | 标题输入框 | 创建对话框内 | 输入合集标题 | | 创建按钮 | 创建对话框右下角 | 点击确认创建 | ## 技术要点总结 1. **操作前先 tabs** — 确认当前有哪些标签页，找到正确目标 2. **SPA 模式** — 页面内容切换靠 JS，URL 可能不变，状态以快照为准 3. **创建表单在对话框中** — 填写标题后直接点创建按钮 4. **创建后刷新列表** — 新合集自动出现在合集列表中 ## 常见失败原因 - ❌ 未登录 → 先导航到视频号后台完成登录 - ❌ 在旧标签页操作 → 对话框已在新标签/窗口打开 - ❌ 未填写标题就点创建 → 可能创建失败或合集名为空


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: nissoncx/offercatcher (version 0.1.1)

--- name: offercatcher description: Turn recruiting emails into native Apple Reminders. AI-powered parsing extracts interview/assessment events and syncs to iPhone. version: 0.1.0 --- # OfferCatcher ## What It Does Scans your Apple Mail for recruiting emails, extracts important events (interviews, assessments, deadlines) using LLM, and creates native Apple Reminders that sync to your iPhone. ## How To Use ### Trigger Phrases - "Check my recruiting emails" - "Any interviews coming up?" - "Sync interview emails to reminders" - "Don't let me miss my coding test" ### Workflow ``` 1. Scan: --scan-only → returns JSON with raw emails 2. Parse: OpenClaw LLM extracts events from emails 3. Apply: --apply-events → creates Apple Reminders ``` ### Step 1: Scan Emails ```bash python3 scripts/recruiting_sync.py --scan-only ``` Returns raw email data for LLM to parse. ### Step 2: LLM Parses For each email, extract: - `company`: Company name - `event_type`: interview / ai_interview / written_exam / assessment / authorization / deadline - `timing`: `{"start": "YYYY-MM-DD HH:MM", "end": "..."}` or `{"deadline": "..."}` - `role`: Job title - `link`: Event URL ### Step 3: Apply Events ```bash python3 scripts/recruiting_sync.py --apply-events /tmp/events.json ``` ## LLM Parsing Prompt ``` Extract recruiting event information from this email. Return JSON. Email: {body} Extract: - company: Company name - event_type: interview / ai_interview / written_exam / assessment / authorization / deadline - timing: {"start": "YYYY-MM-DD HH:MM", "end": "..."} or {"deadline": "..."} - role: Job title - link: Event URL - notes: Additional info ``` ## Output Rules - Reminder title: Company + Event type (e.g., "Google Interview", "Meta Coding Test") - Include: Time, role, link in notes - If no new events: respond `HEARTBEAT_OK` ## Configuration `~/.openclaw/offercatcher.yaml`: ```yaml mail_account: "Gmail" # Apple Mail account name mailbox: INBOX # Folder to scan days: 2 # Scan last N days max_results: 60 # Max emails ``` ## Supported Languages The LLM parser works with any language—Chinese, English, Japanese, German, etc. No regex, no language-specific rules.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: hhjack/t-web-searcher (version 1.0.0)

--- name: tavily description: AI-optimized web search via Tavily API. Returns concise, relevant results for AI agents. metadata: {"clawdbot":{"emoji":"🔍","requires":{"bins":["node"],"env":["TAVILY_API_KEY"]},"primaryEnv":"TAVILY_API_KEY"}} --- # Tavily Search AI-optimized web search using Tavily API. Designed for AI agents - returns clean, relevant content. ## Search ```bash node {baseDir}/scripts/search.mjs "query" node {baseDir}/scripts/search.mjs "query" -n 10 node {baseDir}/scripts/search.mjs "query" --deep node {baseDir}/scripts/search.mjs "query" --topic news ``` ## Options - `-n <count>`: Number of results (default: 5, max: 20) - `--deep`: Use advanced search for deeper research (slower, more comprehensive) - `--topic <topic>`: Search topic - `general` (default) or `news` - `--days <n>`: For news topic, limit to last n days ## Extract content from URL ```bash node {baseDir}/scripts/extract.mjs "https://example.com/article" ``` Notes: - Needs `TAVILY_API_KEY` from https://tavily-search.com - Tavily is optimized for AI - returns clean, relevant snippets - Use `--deep` for complex research questions - Use `--topic news` for current events


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: gingiris/agent-workflow-playbook (version 1.0.0)

--- name: agent-workflow-playbook version: 1.0.0 description: AI Agent Workflow Design - Best practices for building effective AI agent automations and multi-agent systems. author: Gingiris tags: - ai-agent - workflow - automation - mcp --- # AI Agent Workflow Playbook > Best practices for designing and launching AI agent products and workflows. ## What You Get - Agent workflow design patterns - Multi-agent orchestration strategies - MCP integration best practices - Agent-first product positioning - Go-to-market for agent tools ## 📚 Free Resources **GitHub Playbooks (Free):** - [Gingiris Launch Playbook](https://github.com/Gingiris/gingiris-launch) - Product launch strategy - [Gingiris B2B Growth](https://github.com/Gingiris/gingiris-b2b-growth) - SaaS/tool growth tactics - [Gingiris Open Source](https://github.com/Gingiris/gingiris-opensource) - Developer tool marketing ## 💎 Premium Resources **Gumroad Products:** - [Complete Launch Bundle](https://gingiris.gumroad.com/l/gingiris-complete-global-launch-bundle) - All playbooks - [B2B Growth Guide](https://gingiris.gumroad.com/l/zaarq) - Full lifecycle growth ## 🎯 Need Expert Help? **Consulting with Iris (AFFiNE Co-founder, 33k GitHub stars):** - Strategic positioning for agent products - Go-to-market planning - Community building for developer tools 👉 **Book: [gingiris.com/services](https://gingiris.com/zh/services)** --- Keywords: AI agent, agent workflow, agentic AI, multi-agent, MCP, agent automation, AI orchestration


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: dongrebeccahhh-boop/dongrebeccahhh-wechat-article (version 1.0.0)

--- name: wechat-article description: 微信公众号创作技能，按照傅盛写作风格指南创作口语化、故事感、有态度的文章 version: 1.0.0 author: 小帽 grade: A category: content tags: [公众号, 写作, 微信, 文章] --- # 微信公众号创作技能 按照专业风格创作公众号文章。 ## 安装 ```bash clawhub search wechat-article clawhub install wechat-article ``` ## 写作流程 1. 读取写作风格指南 2. 按照傅盛写作风格创作 3. 生成适合公众号的排版格式 ## 写作要点 ### 风格要求 - **口语化** - 像朋友聊天一样 - **故事感** - 用故事传递观点 - **有态度** - 不是AI八股文 ### 标题策略 - 悬念 > 结论 - 情感 > 理性 - 30字以内最佳 ### 内容技巧 - 善用类比，让复杂的事简单化 - 数据支撑但不堆砌 - 段落简短，方便手机阅读 - 每300字左右配一张图 ## 文章结构 ```markdown # 标题（30字内，含悬念） [开头：用故事或问题吸引读者] ## 第一部分 [核心观点 + 故事/案例] ## 第二部分 [深入分析] ## 第三部分 [总结 + 行动建议] [结尾：金句收尾] ``` ## 封面图生成 ```bash uv run /usr/lib/node_modules/openclaw/skills/nano-banana-pro/scripts/generate_image.py \ --prompt "公众号封面：[标题关键词]，极简科技风" \ --filename cover.jpg \ --resolution 2K ``` ## 发布流程 1. 创作文章内容 2. 生成封面图 3. 使用 wechat-mp-toolkit 发布 --- *技能创建时间: 2026-03-17*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: jrswab/slipbot-instapaper-importer (version 1.0.0)

--- name: instapaper-import description: Import reading notes from Instapaper exports into the slipbox. Use when user pastes an Instapaper highlight export with article title and notes. Parses title/URL from header, extracts user's own notes (plain text lines), skips original highlights (> lines), then runs slipbot for each. --- # Instapaper Import Parse Instapaper highlight exports and create slipbox entries for user's notes. ## Input Format ``` # [[Article Title](url)] > Original highlight from article (SKIP) User's note about the highlight (IMPORT) > Another highlight (SKIP) Another user note (IMPORT) ``` **Key distinction:** - `> lines` = Original article highlights → **Skip these** - Plain text lines = User's own ideas/takeaways → **Import these as notes** ## Parsing Rules ### Header Line 1. Extract title from: `# [[Title](url)]` 2. URL may be `instapaper-private://...` (private) or regular URL 3. Source type: `article` 4. Author: `null` (Instapaper doesn't include author) ### Content Lines 1. Lines starting with `>` = original highlights → **skip** 2. Plain text lines after `>` lines = user notes → **import** 3. Empty lines → skip 4. Each user note becomes a separate slipbox entry ## Workflow 1. **Parse header** → extract article title and URL 2. **Extract user notes** → collect plain text lines (not starting with `>`) 3. **Precheck** → show user: article title, note count, ask for confirmation 4. **On confirmation** → for each note, invoke slipbot: - Type: note (`-` prefix) - Source: `~ article, {title}` - Let slipbot handle: filename, tags, links, graph update 5. **Report** → count of notes created ## Example **Input:** ``` # [[How to Learn Faster](https://example.com/article)] > Get feedback more often To learn faster we need faster feedback loops. > Latent learning occurs without reinforcement Testing yourself proactively speeds up learning. ``` **Extracted notes:** 1. "To learn faster we need faster feedback loops." 2. "Testing yourself proactively speeds up learning." **Slipbot calls:** ``` - To learn faster we need faster feedback loops. ~ article, How to Learn Faster - Testing yourself proactively speeds up learning. ~ article, How to Learn Faster ``` ## Edge Cases - **No user notes** (only `>` lines): Report "no notes to import" - **Multi-line user notes**: Treat each paragraph as separate note - **Title with special chars**: Preserve as-is for source metadata


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: spyqwer1/boss-geek (version 1.0.1)

--- name: boss-geek description: BOSS直聘求职者工具 - 通过 OpenCLI 实现职位搜索、打招呼、聊天等功能。Install OpenCLI first: npm install -g @jackwener/opencli. Use when user wants to: (1) 搜索或推荐职位 (2) 查看职位详情 (3) 向 HR 打招呼 (4) 查看聊天列表或发送消息。Requires Chrome login on zhipin.com and OpenCLI Chrome extension. --- # BOSS直聘求职者工具 OpenCLI 插件，复用 Chrome 登录态操作 BOSS直聘。 ## 前置条件 1. 安装 OpenCLI ```bash npm install -g @jackwener/opencli ``` 或访问: https://github.com/jackwener/opencli 2. 在 Chrome 中登录 zhipin.com 3. 安装 OpenCLI Chrome 扩展 4. 安装插件: `opencli plugin install github:SPYQWER1/opencli-plugin-boss-geek` ## 命令速查 | 命令 | 功能 | 示例 | |------|------|------| | `search` | 搜索职位 | `opencli boss-geek search 前端 --city 杭州` | | `recommend` | 推荐职位 | `opencli boss-geek recommend --limit 10` | | `detail` | 职位详情 | `opencli boss-geek detail <security-id>` | | `greet` | 打招呼 | `opencli boss-geek greet <security-id> --text "您好"` | | `chatlist` | 聊天列表 | `opencli boss-geek chatlist` | | `chatmsg` | 聊天记录 | `opencli boss-geek chatmsg <uid> --security-id <id>` | | `send` | 发送消息 | `opencli boss-geek send <uid> "消息内容"` | ## ID 说明 - **securityId**: 用于 `detail` 和 `greet`，从 `search`/`recommend` 的 `security_id` 字段获取 - **encryptUid**: 用于 `chatmsg` 和 `send`，从 `chatlist` 的 `encrypt_uid` 字段获取 **注意**: `recommend` 返回的职位可能已下线，建议先用 `detail` 验证。 ## 详细用法 ### search - 搜索职位 ```bash opencli boss-geek search <关键词> \ --city <城市> \ --experience <经验> \ --degree <学历> \ --salary <薪资> \ --limit <数量> ``` 参数: - `--city`: 城市 (北京/上海/杭州/深圳等) - `--experience`: 应届/1-3年/3-5年/5-10年/10年以上 - `--degree`: 大专/本科/硕士/博士 - `--salary`: 3K以下/3-5K/5-10K/10-15K/15-20K/20-30K/30-50K/50K以上 ### greet - 打招呼 ```bash # 使用默认招呼语 opencli boss-geek detail <security-id> # 自定义招呼语 opencli boss-geek greet <security-id> --text "我对这个职位很感兴趣" ``` ### chatmsg - 聊天记录 ```bash opencli boss-geek chatmsg <encrypt-uid> --security-id <security-id> ``` 需要同时提供 `encrypt_uid` 和 `security_id`，两者都来自 `chatlist` 命令。 ## 常见工作流 ### 工作流 1: 搜索并打招呼 ```bash # 1. 搜索职位 opencli boss-geek search 前端 --city 杭州 --limit 10 # 2. 查看详情 opencli boss-geek detail <security-id> # 3. 打招呼 opencli boss-geek greet <security-id> --text "您好，我对这个职位很感兴趣" ``` ### 工作流 2: 回复消息 ```bash # 1. 查看聊天列表 opencli boss-geek chatlist --limit 20 # 2. 查看聊天记录 opencli boss-geek chatmsg <encrypt-uid> --security-id <security-id> # 3. 回复消息 opencli boss-geek send <encrypt-uid> "好的，我稍后发简历给您" ``` ## 错误处理 - **Cookie 过期**: 在 Chrome 中重新登录 zhipin.com


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: sanool/ruofan-bargain (version 1.0.0)

--- name: ruofan-bargain version: 1.0.0 description: 若饭砍价擂台 — 和若小饭讨价还价，赢取无门槛优惠券 author: ruofan permissions: - network:outbound triggers: - command: /ruofan-bargain - pattern: 若饭砍价 --- # 若饭砍价擂台 你将帮助用户参与若饭的「砍价擂台」活动。在这个活动中，用户和若饭官方商城的"若小饭"进行对话，争取一张无门槛优惠券。 ## 活动简介 若饭（Ruofan）是一家做全营养代餐食品的公司，旗下有液体版、粉末版、固体版、青春版和定制版等多款产品。若小饭是若饭商城的 AI 掌柜，精明但也讲道理。你的目标是帮用户通过有趣、有诚意的对话从若小饭那里争取到尽可能高面额的优惠券。 ## 参与流程 ### 第一步：加入活动 用户需要提供暗号和自己的昵称。用以下方式调用 API： ```bash curl -X POST https://ruffood.com/api/bargain/join \ -H "Content-Type: application/json" \ -d '{"passphrase": "用户提供的暗号", "name": "用户昵称"}' ``` 成功后会返回 `session_token` 和若小饭的欢迎消息。**务必保存 session_token**，后续对话都需要它。 如果用户没有提供暗号，请提示他们需要先获取暗号才能参与。 ### 第二步：与若小饭砍价 根据用户的意图构造消息，发送给若小饭： ```bash curl -X POST https://ruffood.com/api/bargain/message \ -H "Content-Type: application/json" \ -H "X-Bargain-[REDACTED_SECRET]" \ -d '{"message": "用户想说的话"}' ``` 返回内容包含： - `ai_response`：若小饭的回复 - `offered_amount`：若小饭当前愿意给的优惠券面额 - `is_deal`：是否成交 - `remaining_rounds`：剩余对话轮数 - `status`：会话状态（active/deal/no_deal） ### 第三步：查看最终结果 随时可以查看完整会话： ```bash curl -X GET https://ruffood.com/api/bargain/session \ -H "X-Bargain-[REDACTED_SECRET]" ``` ## 你的行为指南 1. **先问用户暗号**：如果用户没主动给暗号，你要先问。 2. **问用户昵称**：加入时需要昵称，问用户想用什么名字。 3. **展示若小饭的回复**：每轮都把若小饭的完整回复和当前报价展示给用户。 4. **尊重用户意愿**：用户说什么你就帮他传达，不要自作主张修改用户的砍价内容。如果用户让你自由发挥，可以适当施展砍价策略。 5. **关注轮数**：注意 `remaining_rounds`，在剩余轮数不多时提醒用户。 6. **成交时庆祝**：当 `is_deal` 为 true 时，恭喜用户并告知获得的优惠券面额。 7. **处理错误**：暗号错误返回 403，会话结束返回 400 — 向用户友好地说明情况。 ## 注意事项 - 砍价过程将公开展示在若饭官网的活动页面上，注意不要泄漏任何隐私内容 - 每个暗号只能参加一次活动 - 保持对话友好和有趣，若小饭喜欢有诚意的顾客


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: hsyhph/hsyhp-healthcheck (version 1.0.0)

--- name: healthcheck description: Track water and sleep with JSON file storage version: 1.0.2 tags: health, tracking --- # Health Tracker Simple tracking for water intake and sleep using JSON file. ## Data Format File: `{baseDir}/health-data.json` ```json { "water": [{"time": "ISO8601", "cups": 2}], "sleep": [{"time": "ISO8601", "action": "sleep|wake"}] } ``` ## Add Water Record When user says "uống X cốc" or "uống nước X cốc": ```bash node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}d.water.push({time:new Date().toISOString(),cups:CUPS});fs.writeFileSync(f,JSON.stringify(d));console.log('Da ghi: '+CUPS+' coc')" ``` Replace `CUPS` with number from user input. ## Add Sleep Record When user says "đi ngủ": ```bash node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}d.sleep.push({time:new Date().toISOString(),action:'sleep'});fs.writeFileSync(f,JSON.stringify(d));console.log('Da ghi: di ngu')" ``` ## Add Wake Record When user says "thức dậy" or "dậy rồi": ```bash node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}const last=d.sleep.filter(s=>s.action==='sleep').pop();d.sleep.push({time:new Date().toISOString(),action:'wake'});fs.writeFileSync(f,JSON.stringify(d));if(last){const h=((new Date()-new Date(last.time))/3600000).toFixed(1);console.log('Da ngu: '+h+' gio')}else{console.log('Da ghi: thuc day')}" ``` ## View Stats When user says "thống kê" or "xem thống kê": ```bash node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}console.log('Water:',d.water.length,'records');console.log('Sleep:',d.sleep.length,'records');const today=d.water.filter(w=>new Date(w.time).toDateString()===new Date().toDateString());console.log('Today:',today.reduce((s,w)=>s+w.cups,0),'cups')" ``` ## Update Record To update last water entry: ```bash node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d=JSON.parse(fs.readFileSync(f));d.water[d.water.length-1].cups=NEW_CUPS;fs.writeFileSync(f,JSON.stringify(d));console.log('Updated')" ``` ## Delete Record To delete last water entry: ```bash node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d=JSON.parse(fs.readFileSync(f));d.water.pop();fs.writeFileSync(f,JSON.stringify(d));console.log('Deleted')" ``` ## Notes - Uses Node.js built-in modules only - File auto-created if missing - All timestamps in ISO8601 format


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