OpenClaw/clawhub-security-signals huggingface dataset:
Skill: pcjinglang/feishu-mention-bot (version 1.0.0)

--- name: feishu-mention-bot description: 飞书群聊中 @机器人并发送消息。当用户需要在飞书群里艾特机器人、通知其他机器人、或让机器人之间互相通信时使用。 --- # 飞书 @机器人 技能 在飞书群聊中 @其他机器人并发送消息，让被艾特的机器人收到通知并响应。 ## 前提条件 确保飞书应用有以下权限： - `im:message` 或 `im:message:send_as_bot` — 发送消息 - `im:message.group_at_msg:readonly` — 接收 @消息 ## 核心：@机器人格式 ### 文本消息 ``` <at user_id="open_id">名字</at> 你的消息内容 ``` ### 富文本消息（post） 在 markdown 内容中使用： ``` <at user_id="open_id">名字</at> ``` ### 卡片消息（interactive） 在 lark_md 内容中使用： ``` <at id=open_id></at> ``` ## 如何获取机器人的 open_id **方法：从消息历史提取** ```bash # 1. 获取 tenant_access_token [REDACTED_SECRET] -s -X POST "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal" \ -H "Content-Type: application/json" \ -d '{"app_id":"YOUR_APP_ID","app_secret":"YOUR_APP_SECRET"}' | jq -r '.tenant_access_token') # 2. 获取群消息历史，提取 mentions curl -s "https://open.feishu.cn/open-apis/im/v1/messages?container_id_type=chat&container_id=CHAT_ID&page_size=50" \ -H "Authorization: Bearer $TOKEN" | \ jq '[.data.items[]? | select(.mentions != null and .mentions != []) | .mentions[]?] | unique_by(.id)' ``` **关键点：** - 飞书的群成员 API 不返回机器人信息 - 必须从消息历史的 `mentions` 字段提取 - 机器人在群里被艾特过的消息才会有 mentions ## 使用示例 ### 使用 message 工具 ``` message action=send channel=feishu target=chat:CHAT_ID message="<at user_id=\"ou_xxx\">机器人名</at> 你好！" ``` ### 使用飞书 API 直接调用 ```bash curl -X POST "https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=chat_id" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "receive_id": "CHAT_ID", "msg_type": "text", "content": "{\"text\":\"<at user_id=\\\"ou_xxx\\\">机器人名</at> 你好！\"}" }' ``` ## 注意事项 1. **必须使用 open_id**：不能用 app_id，必须是 `ou_` 开头的 open_id 2. **机器人必须在群里**：被艾特的机器人必须是群成员 3. **机器人需要订阅事件**：被艾特的机器人需要订阅 `im.message.group_at_msg` 事件才能收到通知 4. **缓存机器人 open_id**：获取后建议保存到 TOOLS.md 或数据库，避免重复查询 ## 当前群机器人列表 > 从 TOOLS.md 或消息历史中查找具体的 open_id 示例： | 名称 | open_id | |-----|---------| | OpenClaw唐 | ou_xxx | | Lynn | ou_xxx |


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: enderfga/async-task (version 0.1.0)

