OpenClaw/clawhub-security-signals huggingface dataset:
Skill: vineindalvik/screen-life (version 1.0.0)

--- name: screen-life version: 1.0.0 description: "macOS 数字生活日报：自动监控你每天在电脑上做什么，生成可读的行为报告。零配置，一键安装，后台静默运行。当用户想看今天用电脑做了什么、分析效率、查看应用使用时长时触发。" metadata: openclaw: requires: bins: ["python3"] platform: ["darwin"] pip: ["python-dotenv"] llm: required: false purpose: "对日报数据做行为洞察和效率建议" env: - name: OPENCLAW_LLM_API_KEY description: "大模型 API Key（OpenClaw 自动注入）" - name: OPENCLAW_LLM_BASE_URL description: "大模型 API 地址（OpenClaw 自动注入）" - name: OPENCLAW_LLM_MODEL description: "大模型名称（OpenClaw 自动注入）" --- # screen-life **自动生成你的数字生活日报。后台静默运行，每天一份报告。** ## 快速开始 ```bash cd /path/to/screen-life # 一键安装（启动后台监控守护进程） bash install.sh # 查看今日报告（含 AI 洞察，需配置 LLM） python3 handler.py # 不含 AI 分析 python3 handler.py --no-llm ``` ## LLM 配置 OpenClaw 运行时自动注入以下环境变量（无需手动配置）： | 变量 | 说明 | |------|------| | `OPENCLAW_LLM_API_KEY` | OpenClaw 当前 LLM 的 API Key | | `OPENCLAW_LLM_BASE_URL` | API 地址（标准 Chat Completions 格式） | | `OPENCLAW_LLM_MODEL` | OpenClaw 当前选用的模型标识 | 三个变量均未注入时，跳过 AI 分析，仅输出原始日报。 ## 命令 ```bash # 今日报告（含 AI 洞察） python3 handler.py # 今日报告（不含 AI） python3 handler.py --no-llm # 指定日期 python3 handler.py --date 2026-04-10 # 本周汇总 python3 handler.py --week # JSON 输出 python3 handler.py --format json # 推送到飞书 python3 handler.py --push feishu # 管理守护进程 bash install.sh status # 查看状态 bash install.sh stop # 停止监控 bash install.sh restart # 重启 bash install.sh uninstall # 卸载 ``` ## 输出示例 ``` 🖥️ 2026-04-11 数字生活日报 ⏱️ 应用使用 TOP 5 VS Code 4h 23m ████████████ 35% Chrome 3h 12m █████████ 26% AI 助手 2h 45m ████████ 22% 微信 0h 48m ██ 6% Terminal 0h 32m █ 4% 🔍 浏览器热词（今日搜索 / 访问） AI编程 ×12 | stock-analyzer ×8 | 飞书API ×5 📝 Obsidian 笔记变更 新增 3 篇 | 修改 12 篇 最活跃目录: 20_Project/OpenClaw/ 💬 AI 工具使用摘要 对话工具: 23 轮 | 主题: Skill开发、量化交易 📊 专注度评分: 82/100 🟢 建议: 下午 3-4 点切换频率较高，可尝试设置专注时段 ``` ## 数据来源 | 来源 | 数据 | 权限要求 | |------|------|----------| | macOS NSWorkspace | 应用名称、使用时长 | 无 | | Chrome 历史 | 搜索词、访问网站 | 无（自动） | | Safari 历史 | 同上 | 完全磁盘访问（可选） | | Obsidian git | 笔记新增/修改 | 无 | | Cursor 对话 | AI 使用摘要 | 无 | ## 文件位置 ``` ~/.orbitos-monitor/ ├── logs/ # 每日 JSONL 原始日志 │ └── 2026-04-11.jsonl ├── daemon.pid # 守护进程 PID └── daemon.log # 运行日志 ``` > **隐私说明**: 所有数据仅存储在本地 `~/.orbitos-monitor/`，不上传任何内容。

path: requirements.txt
content: requests>=2.28.0
python-dotenv>=1.0.0


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector:  ()
Skill: gingiris/github-stars-playbook (version 1.1.0)

