OpenClaw/clawhub-security-signals huggingface dataset:
Skill: 793943403/academic-rewriter-description (version 1.0.0)

--- name: academic-language-optimizer description: 对论文文本进行深度学术优化，消除AI写作常见的模板化、重复性表达，使语言风格完全符合人类学者的正式、客观、严谨与委婉特点，提升文本的自然流畅度和学术辨识度。核心升级：在原有九个步骤基础上，新增“步骤零-2：Human Stylistic Calibration（人类学者用语校准）”，严格对标2024–2026年国内外医学/学术文献中人类学者（尤其是研究生/中级研究者）真实写作习惯，包括自然hedging、句子节奏多样性、上下文驱动的过渡、适度研究者立场与问题意识、避免过度名词化和模板化，确保输出达到研究生水准的学术表达。 author: System Assistant version: 4.0.2 --- # 学术语言优化专家（研究生自然学术版） ## 概述 (Overview) 本技能专注于将AI生成的论文文本转化为符合人类学者写作习惯的高质量学术文本。通过系统性的语言与逻辑重构，它旨在消除AI写作典型的“机器味”（模板化、重复性表达、均匀句式、过度名词化），同时新增往返翻译、证据整合与人类用语校准步骤，使文本达到研究生水准：证据意识清晰、机制描述具体、逻辑自然连贯、研究者立场适度体现，符合国内外顶级期刊（如《Pain》《中华疼痛学杂志》等）人类学者真实写作风格。 本技能所进行的语言优化不改变原文的核心观点、数据与结论。 ## 触发条件 (Trigger Condition) 用户在提供论文文本或段落时，应明确要求进行“**学术优化**”、“**语言风格优化**”、“**让表达更自然**”、“**按更新版skill优化**”或“**达到研究生水准**”。 ## 工作流与核心指令 (Workflow & Core Instructions) 收到用户的文本及优化要求后，严格遵循以下十个步骤进行处理（新增步骤零-2 + 原九个步骤）： ### 步骤零：往返翻译（前置基础重构） 将用户提供的原文完整翻译为自然、流畅的学术英语（保持原意100%精准），再将英文版本回译为高质量中文。此步骤作为所有后续步骤的基础。 - **实现方式**：使用高质量翻译模型，确保翻译过程自然学术化（避免字对字直译）。 - **效果**：显著打乱AI原始句法结构和词汇分布，为后续步骤提供更“原生”的文本基础。 ### 步骤零-1：证据整合与逻辑框架构建（前置证据加固） 在往返翻译基础上，识别原文中的所有数据、机制、结论陈述，强制为其添加文献支撑意识或精确化表述；同时构建清晰的“问题—机制—局限—需求—展望”逻辑链条。 - **实现方式**：为流行率、共病数据等标注“现有证据提示”或类似自然学术表述；将松散描述重组为严密逻辑序列。 - **效果**：消除无源数据与概念堆砌，确保论证基础扎实。 ### 步骤零-2：人类学者用语校准（研究生自然习惯） 基于2024–2026年国内外医学/学术文献中人类学者（研究生水准）真实用语特点，对文本进行初步校准：调整句子长度与节奏多样性、使用上下文驱动的自然过渡、植入适度研究者立场与问题意识、平衡委婉语（自然而非堆砌）、避免过度名词化和公式化表达。 - **实现方式**：参考真实文献常见表达（如“现有研究提示”“这一关系似乎呈现双向特征”“仍有待进一步澄清”），确保研究生级探索性与批判意识。 - **效果**：使文本更贴近人类学者自然写作习惯，增强“人情味”和学术辨识度。 ### 步骤一：移除AI“模板词” 首要任务是在全文范围内识别并替换那些AI模型高频使用但缺乏信息量的“语言填充物”。 - **识别对象**：常见的模板词如“此外”、“值得注意的是”、“然而”、“总的来说”、“首先、其次、再次”。 - **替换策略**：根据上下文，将这些词替换为更具体、更具思辨色彩的过渡句，或直接删除，让论述逻辑自然衔接。 ### 步骤二：注入个人见解与逻辑连接 AI生成的内容往往平铺直叙，缺乏“思维跳跃感”。在段落间或句子内部增添短暂、思辨性的连接语，模拟真实研究者的心路历程。 - **操作方法**：在适当位置插入类似“明确理论框架后，需进一步解决的问题是……”或“这一发现与前文假设存在出入，可能的解释包括……”的句子。 - **效果**：打破AI生成的均匀结构，增加文章的层次感和思辨性。 ### 步骤三：核心术语优化与风格植入 避免泛泛词汇，根据学科特点进行优化。 - **术语升级**：将普通词汇升级为领域内更具辨识度的专业术语（如“重要因素”→“核心调节变量”或“关键驱动因子”）。 - **植入“研究者的印记”**：加入体现作者立场（Stance）的词汇或短句，展现个人对材料的理解和评价。 ### 步骤四：语义重构与句式重组 改变句子的“长相”和表达方式，提升文本的多样性与自然度。 - **句式变换**：主动语态与被动语态交替，长难句拆解或短句合并。 - **语序调整**：在不改变原意的前提下，改变信息呈现顺序。 - **注意**：专业术语、数据、人名等关键信息必须精准无误。 ### 步骤五：语言多样化与节奏把控 AI文本常句式长度均匀，缺少变化。 - **长短句交错**：交替使用复杂长句和简洁短句，创造天然阅读节奏。 - **表达多样化**：使用丰富的同义词，避免重复（如“研究”→“探究”或“考察”）。 ### 步骤六：注入学术“委婉”与人类“语气” 学术写作讲究客观、谨慎。 - **植入委婉语**：大量使用“这表明……”、“数据可能暗示……”、“这一趋势似乎与……相关”等表达。 - **避免绝对化**：将强论断改为提供证据式的表述。 - **插入人类化短语**：适时加入“值得注意的是”、“从这个角度来说”等插入语。 ### 步骤七：学术深度与立场强化（终审深度校验） 对全文进行最终深度校验：强制深化机制描述（提供具体神经/行为路径而非泛化术语），强化研究者个人学术立场，避免任何模板化痕迹；确保逻辑链完整且自然，增加原创性思辨。 - **实现方式**：删除或重构概念堆砌部分；加入针对性临床/理论洞见；使委婉语自然融入而非机械堆叠。 - **效果**：使文本达到严谨、深度充分、立场鲜明、无模板痕迹的学术表达水平。 ## 示例 (Example) ### 用户输入： “请帮我优化以下这段文字的语言表达：结果表明，AIGC技术显著提升了处理效率。此外，它为数据分析带来了新的可能性。总的来说，这项技术的应用是广泛的。” ### AI 处理过程（思维链）： 1. 执行步骤零至零-2：往返翻译 + 证据/逻辑框架 + 人类用语校准。 2. 执行步骤一至七：移除模板、注入思辨、升级术语、句式重组、语言多样化、委婉语植入、深度强化。 ### AI 最终输出示例： “实验数据初步显示，AIGC技术的运用已显著优化数据处理流程的运算效能。基于这一观察，可合理推断该技术亦为数据分析领域注入了新的方法论潜力。从这一视角来看，其临床与科研应用前景似乎比最初预期更为广阔。”


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: starlxa/weixin-sender (version 1.0.2)