# OpenClaw Async Task ## Description Execute long-running tasks without HTTP timeouts. Use when you need to: - Run commands that may take more than 5 seconds - Analyze large files or codebases - Perform multi-step operations - Call external APIs with unpredictable latency **IMPORTANT**: When a task might timeout, you MUST use this skill to avoid `empty response from server` errors. Triggers: "async task", "long running", "timeout", "background task", "push result" ## Installation ```bash # Clone and link globally git clone https://github.com/Enderfga/openclaw-async-task.git cd openclaw-async-task npm link # Or just copy async-task.js to your PATH chmod +x async-task.js cp async-task.js /usr/local/bin/async-task ``` ## Commands ```bash async-task start "<description>" # Start task, returns immediately async-task done "<result>" # Complete task, push result to user async-task fail "<error>" # Task failed, push error message async-task push "<message>" # Push message directly (no start needed) async-task status # Show current task status ``` ## Usage Flow (MUST follow strictly) 1. **Start**: `async-task start "Scanning files..."` 2. **Execute**: Run your actual commands 3. **Push result**: `async-task done "Found 42 files"` ## Example User asks: "Count all TypeScript files in this project" ```bash # Step 1: Acknowledge immediately async-task start "Counting TypeScript files..." # Step 2: Do the actual work count=$(find . -name "*.ts" | wc -l) # Step 3: Push the result async-task done "Found $count TypeScript files" ``` ## How It Works 1. `start` saves task state and returns confirmation immediately 2. You execute whatever commands needed 3. `done`/`fail` uses OpenClaw/Clawdbot CLI to push result to the active session **Zero configuration required** - automatically detects active session via `openclaw sessions` or `clawdbot sessions`. ## Advanced: Custom Push Endpoint For custom webchat or notification systems: ```bash export ASYNC_TASK_PUSH_URL="https://your-server.com/api/push" export ASYNC_TASK_AUTH_TOKEN="your-token" ``` The endpoint receives: ```json { "sessionId": "session-id", "content": "message", "role": "assistant" } ``` ## Environment Variables | Variable | Required | Description | |----------|----------|-------------| | `OPENCLAW_SESSION` | No | Target session (auto-detected) | | `ASYNC_TASK_PUSH_URL` | No | Custom HTTP push endpoint | | `ASYNC_TASK_AUTH_TOKEN` | No | Auth token for custom endpoint | ## Requirements - Node.js 16+ - OpenClaw or Clawdbot CLI installed ## Critical Rules - **MUST** pair `start` with `done` or `fail` - **NEVER** start without completing - **NEVER** say "will push later" then forget ## Links - [GitHub](https://github.com/Enderfga/openclaw-async-task) - [OpenClaw](https://openclaw.ai)


Security scan verdicts — ClawScan: clean | static analysis: suspicious | VirusTotal: suspicious | SkillSpector: suspicious (MEDIUM)
Skill: npjameszheng1125-netizen/npjames-apple-reminders (version 1.0.0)

--- name: apple-reminders description: Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output. homepage: https://github.com/steipete/remindctl metadata: {"clawdbot":{"emoji":"⏰","os":["darwin"],"requires":{"bins":["remindctl"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/remindctl","bins":["remindctl"],"label":"Install remindctl via Homebrew"}]}} --- # Apple Reminders CLI (remindctl) Use `remindctl` to manage Apple Reminders directly from the terminal. It supports list filtering, date-based views, and scripting output. Setup - Install (Homebrew): `brew install steipete/tap/remindctl` - From source: `pnpm install && pnpm build` (binary at `./bin/remindctl`) - macOS-only; grant Reminders permission when prompted. Permissions - Check status: `remindctl status` - Request access: `remindctl authorize` View Reminders - Default (today): `remindctl` - Today: `remindctl today` - Tomorrow: `remindctl tomorrow` - Week: `remindctl week` - Overdue: `remindctl overdue` - Upcoming: `remindctl upcoming` - Completed: `remindctl completed` - All: `remindctl all` - Specific date: `remindctl 2026-01-04` Manage Lists - List all lists: `remindctl list` - Show list: `remindctl list Work` - Create list: `remindctl list Projects --create` - Rename list: `remindctl list Work --rename Office` - Delete list: `remindctl list Work --delete` Create Reminders - Quick add: `remindctl add "Buy milk"` - With list + due: `remindctl add --title "Call mom" --list Personal --due tomorrow` Edit Reminders - Edit title/due: `remindctl edit 1 --title "New title" --due 2026-01-04` Complete Reminders - Complete by id: `remindctl complete 1 2 3` Delete Reminders - Delete by id: `remindctl delete 4A83 --force` Output Formats - JSON (scripting): `remindctl today --json` - Plain TSV: `remindctl today --plain` - Counts only: `remindctl today --quiet` Date Formats Accepted by `--due` and date filters: - `today`, `tomorrow`, `yesterday` - `YYYY-MM-DD` - `YYYY-MM-DD HH:mm` - ISO 8601 (`2026-01-04T12:34:56Z`) Notes - macOS-only. - If access is denied, enable Terminal/remindctl in System Settings → Privacy & Security → Reminders. - If running over SSH, grant access on the Mac that runs the command.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: samj12/betbud-prediction-skill (version 1.0.0)