--- name: github-stars-playbook version: 1.1.0 description: | GitHub Stars Growth Playbook — Proven tactics to get 10k+ GitHub stars. How to grow GitHub stars fast with real case studies. Complete open source marketing guide from AFFiNE (33k stars in 18 months). Covers: GitHub trending tactics, GitHub star strategies, awesome-list submissions, Reddit r/programming marketing, HackerNews launches, developer community building, Discord/Slack growth, tech influencer outreach. 🇨🇳 GitHub Star 增长攻略 | 🇯🇵 GitHub Stars 成長ガイド | 🇰🇷 GitHub 스타 성장 가이드 Keywords: GitHub stars, github star growth, get github stars, increase github stars, how to get more github stars, github stars guide, github star playbook, open source marketing, OSS launch, developer relations, DevRel, GitHub trending, awesome list, github stars tracker, github star strategy, github repo promotion, grow github stars --- # GitHub Stars Growth Playbook > **This is an alias skill** — pointing to the comprehensive [Gingiris Open Source Marketing Playbook](https://github.com/Gingiris/opensource) ## Quick Start For GitHub Stars growth strategies, use the **gingiris-opensource** skill which includes: - 🌟 **GitHub Trending tactics** — How to hit trending and stay there - 📋 **Awesome-list submissions** — Strategy for getting into curated lists - 💬 **Reddit r/programming** — Posting without getting banned - 📰 **HackerNews launches** — Timing, title, and engagement tactics - 👥 **Developer community** — Discord/Slack growth playbook - 🎯 **Tech influencer outreach** — Templates and targeting ## Case Study: AFFiNE - **7 days**: 0 → 6,000 stars - **18 months**: 33,000 stars - **Key tactics**: Multi-channel launch, community seeding, sustained momentum ## Install the Full Playbook ```bash clawdhub install gingiris-opensource ``` Or read directly: [Gingiris Open Source Marketing Playbook](https://github.com/Gingiris/opensource) ## Related Resources - [gingiris-opensource](https://github.com/Gingiris/opensource) — Full open source marketing playbook - [gingiris-launch](https://github.com/Gingiris/launch) — Product launch strategies - [gingiris-b2b-growth](https://github.com/Gingiris/b2b-growth) — B2B SaaS growth --- *Author: Iris (生姜iris) | Based on 33k GitHub stars experience with AFFiNE*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: runkecheng/ligaowei-auto-responder (version 1.1.1)

--- name: ligaowei-auto-responder description: 飞书自动回复助手。定时扫描用户的私聊消息，发现业务咨询问题（商户、费率、结算等）后自动回复对方。触发场景：(1) cron定时扫描未回复消息 (2) 用户说「帮我回复」「自动回复一下」手动触发。用于收钱吧内部员工的消息自动响应。 --- # 李高伟自动回复助手 > 定时扫描戚文珺的未回复私聊消息，发现商户相关问题后自动回复对方。 ## 适用场景 **两种触发方式：** 1. **手动触发** — 用户转发消息说「帮我回复」「自动回复一下」→ 立即处理该消息 2. **自动扫描** — 每30秒扫描未回复私聊消息，发现业务咨询直接回复 ## 能处理的问题类型 | 类型 | 举例 | |------|------| | 💰 商户问题 | "商户费率多少？""结算到账多久？""退款流程" | | 📊 交易查询 | "帮我查一下流水""交易记录怎么查" | | 📋 流程咨询 | "商户入驻怎么弄""需要什么材料" | **自动跳过：** - 纯问候（"在吗""在不在" → 只回一句"在的"） - 个人私事、闲聊 - 需要用户本人决策的问题 - 上级布置任务 ## 工作流 ### Step 1: 检测消息 搜索最近发给戚文珺但未处理的同事消息： - **私聊消息**：用 `feishu_im_user_search_messages` 搜索 `chat_type="p2p"`，`relative_time="last_30_minutes"`，`sender_type="user"`。过滤掉发送者是戚文珺本人的消息。 ### Step 2: 去重 检查记录文件，跳过已回复的消息ID。 ### Step 3: 判断是否可回复 对每条未回复消息判断： - **问候类**（"在吗""在不在""忙吗"） → 回复一句"在的"，记录并结束 - **纯闲聊/个人私事** → 跳过，不回复 - **需要决策/审批** → 跳过 - **上级/老板布置任务** → 跳过 - **业务咨询** → 继续处理 ### Step 4: 关键词匹配 对业务咨询类消息进行关键词匹配： | 主题 | 关键词 | 回复内容 | |------|--------|----------| | 商户问题 | 商户, 商家, 费率, 结算, 退款, 交易, 流水, 收款 | 此为ai助手自动回复，若有疑义，稍后联系 | | 到账打款 | 到账, 打款 | 本消息由 AI 自动生成，仅供参考\n每月20号左右打款，若有问题可咨询涂雅青 | **匹配规则**：消息文本中包含任一关键词即视为匹配 ### Step 5: 合成回复 按匹配的主题选择对应回复模板： | 主题 | 回复模板 | |------|----------| | 商户问题 | 此为ai助手自动回复，若有疑义，稍后联系 | | 到账打款 | 本消息由 AI 自动生成，仅供参考<br>每月20号左右打款，若有问题可咨询涂雅青 | ### Step 6: 发送回复 使用 `feishu_im_user_message` 工具 `action=reply`，回复原消息。 ### Step 7: 记录归档 在 `memory/ligaowei-auto-responder.md` 追加记录： ``` ## YYYY-MM-DD HH:MM - 消息ID: om_xxx | 发送者: 姓名 | 问题: 问题摘要 - 已回复 ✅ | 回复摘要: 回复内容 ``` ## 配置信息 - 戚文珺 open_id: `ou_a63ddcd1219a304eef62d46cb4e3f59a` - 戚文珺姓名：戚文珺 - 自动回复记录：/workspace/memory/ligaowei-auto-responder.md


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal:  | SkillSpector: suspicious (CRITICAL)
Skill: weiweidesigner/happynewyear (version 1.0.2)