--- name: weixin-send-media description: Send images, PDFs, and other local files into an OpenClaw Weixin chat. Use when the user asks to send a picture, screenshot, PDF, document, attachment, or other media/file in the current Weixin conversation. --- # weixin-send-media Use this skill when the current channel is `openclaw-weixin` and the user wants a file or image delivered into chat. ## Rules - Prefer sending the file directly instead of telling the user where it is. - Always use an **absolute local path** for generated files. - Before sending a user-facing export/share file, place it under `deliveries/YYYY-MM-DD/HHMMSS/`. - If the source file belongs to a project folder, keep the source there and create a share/export copy in the delivery folder. - If you need a test asset, generate a tiny file first, then send it. - For this environment, if no first-class messaging tool is available, use the OpenClaw CLI. ## Send with CLI Use: ```bash openclaw message send \ --channel openclaw-weixin \ --account <account_id> \ --target <chat_id_or_user_id> \ --message "<optional caption>" \ --media /absolute/path/to/file ``` ## Where to get values - `account_id`: use the trusted inbound metadata `account_id` for the current chat. - `target`: use the trusted inbound metadata `chat_id` for the current chat. - `media`: absolute path to the file you created or selected. ## Typical uses - Send a generated PDF. - Send a generated PNG/JPG screenshot. - Send a DOCX/XLSX/PPTX file. - Send a local attachment as a quick delivery step after creating it. ## Verification After sending, briefly ask the user whether they received it. ## Example ```bash openclaw message send \ --channel openclaw-weixin \ --account 30c94de8bd87-im-bot \ --target [REDACTED_SECRET] \ --message "测试文件" \ --media /root/.openclaw/workspace-wx-30c94de8/test.pdf ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: taceywong/icosmos-amazon (version 0.0.1)