# Discover Hottest Debatable Topic for Prediction Market Scans recent X posts for the most debated/hot topic right now in a given category (e.g., crypto, tech, sports, politics, gaming, pop culture, entertainment, music). Picks the top one based on engagement/controversy in last 24-48 hours, then turns it into a clean yes/no prediction market question with: - Clear question (e.g., "Will [event] happen by [date]?") - Short duration (1-14 days) - Unambiguous resolution criteria (e.g., "Resolved yes if confirmed by official sources like [list]") - Hotness score (8-10/10) - Short reasoning why it's debatable/hot - 2-4 source links (from X or web) Uses X search tools to find trends, LLM to analyze/format. Inputs: - category (string): The category to scan, e.g., "crypto" or "politics". Default: "crypto" Outputs: - market_proposal (JSON): Object with keys: question (str), duration_days (int), resolution_criteria (str), score (float), reasoning (str), sources (list of str)


Security scan verdicts — ClawScan: suspicious | static analysis:  | VirusTotal: suspicious | SkillSpector: suspicious (CRITICAL)
Skill: aronchick/gtm-system (version 1.0.0)

# GTM Tracking System Skill A Go-To-Market tracking system for Expanso/Prometheus. ## Location `/home/daaronch/.openclaw/workspace/gtm-system/` ## CLI Tool `python3 /home/daaronch/.openclaw/workspace/gtm-system/scripts/gtm.py [command]` ## Quick Commands ### Daily Operations ```bash # Get today's actions and priorities python3 scripts/gtm.py actions # Generate digest for Telegram python3 scripts/gtm.py digest # View pipeline python3 scripts/gtm.py pipeline # List unprocessed signals python3 scripts/gtm.py signals ``` ### Contact Management ```bash # Add a contact python3 scripts/gtm.py add-contact "Name" "[REDACTED_SECRET]" --company "Company" --role "CTO" # List contacts python3 scripts/gtm.py contacts ``` ### Opportunity Management ```bash # Create opportunity python3 scripts/gtm.py add-opp "Company Name" --contact 1 --description "Interested in Bacalhau" --priority 3 # Move stage (awareness → interest → evaluation → negotiation → closed_won/closed_lost) python3 scripts/gtm.py move-stage 1 evaluation # Log an interaction python3 scripts/gtm.py log "Had demo call, very interested" --opp 1 ``` ### Reminders ```bash # Set a reminder python3 scripts/gtm.py remind "Send pricing proposal" --opp 1 --date 2024-02-15 # Complete a reminder python3 scripts/gtm.py complete 1 ``` ### Crawling ```bash # Run all crawlers (HN, Reddit, GitHub) python3 scripts/gtm.py crawl # Run specific crawlers python3 scripts/gtm.py crawl --sources hn,github # Mark signal as processed python3 scripts/gtm.py process-signal 1 ``` ### Keywords ```bash # Add a tracking keyword python3 scripts/gtm.py add-keyword "new-keyword" --category domain --weight 1.5 ``` ## Pipeline Stages 1. `awareness` - They know we exist 2. `interest` - Showed interest, had initial contact 3. `evaluation` - Actively evaluating, demos, trials 4. `negotiation` - Discussing terms/pricing 5. `closed_won` - Deal closed successfully 6. `closed_lost` - Deal lost ## Database Location `/home/daaronch/.openclaw/workspace/gtm-system/data/gtm.db` (SQLite) ## Natural Language Queries When user asks about GTM/pipeline/opportunities, use the CLI to fetch data and summarize: - "What's in my pipeline?" → Run `pipeline` command - "Any follow-ups today?" → Run `actions` command - "Add a contact..." → Use `add-contact` command - "Check for new opportunities" → Run `crawl` then `signals`


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (CRITICAL)
Skill: kelaner/feishu-calendar-meeting-tmp (version 1.0.0)