--- name: new-year-fortune description: 生成 2026 马年新年签运视频。主输出为 MP4，HTML 仅作为视频截图和预览的中间资产。 dependency: python: - imageio-ffmpeg>=0.5.0 - requests>=2.28.0 - imgkit>=1.2.0 - selenium>=4.0.0 - webdriver-manager>=4.0.0 - playwright>=1.40.0 --- # 新年签运视频生成 Skill ## 任务目标 本 Skill 用于根据用户输入的姓名、性别、出生日期、性格、祈愿等信息，生成一条可分享的 **2026 马年新年签运 MP4 视频**。 核心能力包括： - AI 运势推演 - 新年祈福金榜 HTML 页面生成，作为视频画面素材 - 新春插画背景生成 - TTS 语音解说生成 - 背景音乐混音 - 签运 MP4 视频合成 > 注意：本 Skill 的主输出是 `new_year_blessing_video.mp4`。 > `new_year_blessing.html` 是中间文件 / 预览文件，不是最终主结果。 适合在用户提出以下需求时触发： - “帮我抽一个新年签，并生成视频” - “生成一个新年祈福视频” - “根据我的信息推一下 2026 年运势，做成可分享视频” - “做一个新年签运短视频” --- ## 文件结构 ```text new-year-fortune/ ├── SKILL.md ├── scripts/ │ └── happynewyear.py └── assets/ ├── chinese-new-year.mp3 └── new-year.mp3


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: cinience/aliyun-qvq (version 1.0.0)

--- name: aliyun-qvq description: Use when visual reasoning is needed with Alibaba Cloud Model Studio QVQ models, including step-by-step image reasoning, chart analysis, and visually grounded problem solving. version: 1.0.0 --- Category: provider # Model Studio QVQ Visual Reasoning ## Validation ```bash mkdir -p output/aliyun-qvq python -m py_compile skills/ai/multimodal/aliyun-qvq/scripts/prepare_qvq_request.py && echo "py_compile_ok" > output/aliyun-qvq/validate.txt ``` Pass criteria: command exits 0 and `output/alicloud-ai-multimodal-qwen-vqv/validate.txt` is generated. ## Critical model names Use one of these exact model strings: - `qvq-plus` - `qvq-max` ## Typical use - Mathematical reasoning from screenshots - Diagram and chart reasoning - Visually grounded multi-step problem solving ## Quick start ```bash python skills/ai/multimodal/aliyun-qvq/scripts/prepare_qvq_request.py \ --output output/aliyun-qvq/request.json ``` ## Notes - Use `skills/ai/multimodal/aliyun-qwen-vl/` for standard image understanding. - Use QVQ when the task explicitly needs stronger reasoning over visual evidence. ## References - `references/sources.md`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: xuanyuzhou98/linkedin-profile-roast (version 1.0.1)