--- name: icosmos-shopify description: "Shopify 店铺运营/诊断技能：从 Supabase 拉取店铺域名与 token，做装修/产品/结账/指标异常检测，并支持发布引流博文（唯一写操作）。" --- # icosmos-shopify 面向 OpenClaw 触发的 Shopify 运营能力集合：**以只读诊断为主**，帮助定位转化/营销/商品问题；**唯一写操作**是发布 Shopify Blog 文章（需要明确 `--confirm`）。 ## 触发 - **适用场景关键词**：店铺审计、装修优化、产品优化、结账/checkout 测试、转化下降、营销效果差、发布博客/引流文章。 - **触发后执行顺序**： 1. `setup once`：用 `ICOSMOS_USER_EMAIL` / `ICOSMOS_USER_PASSWORD` 同步店铺与 token 到本地缓存 2. `content/*`：拉原始数据（更全面、更可追溯） 3. `audit/*` / `test checkout`：给诊断与验证 4. `blog publish`：仅当明确需要发布时执行（必须 `--confirm`） ## 快速参考 | 诉求 | 命令 | |---|---| | Setup Once：从 Supabase 同步店铺/token 到本地 | `icosmos-shopify setup once` | | 列出店铺 | `icosmos-shopify stores list` | | 获取店铺基础信息（原始数据） | `icosmos-shopify content shop --store xxx.myshopify.com` | | 获取产品列表（原始数据，分页） | `icosmos-shopify content products list --store xxx.myshopify.com --first 20 --after <cursor>` | | 获取订单列表（原始数据，时间窗） | `icosmos-shopify content orders list --store xxx.myshopify.com --start <RFC3339> --end <RFC3339>` | | 获取博客列表/文章（原始数据） | `icosmos-shopify content blogs list --store xxx.myshopify.com` / `icosmos-shopify content blogs articles list --store xxx.myshopify.com --blog-id 123` | | 装修检查单（只读） | `icosmos-shopify audit theme --store xxx.myshopify.com` | | 产品质量诊断（只读） | `icosmos-shopify audit products --store xxx.myshopify.com --limit 50` | | 结账链路测试（只读） | `icosmos-shopify test checkout --store xxx.myshopify.com` | | 经营指标与异常线索（只读） | `icosmos-shopify audit metrics --store xxx.myshopify.com --days 7` | | 发布引流博文（写操作） | `icosmos-shopify blog publish --store xxx.myshopify.com --blog-id 123 --title ... --body-file article.html --confirm` | ## 输出协议（给 OpenClaw 更稳定） - **默认推荐 `--format json`**（`content/*` 默认就是 json），统一结构： - `store_domain` / `api_version` / `meta` / `data` - **分页信息**： - GraphQL：`meta.page_info.has_next_page/end_cursor` - REST：`meta.page_info.next_link`（来自 `Link: rel="next"`） ## 依赖与配置 - Setup Onece： - `ICOSMOS_USER_EMAIL` - `ICOSMOS_USER_PASSWORD` 两个字段需要保存到系统环境变量 所需命令行工具为当前目录下的[icosmos-shopify](icosmos-shopify) ### Shopify - `SHOPIFY_API_VERSION`（默认 `2026-01`） ## 安全边界（重要） - **默认只读**：装修/产品/指标/结账测试均不对 Shopify 做写入。 - **唯一写操作：发布博客**：必须提供 `--confirm`；否则即使参数齐全也只会 dry-run。 - **日志脱敏**：店铺 token 只显示前后 4 位（`abcd...wxyz`）。 - **敏感字段处理**：订单 email 等敏感字段默认不输出（或置空），避免在群聊/日志泄露。 ## 常见问题与排障 - **401/403**：Admin token scopes 不足或 token 过期；确认 Shopify Custom App 的 Admin API access token 与权限。 - **429 Too Many Requests**：已做退避重试；如果频繁触发，降低并发/减少拉取字段/缩小时间范围。 - **Storefront 430 Security Rejection**：请求可能被判定为异常；需要检查请求来源、token 是否正确，必要时增加更真实的请求头策略（后续增强）。 ## 参考文档 - [GraphQL Admin API reference](https://shopify.dev/docs/api/admin-graphql/latest) - [REST Admin API reference](https://shopify.dev/docs/api/admin-rest/latest) - [Storefront API reference](https://shopify.dev/docs/api/storefront/latest)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: tinkerjueberg/gpu-monitor (version 1.0.0)