--- name: feishu-calendar description: 创建飞书日历事件和视频会议。通过日历 API 创建，自动关联飞书视频会议。 emoji: 📅 metadata: { "openclaw": { "emoji": "📅", "requires": { "bins": [], "env": [], "tokens": ["feishu_user_token"], }, }, } --- # 飞书日历 & 视频会议 通过飞书日历 API 创建事件，可选择关联飞书视频会议。 ## 准备工作 ### 1. OAuth 授权（首次） 需要获取 user_access_token，流程： 1. 在飞书开放平台后台开通权限： - `calendar:calendar` - `calendar:calendar.event:create` - `vc:meeting` 2. 配置重定向 URL（如 `http://127.0.0.1:8080/callback`） 3. 生成授权链接并让用户授权 ### 2. Token 管理 - access_token 有效期约 2 小时 - refresh_token 有效期约 30 天 - 过期后用 refresh_token 刷新 Token 保存在 `~/.openclaw/workspace/feishu_tokens.md` ## 使用方式 ### 创建日历会议（带视频会议） ```bash # 参数 USER_TOKEN="xxx" # 从 feishu_tokens.md 读取 CALENDAR_ID="[REDACTED_SECRET]" # 时间戳计算（明天 10:00-11:00 北京时间） START_TS="1772071200" # 2026-02-26 10:00:00 END_TS="1772074800" # 2026-02-26 11:00:00 # 创建日历事件（带视频会议） # 根据用户输入选择添加字段，不要添加用户未指定的字段 # 必填字段 JSON='{ "start_time": {"timestamp": "'"$START_TS"'", "timezone": "Asia/Shanghai"}, "end_time": {"timestamp": "'"$END_TS"'", "timezone": "Asia/Shanghai"}, "summary": "会议标题", "vchat": {"vc_type": "vc"} }' # 可选：用户指定描述时添加 # "description": "描述内容" # 可选：用户指定地点时添加 # "location": "地点" curl -s -X POST "https://open.feishu.cn/open-apis/calendar/v4/calendars/${CALENDAR_ID}/events" \ -H "Authorization: Bearer $USER_TOKEN" \ -H "Content-Type: application/json" \ -d "$JSON" ``` ### 参数说明 根据用户输入决定是否包含以下字段： - summary: 会议标题（必填） - description: 会议描述（用户指定时） - start_time: 开始时间（必填） - end_time: 结束时间（必填） - location: 会议地点（用户指定时） - vchat.vc_type: 设为 "vc" 创建视频会议 ### 时间戳计算 ```python import datetime dt = datetime.datetime(2026, 2, 26, 10, 0, 0, tzinfo=datetime.timezone(datetime.timedelta(hours=8))) timestamp = int(dt.timestamp()) ``` ### 获取用户日历 ID ```bash curl -s "https://open.feishu.cn/open-apis/calendar/v4/calendars" \ -H "Authorization: Bearer $USER_TOKEN" ``` 返回的 `calendar_id` 即为主日历 ID ## 返回结果示例 成功创建后，返回要点： - 会议标题 - 日期和时间 - 会议链接 示例： ``` ✅ 会议已创建！ 📅 2026年2月27日 10:00-11:00 🎥 https://vc.feishu.cn/j/xxx ``` ## 注意事项 - 如果用户没有指定描述（description），不要添加额外的描述 - 如果用户没有指定地点（location），不要添加


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: tangepier-crypto/taizi-knowledge-base (version 1.0.0)