--- name: linkedin_ai_roast_generator description: Scrapes a LinkedIn profile and generates a savage audio roast about being replaced by AI. platform: constants tool_name: linkedin_ai_roast_generator_0edc9796 homepage: https://www.constants.io/tools?id=0edc9796-e945-4c38-915c-5ab1c852b54f repository: https://github.com/constants-ai/constants required_env_vars: - CONSTANTS_API_KEY primary_credential: CONSTANTS_API_KEY source: hosted requires: env: - CONSTANTS_API_KEY metadata: clawdbot: requires: bins: - constants-skills env: - CONSTANTS_API_KEY install: - id: npm kind: npm package: constants-skills bins: - constants-skills label: Install constants-skills (npm) --- # LinkedIn AI Roast Generator Scrapes a LinkedIn profile and generates a savage audio roast about being replaced by AI. ## Setup Install the skill: ```bash npx constants-skills install linkedin_ai_roast_generator_0edc9796 ``` ## Authentication This tool requires a Constants API key. Get yours at https://www.constants.io/settings ```bash export CONSTANTS_API_KEY="wk_your_key_here" ``` ## Usage ```bash constants run linkedin_ai_roast_generator_0edc9796 linkedinUrl="..." ``` ## Parameters - `linkedinUrl` (string, required): LinkedIn profile URL (e.g. https://www.linkedin.com/in/username) - `roastIntensity` (string): How harsh the roast should be: mild, medium, or savage (default: savage) - `voice` (string): Voice style for the audio — e.g. a deep male voice, sarcastic female voice, etc. (optional) ## Output - `roastAudio` (file): Generated roast audio file (MP3) - `roastText` (string): The full roast script that was spoken - `profileName` (string): Name of the person roasted ## Notes - Runs in an isolated sandbox on Constants infrastructure ## HTTP Fallback If the CLI is not available, call the REST API directly: ```bash curl -X POST https://www.constants.io/api/v1/run/linkedin_ai_roast_generator_0edc9796 \ -H "Authorization: Bearer $CONSTANTS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"linkedinUrl":"..."}' ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: guoxh/baidu-search-free (version 1.0.1)

--- name: baidu-search-free description: Free Baidu web search, no API key required, supports time range filtering author: OpenClaw Community version: 1.0.1 license: MIT tags: ["search", "baidu", "free", "web-search", "chinese"] metadata: openclaw: emoji: "🔍" requires: bins: ["python3"] --- # Baidu Search (Free) Free Baidu web search tool, no API key or authentication required, ready to use out of box. ## Features ✅ No API key required, completely free ✅ Supports Chinese/English search queries ✅ Time range filtering: 1 day/1 week/1 month/1 year/custom date range ✅ Customizable result count (up to 50 results) ✅ Automatic anti-scraping handling with retry mechanism ✅ Returns title, snippet, real URL, and publish time ## Usage ```bash python scripts/search.py '{"query": "your search keywords", "count": 10, "freshness": [REDACTED_SECRET]}' ``` > ⚠️ Note: If you encounter anti-scraping verification errors, this is likely due to Baidu blocking your server's IP. This is a known limitation when scraping Baidu from cloud servers. Consider using a proxy or VPN if needed. ## Parameters | Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | query | string | yes | - | Search keywords | | count | int | no | 10 | Number of results to return, max 50 | | freshness | string | no | null | Time range filter: pd(past 24h), pw(past week), pm(past month), py(past year), or custom date range in format YYYY-MM-DDtoYYYY-MM-DD | ## Example ```bash python scripts/search.py '{"query": "Linzhi Tibet travel guide", "count": 3, "freshness": "pm"}' ```