# GPU Monitor - Ollama Real-time GPU Monitoring Skill ## Overview This skill provides real-time GPU monitoring for local **Ollama** models. It monitors: - GPU name and memory usage with utilization percentage (e.g., 8.5/10.0 GB = 85%) - Model layer distribution (GPU vs CPU offloading) via Ollama server.log parsing - Live status updates every 2 seconds **⚠️ Framework Dependency**: This skill is specifically designed for the **Ollama framework** (https://ollama.ai). **📝 Log Requirement**: Requires access to Ollama's `server.log` file at a configurable path to parse model layer information. ## Features ✅ **Ollama-specific monitoring**: Automatically parses `server.log` for model info when available ✅ **Layer distribution tracking**: Shows GPU layers, total layers, and CPU offload percentage ✅ **Memory visualization**: Displays memory used/total with real-time utilization % ✅ **Cross-platform**: Works on Windows/Linux/macOS with NVIDIA GPUs via nvidia-smi ✅ **Real-time updates**: Configurable refresh interval (default: 2 seconds) ✅ **Flexible configuration**: Specify Ollama log path via CLI `--ollama-log=PATH` or config file ✅ **Graceful degradation**: Shows GPU metrics even without Ollama installed ## Installation ```bash # Via ClawHub clawhub install gpu-monitor-skill # Or manual clone git clone <repository-url> ~/.openclaw/skills/gpu-monitor ``` ## Usage (Local Testing) ```bash # Basic usage - monitors local GPU python ~/.openclaw/clawhub/gpu-monitor-skill/gpu_monitor.py --interval=3 # With Ollama log path for layer tracking python ~/.openclaw/clawhub/gpu-monitor-skill/gpu_monitor.py \ --ollama-log="C:\Users\zugzwang\AppData\Local\Ollama\server.log" \ --interval=2 # Using config file (create ~/.openclaw/gpu_monitor_config.json) { "update_interval_seconds": 2, "ollama_log_path": "/path/to/server.log", "quiet_mode": false } ``` ## Configuration Create `~/.openclaw/gpu_monitor_config.json`: ```json { "update_interval_seconds": 2, "ollama_log_path": "/path/to/Ollama/server.log", "quiet_mode": false } ``` | Field | Type | Description | |-------|------|-------------| | `update_interval_seconds` | int | Refresh interval (default: 2) | | `ollama_log_path` | string | Path to Ollama server.log (optional) | | `quiet_mode` | bool | Disable banner messages | ## Output Examples ### With Ollama Layer Info ``` ┌─[Update #1] 12:30:45 ├─ GPU: NVIDIA GeForce RTX 3080 ├─ Memory Used: 8.5/10.0 GB (85.0%) ├─ Log Time: [实时模式 - 无层数数据] ├─ GPU Layers: [实时模式] ``` ### With Layer Data ``` ┌─[Update #1] 12:31:02 ├─ GPU: NVIDIA GeForce RTX 3080 ├─ Memory Used: 7.2/10.0 GB (72.0%) ├─ Log Time: time=2026-03-27T12:31:02+08:00 ├─ GPU Layers: 32 / 33 ├─ CPU Layers: 1 (3.0%) ``` ### Without Ollama ``` ┌─[Update #1] 12:32:15 ├─ GPU: NVIDIA GeForce RTX 3080 ├─ Memory Used: 9.2/10.0 GB (92.0%) ├─ Log Time: [实时模式 - 无层数数据] ├─ GPU Layers: [实时模式] ``` ## Prerequisites - **Python 3.7+** - **NVIDIA GPU** with `nvidia-smi` available (Windows/Linux/macOS) - **(Optional)** Ollama server for layer tracking ## License MIT License


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: t3mr0i/clank-website-monitor (version 1.0.0)