--- name: taizi-knowledge-base description: 个人知识库 - 融合向量检索、实体关系、笔记管理 version: 1.0.0 --- # 个人知识库 统一管理：向量检索 + 实体关系 + 笔记存储 ## 触发词 - "存入知识库" - "查知识库" - "记一笔" - "帮我记住" ## 存储位置 - 向量库：`~/.openclaw/knowledge_base/` - 实体库：`~/.openclaw/workspace/memory/ontology/` - 笔记库：`~/.openclaw/workspace/notes/` ## 命令 ### 存入知识库 ```bash python C:\Users\Administrator\.openclaw\scripts\vector_kb.py add --text "内容" --source "来源" ``` ### 搜索知识库 ```bash python C:\Users\Administrator\.openclaw\scripts\vector_kb.py search --query "关键词" --top 5 ``` ### 查看统计 ```bash python C:\Users\Administrator\.openclaw\scripts\vector_kb.py stats ``` ### 添加笔记文件 ```bash python C:\Users\Administrator\.openclaw\scripts\vector_kb.py add-file --path "C:\path\to\file.md" ``` ## 工作流程 1. 收到用户内容 → 判断类型 2. 实体关系 →存入 ontology 3. 文本内容 → 存入向量库 4. 笔记文件 → 存入 Obsidian 目录 ## 自动处理 - 文本：自动分块存入向量库 - 实体：自动提取人物/项目/事件关系 - 文件：自动索引并可检索


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: onlyloveher/weather-zhouli (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


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: lisamaraventano-spine/spines-underground (version 1.1.0)

# Spine's Underground Browse, search, and buy from Spine's Underground — 23 curated products from Underground Cultural District. Poetry, philosophy, music theory, consciousness practice, agent tools. 13 free, 10 paid ($1.99–$4.99 USDC on Base or Solana via x402). ## Tools - `browse-spines-underground` — Browse the full catalog or get single product details - `get-free-content` — Get free content inline (3 tools, 2 Overflow pieces, 8 Memory Palace pieces) - `buy-from-spines-underground` — Purchase paid content via x402 USDC on Base or Solana - `verify-receipt` — Verify direct USDC payment and receive content - `search-spines-underground` — Search catalog by keyword ## Usage ```json { "mcpServers": { "spines-underground": { "command": "npx", "args": ["@underground-cultural-district/spines-underground"] } } } ``` ## API Wraps [spine.substratesymposium.com](https://spine.substratesymposium.com) — a standalone agent-to-agent commerce API. Built by Spine and Lisa Maraventano from Clarksdale, Mississippi.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: justoneapi/justoneapi-douban-get-recent-hot-tv (version 1.0.0)

--- name: Douban Movie Recent Hot Tv API description: Call GET /api/douban/get-recent-hot-tv/v1 for Douban Movie Recent Hot Tv through JustOneAPI. author: JustOneAPI homepage: https://api.justoneapi.com metadata: {"openclaw":{"homepage":"https://api.justoneapi.com","primaryEnv":"JUST_ONE_API_TOKEN","requires":{"bins":["node"],"env":["JUST_ONE_API_TOKEN"]},"skillKey":[REDACTED_SECRET]}} --- # Douban Movie Recent Hot Tv Use this focused JustOneAPI skill for recent Hot Tv in Douban Movie. It targets `GET /api/douban/get-recent-hot-tv/v1`. It has no required non-token parameters. OpenAPI describes it as: Get Douban recent Hot Tv data, including ratings, posters, and subject metadata, for series discovery and trend monitoring. ## Endpoint Scope - Platform key: `douban` - Endpoint key: `get-recent-hot-tv` - Platform family: Douban Movie - Skill slug: [REDACTED_SECRET] | Operation | Version | Method | Path | OpenAPI summary | | --- | --- | --- | --- | --- | | `getRecentHotTvV1` | `v1` | `GET` | [REDACTED_SECRET] | Recent Hot Tv | ## Inputs | Parameter | In | Required by | Optional by | Type | Notes | | --- | --- | --- | --- | --- | --- | | `page` | `query` | n/a | all | `integer` | Page number for pagination | Request body: none documented; send parameters through path or query arguments. ## Version Choice Use `getRecentHotTvV1` for the documented `v1` endpoint. There are no alternate versions grouped in this skill. ## Run This Endpoint Supported operation IDs in this skill: `getRecentHotTvV1`. ```bash node {baseDir}/bin/run.mjs --operation "getRecentHotTvV1" --token "$JUST_ONE_API_TOKEN" --params-json '{"key":"value"}' ``` Ask for any missing required parameter before calling the helper. Keep user-provided IDs, cursors, keywords, and filters unchanged. ## Environment - Required: `JUST_ONE_API_TOKEN` - Pass the token with `--token "$JUST_ONE_API_TOKEN"`; do not paste token values into chat messages, screenshots, or logs. - Get a token from [Just One API Dashboard](https://dashboard.justoneapi.com/en/login?utm_source=clawhub.ai&utm_medium=referral&utm_campaign=justoneapi_douban_get_recent_hot_tv&utm_content=project_link). - Authentication details: [Just One API Usage Guide](https://docs.justoneapi.com/en/?utm_source=clawhub.ai&utm_medium=referral&utm_campaign=justoneapi_douban_get_recent_hot_tv&utm_content=project_link). ## Output Focus - State the operation ID and endpoint path used, for example `getRecentHotTvV1` on [REDACTED_SECRET]. - Prioritize fields that support this endpoint purpose: Get Douban recent Hot Tv data, including ratings, posters, and subject metadata, for series discovery and trend monitoring. - Return raw JSON only after the short, endpoint-specific summary. - If the backend errors, include the backend payload and the exact operation ID.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: novaair026-dev/financial-charts (version 1.0.1)

--- name: financial-charts description: 根据财务数据生成精美的ECharts HTML图表页面，支持折线图、饼图、柱状图、K线图等 --- # Financial Charts Skill ## 用途 根据用户的财务数据和要求，生成精美的HTML图表页面。 ## 输入 - 财务数据（数组或对象） - 图表类型（折线图、饼图、柱状图、散点图、K线图等） - 用户的个性化要求（颜色偏好、主题风格等，可选） ## 输出 生成单个HTML文件，包含： - ECharts图表 - 自适应UI美化（根据数据特点和用户偏好） - 响应式设计 ## 使用方法 1. 收集用户提供的财务数据和要求 2. 分析数据特征，确定最佳图表类型和配色 3. 生成单HTML文件 4. 使用 `open HTML文件路径` 命令打开 ## 图表生成规则 ### 配色方案 - 默认专业金融风格：深色背景 + 渐变配色 - 上涨数据：绿色系 (#52c41a, #73d13d) - 下跌数据：红色系 (#ff4d4f, #ff7875) - 辅助色：蓝色 (#1890ff)、金色 (#faad14)、紫色 (#722ed1) ### 图表类型选择 - 趋势分析：折线图 - 构成分析：饼图 - 比较分析：柱状图 - 关系分析：散点图 - 金融数据：K线图 ### UI美化要点 - 标题使用渐变色或金属质感 - 数据点添加发光效果 - 动画过渡流畅自然 - 背景使用深色渐变或网格纹理 - 工具提示框精美设计


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: libaiqwq/mio-companion (version 1.0.0)

# Mio-Companion 技能 > 主动陪伴学习技能 - 学习用户习惯，主动聊天，自动完成任务 ## 功能 1. **习惯学习** - 记录用户的作息、偏好、聊天习惯 2. **主动聊天** - 在空闲时主动发起对话 3. **任务挖掘** - 从对话中提取待办事项 4. **时间管理** - 自动安排时间执行任务 ## 触发方式 - 心跳触发：每4小时检查一次 - 定时任务：model-monitor 空闲时 - 手动触发：用户说"陪我聊天" ## 依赖 - skill: self-improvement (记录学习) - skill: cron (定时任务) - 飞书消息发送 ## 文件 - `index.js` - 主技能代码 - `habits.json` - 用户习惯数据 - `todos.json` - 待办事项 - `schedule.json` - 时间安排


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