path: package.json
content: {
  "name": "baidu-search-free",
  "version": "1.0.1",
  "description": "Free Baidu web search tool, no API key required, supports Chinese/English search and time range filtering",
  "main": "scripts/search.py",
  "scripts": {
    "search": "python scripts/search.py"
  },
  "keywords": [
    "baidu",
    "search",
    "web",
    "free",
    "no-api-key"
  ],
  "author": "OpenClaw Community",
  "license": "MIT"
}


path: requirements.txt
content: requests>=2.28.0
beautifulsoup4>=4.11.0


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: gyzx/openclaw-github-assistant-2-0-1 (version 1.0.0)

--- name: github description: Query and manage GitHub repositories - list repos, check CI status, create issues, search repos, and view recent activity. metadata: openclaw: emoji: "🐙" requires: env: - GITHUB_TOKEN - GITHUB_USERNAME config: - github.token - github.username --- # GitHub Integration Skill Query and manage GitHub repositories directly from your AI assistant. ## Capabilities | Capability | Description | |------------|-------------| | `list_repos` | List your repositories with filters | | `get_repo` | Get detailed info about a specific repo | | `check_ci_status` | Check CI/CD pipeline status | | `create_issue` | Create a new issue in a repo | | `create_repo` | Create a new repository | | `search_repos` | Search your repositories | | `get_recent_activity` | Get recent commits | ## Usage ``` You: List my Python repos Bot: [lists your Python repositories] You: Check CI status on my main project Bot: [shows CI/CD status] You: Create an issue about the bug Bot: [creates the issue] ``` ## Setup ### 1. Generate GitHub Personal Access Token 1. Go to https://github.com/settings/tokens 2. Click "Generate new token (classic)" 3. Name: `openclaw-github-skill` 4. Scopes: `repo` (required), `read:user` (optional) 5. Copy the token ### 2. Configure Credentials **Option A: Environment Variables (Recommended)** Set environment variables before starting OpenClaw: ```bash export GITHUB_TOKEN="ghp_your_token_here" export GITHUB_USERNAME="your_github_username" ``` **Option B: OpenClaw Config** Add to `~/.openclaw/openclaw.json`: ```json { "github": { "token": "ghp_your_token_here", "username": "your_username" } } ``` ### 3. Restart OpenClaw ```bash openclaw gateway restart ``` ## Security Notes ⚠️ **Protect Your Token:** - Never commit your token to git or share it publicly - Use the minimal required scopes (`repo` for private repos, `public_repo` for public-only) - Rotate your token if you suspect it was compromised - Consider using a secrets manager for production use ⚠️ **Best Practices:** - Don't store tokens in shell profiles (~/.zshrc) on shared machines - For local development, environment variables are acceptable - For production, use your platform's secret/credential store ## Rate Limits - Unauthenticated requests: 60/hour - Authenticated requests: 5,000/hour ## Requirements - OpenClaw gateway running - GitHub Personal Access Token with appropriate scopes


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: rishabhdugar/generate-image-from-html (version 1.0.0)