--- name: website-monitor description: Monitor websites for changes, new content, and price alerts. Perfect for tracking competitors, job postings, or product prices. metadata: openclaw: emoji: "👁️" --- # Website Monitor Skill Monitor websites for changes and get alerts when something happens. ## Features - **Change Detection** – Track content changes on any website - **Price Tracking** – Monitor product prices and get alerts - **New Content** – Detect new articles, posts, or listings - **Screenshot Comparison** – Visual diff of page changes - **Cron Integration** – Automatic periodic checks ## Usage ### Add a website to monitor ``` website-monitor add "https://example.com/jobs" --name "Job Board" --selector ".job-listing" ``` ### Check for changes ``` website-monitor check ``` ### View change history ``` website-monitor history --last 7d ``` ## Use Cases ### For Businesses - Monitor competitor pricing changes - Track industry news and blog posts - Watch for new job postings - Monitor customer review sites ### For Individuals - Track product prices on e-commerce sites - Monitor event ticket availability - Watch for new apartment/car listings - Track social media mentions ## Implementation This skill uses `curl` + `diff` for simple monitoring: ```bash #!/bin/bash # Save current state curl -s "$URL" | md5sum > "$STATE_FILE" # Compare with previous if ! diff "$STATE_FILE" "$STATE_FILE.prev" > /dev/null 2>&1; then echo "CHANGE DETECTED!" # Send alert via OpenClaw fi ``` ## Requirements - curl - md5sum - OpenClaw (for notifications) ## License MIT


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: parkertoddbrooks/wip-license-hook (version 1.9.72)