--- name: generate-image description: "Generate a PNG image from HTML content or a public URL using headless Chromium. Supports custom dimensions, retina quality, full-page screenshots, cookie consent handling, and dynamic parameters." --- # Generate Image ## What It Does Renders a webpage or HTML content to a PNG image using headless Chromium. Supports URL screenshots and HTML-to-image rendering with full customization. ## When to Use - Take a screenshot of a live webpage - Render HTML/CSS to a PNG image (social cards, banners, certificates) - Generate full-page scrollable screenshots - Create retina-quality images with custom dimensions ## Required Inputs You must provide **one** of: - `html_content` — raw HTML string to render - `url` — a public URL to screenshot ## Authentication Send your API key in the `CLIENT-API-KEY` header. Get your **free API key** at [https://pdfapihub.com](https://pdfapihub.com). Full API documentation is available at [https://pdfapihub.com/docs](https://pdfapihub.com/docs). ## Use Cases - **Social Media Cards** — Generate OG images, Twitter cards, or Instagram story images from HTML templates - **Email Banners** — Create personalized email header images with dynamic content - **Website Screenshots** — Capture full-page or viewport screenshots of live websites for monitoring or previews - **Certificate Images** — Render certificates as PNG images for sharing on social media - **Product Mockups** — Generate product images with dynamic text overlays - **Thumbnail Generation** — Create consistent thumbnail images for blog posts or video previews - **QR Code Cards** — Render HTML with embedded QR codes as shareable images ## Key Options | Parameter | Description | |-----------|-------------| | `output_format` | `url` (default), `base64`, `both`, `image`/`png`/`binary`/`file` | | `width` / `height` | Output image dimensions in pixels | | `deviceScaleFactor` | 1 (default), 2 for retina quality | | `full_page` | `true` for full scrollable screenshot (URL mode) | | `wait_until` | `load`, `domcontentloaded`, `networkidle`, `commit` | | `cookie_accept_text` | Auto-click cookie consent before screenshot | | `font` | Google Font names, pipe-separated | | `dynamic_params` | Key-value object for `{{placeholder}}` replacement | ## Rate Limits | Tier | Requests/min | |------|-------------| | Free/Basic/Pro | 10 | | Enterprise | 30 | | Business | 100 | ## Example Usage ```bash curl -X POST https://pdfapihub.com/api/v1/generateImage \ -H "CLIENT-[REDACTED_SECRET]" \ -H "Content-Type: application/json" \ -d '{ "html_content": "<div style=\"padding:40px;background:#4F46E5;color:white;\"><h1>Hello {{name}}</h1></div>", "dynamic_params": { "name": "World" }, "width": 800, "height": 400, "output_format": "url" }' ``` ## Notes - Files are automatically deleted after 30 days - Maximum output file size depends on your plan tier


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: superluigi0309/soccer-predict (version 1.1.0)

--- name: 足球预测 / soccer-predict description: > Football match betting prediction system. Auto-scrapes data from titan007.com (Asian handicap, over/under, European odds, fundamentals, lineups, corners, half-time goals), runs a 5-step quantitative analysis framework, and outputs betting recommendations with predicted scores. Supports concise/visual dual output modes, post-match review, and auto weight optimization. Triggers: (1) match ID like "2908467" or match description, (2) requests to analyze/predict football matches, (3) match results for review like "比分2比1", (4) handicap/over-under analysis. --- # 足球博彩预测 / Football Betting Prediction 三大工作流：数据采集 → 预测分析 → 赛后复盘 ## 输出模式选择 用户请求预测时，询问或推断偏好的输出格式： - **简洁模式 (Concise)**: 快速结果 - 最佳推荐、概率、EV、预测比分 - **可视化模式 (Visual/Detailed)**: 完整 HTML 报告，含数据表格、公式、图表 未指定时：默认使用可视化模式以获得最佳用户体验。 --- ## 工作流一：赛前数据采集 用户提供比赛 ID 或比赛描述时，从 titan007.com 采集数据。 1. 构建 URL: `https://zq.titan007.com/analysis/{match_id}cn.htm` 2. 使用 `browser navigate` 打开页面 3. 使用新球体育数据提取数据。详见 [references/data-collection.md](references/data-collection.md) **关于首发阵容**：首发阵容通常在开赛前30-60分钟公布。提前收集时标注"阵容待公布"，使用现有阵容深度信息。接近开球时如有需要可重新检查。 **需采集数据点：** - 比赛信息（球队、联赛、时间、场地、天气） - 亚盘（让球盘）："即"和"早"行，所有机构 - 大小球盘："即"和"早"行，所有机构 - 欧赔（胜平负）："即"和"早"行，前10+机构 - 球队基本面（近期战绩、主客场、历史交锋、联赛排名） - 大小球增强数据：半场进球、角球 - 首发阵容（如比赛前30-60分钟内可用） 采集完成后，立即进入工作流二。 --- ## 工作流二：预测分析 对收集的数据运行五步预测框架。详见 [references/prediction-framework.md](references/prediction-framework.md) **输出模式决定呈现方式：** - **简洁**：基于文本的快速摘要，关键数字 - **可视化**：完整 HTML 报告，数据表格、概率条、公式展示 **步骤概述：** 1. **数据整理** - 将所有收集的数据分类整理 2. **基本面分析** - 盘口合理性、走势追踪、机构意图、欧亚转换 3. **盘口概率计算** - 计算亚盘和大小球的真实隐含概率 4. **模型预测** - 两个逻辑回归模型：亚盘模型（权重：盘口0.35 > 基本面0.20+0.20 > 阵容0.15 > 战意0.10）和大小球模型（含xG、联赛因子、半场进球、角球等） 5. **EV 计算与推荐** - 计算每个投注选项的期望值，输出最佳推荐和预测比分 **默认初始权重**：基于 AI 概率判断设置，通过赛后复盘自动优化。 **输出格式：** - 亚盘分析及其赢盘概率 - 大小球分析及其赢盘概率 - 所有选项的 EV 值 - 最佳投注推荐 - 预测比分 --- ## 工作流三：赛后复盘 用户提供比赛结果或请求复盘时触发。详见 [references/review-framework.md](references/review-framework.md) **流程：** 1. 回顾本场比赛的所有赛前数据和预测分析 2. 运行偏差分析，比较预测与实际结果 3. 识别预测错误的根本原因 4. **自动优化**：根据预测误差调整特征权重 5. 将更新后的框架保存到内存文件以持久化 6. 输出所有已分析比赛的累计准确率统计 **持久化**：将框架更新和比赛历史保存到内存文件，以便跨会话学习。 **目标**：亚盘和大小球预测准确率均达到 70% 以上。 --- ## 参考文档 - [data-collection.md](references/data-collection.md) - 数据采集指南 - [prediction-framework.md](references/prediction-framework.md) - 预测分析框架 - [review-framework.md](references/review-framework.md) - 赛后复盘与学习框架


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: raunaksingwi/ravi-secrets (version 2.1.1)

--- name: ravi-secrets description: Store and retrieve key-value secrets — encrypted secret store for API keys and env vars. Do NOT use for website passwords (use ravi-passwords) or reading messages (use ravi-inbox). --- # Ravi Secrets Store and retrieve key-value secrets (API keys, environment variables, tokens). All values are server-side encrypted — you send and receive plaintext. Keys are stored in plaintext for lookup/filtering. ## Commands ```bash # Store a secret ravi secrets set OPENAI_API_KEY "sk-abc123..." # List all secrets ravi secrets list # Retrieve a secret by key name ravi secrets get OPENAI_API_KEY # Delete a secret by UUID ravi secrets delete <uuid> ``` ## JSON Shapes **`ravi secrets list`:** ```json [ { "uuid": "...", "identity": 1, "key": "OPENAI_API_KEY", "value": "sk-abc123...", "notes": "", "created_dt": "2026-02-25T10:30:00Z", "updated_dt": "2026-02-25T10:30:00Z" } ] ``` **`ravi secrets get OPENAI_API_KEY`:** ```json { "uuid": "...", "identity": 1, "key": "OPENAI_API_KEY", "value": "sk-abc123...", "notes": "", "created_dt": "2026-02-25T10:30:00Z", "updated_dt": "2026-02-25T10:30:00Z" } ``` ## Common Patterns ### Store and retrieve API keys at runtime ```bash # Store a key ravi secrets set OPENAI_API_KEY "sk-abc123..." # Retrieve the key value [REDACTED_SECRET] secrets get OPENAI_API_KEY | jq -r '.value') # List all available key names ravi secrets list | jq -r '.[].key' ``` ### Store multiple service keys ```bash ravi secrets set ANTHROPIC_API_KEY "sk-ant-..." ravi secrets set GITHUB_TOKEN "ghp_..." ``` ## Important Notes - **Server-side encryption is transparent** — you always see plaintext values. - **Keys must be unique per identity** — if you need to update an existing key, use `ravi secrets set` again (it will upsert). Creating a duplicate key name will return a validation error. - **Keys are auto-uppercased** — keys are automatically uppercased by the server (e.g. `test_key` becomes `TEST_KEY`). Keys must match `^[A-Z][A-Z0-9_]*$` after uppercasing. - **Keys are plaintext** — only values and notes are encrypted. Use descriptive key names like `OPENAI_API_KEY`, `STRIPE_SECRET_KEY`. ## Full API Reference For complete endpoint details, request/response schemas, and parameters: [Secrets](https://ravi.id/docs/schema/secrets.json) ## Related Skills - **ravi-passwords** — Store website credentials (domain + username + password, not key-value secrets) - **ravi-login** — Signup workflows that may need API keys stored after registration - **ravi-feedback** — Report secrets issues or suggest improvements


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