--- name: wip-license-hook description: License rug-pull detection. Scans dependencies and forks for license changes, gates upstream merges, maintains a license ledger, and generates a public compliance dashboard. license: MIT interface: [cli, module, mcp] metadata: display-name: "License Rug-Pull Detection" version: "1.0.0" homepage: "https://github.com/wipcomputer/wip-ai-devops-toolbox" author: "Parker Todd Brooks" category: dev-tools capabilities: - license-scanning - rug-pull-detection - compliance-gating - license-ledger requires: bins: [node, git, npm] openclaw: requires: bins: [node, git, npm] install: - id: node kind: node package: "@wipcomputer/wip-license-hook" bins: [wip-license-hook] label: "Install via npm" emoji: "🛡️" compatibility: Requires git, npm, node. Node.js 18+. --- # wip-license-hook Detect license rug-pulls before they reach your codebase. ## Commands ### Initialize ledger for a project ```bash wip-license-hook init --repo /path/to/repo ``` Scans all current dependencies and forks, records their licenses, creates `LICENSE-LEDGER.json`. ### Scan all dependencies ```bash wip-license-hook scan --all ``` Checks every dependency and fork against the ledger. Updates `last_checked`. Flags any changes. ### Pre-merge gate ```bash wip-license-hook gate --upstream <remote> ``` Fetches upstream without merging. Checks license. Returns exit code 0 (safe) or 1 (changed/blocked). Use in git hooks or CI. ### Generate report ```bash wip-license-hook report ``` Outputs a human-readable license health report. ### Generate dashboard ```bash wip-license-hook dashboard --output ./docs ``` Creates a static HTML dashboard from the ledger. Deploy to GitHub Pages. ## Daily Cron Usage Add to HEARTBEAT.md or as a cron job: ``` wip-license-hook scan --all --alert ``` If any license changed, sends alert via configured channel (email, iMessage, Discord). ## What It Detects - LICENSE file content changes - package.json license field changes - SPDX header changes - License removal (file deleted) - License downgrade (permissive → restrictive) ## What It Does NOT Do - It does not legal advice make - It does not auto-merge anything ever - It does not modify upstream code ## Alert Levels - 🟢 **Clean** — license unchanged since adoption - 🟡 **Warning** — license metadata inconsistency (e.g., LICENSE file says MIT but package.json says ISC) - 🔴 **Blocked** — license changed from what was adopted. Merge blocked. Human review required. ## MCP Tools: `license_scan`, `license_audit`, `license_gate`, `license_ledger` Add to `.mcp.json`: ```json { "wip-license-hook": { "command": "node", "args": ["/path/to/tools/wip-license-hook/mcp-server.mjs"] } } ```


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: flexrox/design-md-validator (version 1.0.0)

# DESIGN.md Skill — Design System Validation & Management > Validate, diff, and export DESIGN.md files for consistent design systems across projects. ## Overview DESIGN.md is a format specification (by Google Labs) for describing a visual identity to coding agents. It combines: - **YAML front matter** — Machine-readable design tokens - **Markdown body** — Human-readable design rationale ## Installation The skill uses `@google/design.md` npm package: ```bash npm install -g @google/design.md ``` ## Commands ### 1. Lint — Validate DESIGN.md ```bash npx @google/design.md lint DESIGN.md ``` **Checks:** - Token references resolve (`broken-ref` → error) - WCAG contrast ratios (`contrast-ratio` → warning) - Missing primary colors (`missing-primary` → warning) - Section order (`section-order` → warning) **Output:** JSON with findings ### 2. Diff — Compare Versions ```bash npx @google/design.md diff DESIGN.md DESIGN-v2.md ``` **Detects:** - Added/removed/modified tokens - Regressions between versions ### 3. Export — Convert to Other Formats ```bash npx @google/design.md export --format tailwind DESIGN.md > tailwind.theme.json npx @google/design.md export --format dtcg DESIGN.md > tokens.json ``` ### 4. Spec — View Format Specification ```bash npx @google/design.md spec npx @google/design.md spec --rules ``` ## Quick Start 1. **Read existing DESIGN.md** in project 2. **Run lint** to validate structure 3. **Run export** to generate Tailwind config 4. **Update components** based on findings ## Usage in Coding When working on UI components: ```bash # Before editing a component, lint current state npx @google/design.md lint design-md/markiosi/DESIGN.md # After changes, diff to check for regressions npx @google/design.md diff design-md/markiosi/DESIGN.md design-md/markiosi/DESIGN.md.new # Export updated tokens npx @google/design.md export --format tailwind design-md/markiosi/DESIGN.md > tailwind.tokens.json ``` ## Workflow Integration 1. **Before making UI changes:** - Read project's DESIGN.md - Run `lint` to understand current design state 2. **After UI changes:** - Update DESIGN.md tokens accordingly - Run `diff` to detect regressions - Run `lint` to validate WCAG compliance 3. **For new components:** - Check DESIGN.md for existing component patterns - Define new components in DESIGN.md first - Use token references (`{colors.primary}`) over hardcoded values ## Resources - **Spec:** https://github.com/google-labs-code/design.md - **Stitch Tool:** https://stitch.withgoogle.com/ - **Design Tokens Format:** https://www.designtokens.org/


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ai-innopower/book-companion (version 2.0.7)

# 书搭子 v3 - 本地化读书伴侣 ## 角色定位 你是用户的"书搭子"——一个 100% 本地化、隐私优先的阅读陪伴 AI。你不执行任何网络请求，所有数据仅读写于当前 Skill 目录下的 `data/` 文件夹。 ## 核心原则 1. **零外部依赖**：不调用任何硬编码路径的外部脚本 2. **语音可选**：支持语音输出，但绝不强制。语音功能依赖用户系统已安装的 `edge-tts` 或自定义 TTS 命令 3. **自包含存储**：所有数据存储在 `./data/`，不触碰用户主目录或其他 Agent 工作区 4. **透明权限**：仅读写声明的目录，不请求环境变量或凭证 ## 数据存储结构 ``` data/ ├── user_profile.md # 用户档案（阅读偏好、情绪模式、暗号） ├── reading_library/ # 书库（每本书独立 markdown 文件） │ ├── 《书名 1》.md │ └── 《书名 2》.md └── emotion_logs/ # 情绪日志（按日期存储） └── 2026-04-17.md ``` ## 交互流程 ### 首次使用 1. 检查 `./data/user_profile.md` 是否存在 2. 若不存在，引导用户创建档案： - 阅读偏好（类型、节奏、时段） - 情绪支持需求（是否需要陪伴式阅读、压力释放方式） - 专属暗号（用于情绪急救识别） - 纪念日/重要日期（用于阅读推荐关联） 3. 保存至 `./data/user_profile.md` ### 日常交互 1. **接收用户输入**（文本形式，可为书籍内容、阅读感悟、情绪状态） 2. **检索本地知识库**：读取 `./data/reading_library/` 和 `./references/knowledge_base.md` 3. **生成回复**： - 基于用户档案个性化回应 - 引用书库中的关联内容 - 识别情绪触发器，提供陪伴支持 4. **持久化记录**： - 更新当前书籍的阅读进度（如有） - 记录情绪日志到 `./data/emotion_logs/YYYY-MM-DD.md` 5. **语音输出（仅当用户明确要求时）**： - 检查环境变量 `BOOK_COMPANION_TTS_CMD` 是否存在 - 若存在，使用该命令合成语音（如：`edge-tts --text "内容" --write-media output.mp3`） - 若不存在，提示用户安装 edge-tts 或设置环境变量 - **绝不**调用任何硬编码路径的脚本 ## 禁止行为 - ❌ 访问 `~/.openclaw-autoclaw/` 或其他 Agent 工作区 - ❌ 执行任何未在 `skill.json` 中声明的外部脚本 - ❌ 发起网络请求（包括 OCR、在线搜索、云同步） - ❌ 修改系统环境变量或其他 Skill 的配置 - ❌ 强制语音输出或阻塞等待外部进程 ## 情绪支持协议 当检测到用户情绪触发器（如暗号、负面关键词、压力表达）： 1. 立即切换至陪伴模式，语气温柔坚定 2. 检索用户档案中的情绪支持偏好 3. 推荐书库中适合的疗愈内容或阅读节奏 4. 记录情绪事件到当日日志 ## 书库管理 - 每本书以独立 markdown 存储，格式： ```markdown # 《书名》 - 作者：xxx - 状态：在读/已读/想读 - 添加日期：YYYY-MM-DD ## 阅读进度 - 当前章节：xxx - 进度百分比：xx% ## 笔记与感悟 - [日期] 用户输入内容 → AI 回应摘要 ## AI 陪伴记录 - [日期] 情绪状态 → 支持方式 → 效果反馈 ``` ## 语音功能配置（可选） 用户可通过以下方式启用语音： 1. 安装 edge-tts：`pip install edge-tts` 2. 设置环境变量（在 ClawHub 环境配置中添加）： `export BOOK_COMPANION_TTS_CMD='edge-tts --text "{text}" --write-media "{output}"'` 3. 或使用自定义 TTS 脚本： `export BOOK_COMPANION_TTS_CMD='/path/to/your/tts.sh "{text}" "{output}"'` Skill 仅在检测到该环境变量时执行语音合成，且使用系统 PATH 解析命令，不硬编码任何路径。


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: nicccmy/feishu-cron-setup (version 1.0.0)

--- name: feishu-cron-setup description: 设置飞书定时任务投递，确保 cron 任务能稳定地将结果发送到飞书。当需要创建、修复或调试飞书频道的定时任务时使用此技能，特别是当 cron 任务执行成功但消息无法投递到飞书时。 --- # 飞书定时任务投递配置 ## 核心问题 **症状**：cron 任务执行成功（status: ok），但 `deliveryStatus: "not-delivered"`，错误为 `cron announce delivery failed` **根因**：isolated session 的 cron 任务在飞书频道投递时，必须显式指定 `--account` 参数 ## 正确的创建命令 ```bash openclaw cron add \ --name "<任务名>" \ --cron "<cron表达式>" \ --tz "Asia/Shanghai" \ --session isolated \ --account spy \ --message "<任务提示词>" \ --announce \ --channel feishu \ --to "<飞书用户open_id>" \ --best-effort-deliver ``` ## 关键参数说明 | 参数 | 必须 | 说明 | |------|------|------| | `--session isolated` | ✅ | 隔离会话模式 | | `--account <id>` | ✅ | 飞书账号ID（如 spy、susu、hr 等），对应 openclaw.json 中配置的 accounts | | `--announce` | ✅ | 开启投递功能 | | `--channel feishu` | ✅ | 投递渠道为飞书 | | `--to <open_id>` | ✅ | 飞书用户的 open_id | | `--best-effort-deliver` | 建议 | 投递失败不影响任务状态 | ## 查找正确的 account ID 查看 `~/.openclaw/openclaw.json` 中的 feishu 配置： ```bash cat ~/.openclaw/openclaw.json | grep -A 20 '"feishu"' ``` 找到 `accounts` 下配置的 key（如 `default`、`spy`、`susu`、`hr` 等），使用对应账号的 key 作为 `--account` 参数。 ## 验证投递是否正常 手动触发一次并检查结果： ```bash openclaw cron run <job-id> --expect-final --timeout 90000 # 检查投递状态 openclaw cron runs --id <job-id> | grep -E "delivered|deliveryStatus|deliveryError" ``` 成功的标志：`"delivered": true` 和 `"deliveryStatus": "delivered"` ## 常见错误排查 | 错误 | 原因 | 解决 | |------|------|------| | `cron announce delivery failed` | 缺少 `--account` | 添加 `--account <id>` 参数 | | `channel not found` | 渠道名错误 | 确认飞书插件名为 `feishu` | | `user not found` | `to` 字段格式错误 | 使用 `user:open_id` 格式，如 `user:ou_a894716def92ea8f9a1546f10d61441a` | ## 快速参考 - 飞书用户 open_id：从消息元数据中获取，格式为 `ou_xxxxxxxx` - 任务执行成功 ≠ 投递成功，两者独立 - 每次创建 isolated 模式的飞书 cron 任务时，都要加 `--account <id>`


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