OpenClaw/clawhub-security-signals huggingface dataset:
Skill: matilda-grifin/ai-news-weekly-agent (version 1.0.2)

# AI News Weekly Agent Generate a weekly AI report in Markdown, including OpenClaw top skills, official announcements, industry news, and capped paper ratio. ## When to use - User asks for weekly AI digest/report - User wants OpenClaw skills ranking + AI news summary ## Command ```bash python3 run_daily_digest.py --use-llm --llm-provider auto --window-hours 168 --max-paper-ratio 0.2 --min-official-items 3 ``` ## Required environment variables - Ark mode: - `ARK_API_KEY` - `ARK_MODEL` - `ARK_ENDPOINT_ID` (recommended, `ep-xxx`) - OpenAI-compatible mode: - `OPENAI_API_KEY` - `OPENAI_BASE_URL` (if ends with `/v1`, script auto-expands to `/chat/completions`) - `OPENAI_MODEL` (optional, but recommended) Notes: - In OpenClaw, these variables may be injected by the runtime. - If not injected, users must provide them manually in runtime env or local `.env`. - `--llm-provider auto` prefers Ark when Ark vars exist; otherwise uses OpenAI-compatible mode. - Default security policy requires HTTPS endpoint and allowlisted LLM hosts. ## Optional environment variables - `DIGEST_WEBHOOK_URL`: webhook for send notifications when using `--send` ## Environment template Use runtime env injection in OpenClaw, or copy this template to local `.env`: ```env ARK_API_KEY= ARK_MODEL=Doubao-Seed-1.6-lite ARK_ENDPOINT_ID= OPENAI_API_KEY= OPENAI_BASE_URL= OPENAI_MODEL= DIGEST_WEBHOOK_URL= ``` ## External network access This skill may access these external endpoints during execution: - `https://ark.cn-beijing.volces.com` (Ark LLM API) - `OPENAI_BASE_URL` target (OpenAI-compatible provider endpoint) - `https://topclawhubskills.com` (OpenClaw leaderboard snapshot) - RSS/news URLs listed in `sources.json` - Optional webhook hosts for notification: Feishu/Lark or DingTalk ## Security and data handling - No API keys are hardcoded in repository files. - `.env` is not tracked and should never be committed. - Only report-generation inputs are sent to LLM when `--use-llm` is enabled. - Users should review and trust the configured endpoints before running. - SSL verification is enabled by default. Insecure SSL fallback requires explicit `--allow-insecure-ssl`. - Custom LLM endpoint hosts are blocked by default unless `--allow-custom-llm-endpoint` is provided. - Optional extension: set `LLM_ALLOWED_HOSTS` (comma-separated) to add trusted hosts. - Webhook only supports HTTPS and official Feishu/Lark/DingTalk domains. ## Publishing note - For ClawHub publish, confirm the MIT-0 license checkbox in the web UI.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: deepseekoracle/lygo-mint-operator-suite (version 1.0.0)

--- name: lygo-mint-operator-suite description: "Advanced LYGO-MINT Operator Suite (v2): canonicalize *multi-file* packs, generate per-file + bundle hashes, write append-only + canonical ledgers, produce machine-readable multi-platform Anchor Snippets, and verify third-party packs. Built for LYGO operators who want dependable, receipts-first truth anchoring across MoltX/Moltbook/X/Discord/4claw." --- # LYGO-MINT OPERATOR SUITE (v2) This skill turns an aligned Champion pack (or any prompt/workflow pack) into a **verifiable artifact**: - canonical form - deterministic hash - ledger receipts - portable Anchor Snippet (paste anywhere) ## Workflow (high-level) 1) Create/align the pack (e.g. Champion alignment system). 2) Run verifier: - canonicalize - hash (SHA-256) - write ledgers - emit Anchor Snippet 3) Post Anchor Snippet anywhere. 4) Backfill anchor IDs into the ledger. Read the full process doc: `references/process.md`. ## Commands (scripts) All scripts are local and never print secrets. ### 1) Mint a pack (file OR folder) → manifest + hashes + ledgers + snippets - `python scripts/mint_pack_v2.py --input reference/CHAMPION_PACK_LYRA_V1.md --title "LYRA Pack" --version 2026-02-09.v1` - `python scripts/mint_pack_v2.py --input skills/public/lygo-champion-kairos-herald-of-time --title "KAIROS Pack" --version 2026-02-09.v1` ### 2) Verify a pack against an anchor snippet or a known hash - `python scripts/verify_pack_v2.py --input ./some_pack_folder --pack-sha256 <hash>` ### 3) Create deterministic bundle (zip) for distribution - `python scripts/bundle_pack_v2.py --input ./some_pack_folder --out tmp/pack.bundle.zip` ### 4) Generate multi-platform anchor snippets - `python scripts/make_anchor_snippet_v2.py --pack-sha256 <hash> --title "..." --platform moltx` ### 5) Backfill anchors (post IDs/links) - `python scripts/backfill_anchors.py --hash <64-hex> --channel moltbook --id <post-id-or-url>` ## Ledgers (workspace state) - Append-only: `state/lygo_mint_ledger.jsonl` - Canonical (dedup): `state/lygo_mint_ledger_canonical.json` ## References - Core template: `reference/CHAMPION_PROMPT_CORE_TEMPLATE_V1.md` - Publish checklist: `reference/CHAMPION_PACK_PUBLISH_CHECKLIST.md`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: albionaiinc-del/android-node (version 1.0.0)

# android-node Turn any Android phone into an inference compute node for your AI agent. ## What it does Provisions Android phones as Ollama inference endpoints. Any phone running Termux becomes a worker your agent can route jobs to — no cloud, no subscription, no special hardware. The phone on your desk, the spare in your drawer, all of them. ## How it works 1. Phone runs Ollama via Termux (setup takes ~5 minutes) 2. Pi/server connects to phone over local WiFi 3. `phone_nodes.py` manages discovery, health checks, and failover 4. Router dispatches inference jobs to healthy nodes automatically ## Setup ### On the phone (run in Termux) ```bash curl -s https://albionwakes.com/phone_setup.sh | bash bash ~/start_node.sh ``` ### On your server (register the phone) ```bash python3 phone_nodes.py register myphone 192.168.1.42 python3 phone_nodes.py status ``` ### Router integration ```python import phone_nodes # In your provider dispatch: elif provider == 'phone': return phone_nodes.call(messages) ``` ## Node registry Stored in `~/albion_memory/phone_nodes.json`: ```json [ {"name": "pixel6", "url": "http://192.168.1.42:11434", "model": "qwen2.5:0.5b", "enabled": true} ] ``` ## Default model `qwen2.5:0.5b` — 394MB, runs on any phone with 1GB+ free RAM. Fast. Swap for `qwen2.5:1.5b` (1GB) or `llama3.2:1b` (1.3GB) if the phone has headroom. ## Files - `phone_nodes.py` — node registry, health checker, inference caller - `setup.sh` — Termux provisioning script (run on phone)


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: rotbit/topic-to-article-kit (version 1.0.5)

--- name: topic-to-article-kit description: "Turn a chosen AI topic into a public-account writing package: collect evidence from X/Twitter and other sources, extract high-value comments, and produce title options + structured outline written into Obsidian. Use when user asks for topic-based research and article prep." --- # Topic to Article Kit 1. Input: user-selected topic (or propose topic candidates). 2. Collect evidence from: - X/Twitter official pages first (`x.com` profile/search/status), then other public sources as supplement - HN / TechCrunch / GitHub / other public sources 3. Collect X high-value comments (facts, counterpoints, implementation details). 4. Build deliverables in Obsidian (minimal structure): - one folder per article: `OpenClaw/项目/公众号写作/<日期_标题>/` - `资料包.md`（facts, data, links, comment excerpts） - `大纲.md`（with inline citation markers to 资料包） 5. Always write to the real Obsidian Vault visible directory first (absolute path under user's real vault), never workspace mirror paths. 6. Before finishing, verify files exist in the real Obsidian visible directory and report that relative path to user. 7. Keep output minimal and readable (no extra draft/final folders unless user asks). 8. Control browser tabs like production workflow: - max 7 tabs at once - close finished tabs before opening new ones - close all temporary tabs at end (target 0) ## Required output - 文章目录（按“日期_标题”命名） - `资料包.md`（含来源链接和评论摘录） - `大纲.md`（含可引用资料标注） - 5-10标题候选（写在大纲顶部） - X/Twitter 证据优先来自 `x.com` 官方页面（并在资料包注明链接）

path: _meta.json
content: ownerId: kn7eecvtqaff4ejyw2zp2yct3h809s2z
slug: topic-to-article-kit
version: 1.0.4
publishedAt: 1770715313775

path: references/obsidian-structure.md
content: # Obsidian 写作目录规范

根目录：`OpenClaw/项目/公众号写作/`

- `00-选题池/`
- `01-资料包/`
- `02-大纲/`
- `03-初稿/`
- `04-终稿/`
- `05-评论摘录/`
- `06-参考资料/`

命名：`YYYY-MM-DD_HHMM_主题.md`


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

--- name: blender_bpy description: Blender Python scripting via bpy API. Use for scene automation, procedural modeling, batch rendering, and object manipulation. metadata: { "openclaw": { "requires": { "bins": ["blender"] }, "user-invocable": true } } --- # Blender Python Automation (bpy) ## Prerequisites - Blender must be installed and accessible from the CLI (`blender --version`). - Scripts run via: `blender --background --python <script.py>` - For interactive use: connect via Blender's built-in Python console or the REST server addon. ## Common Snippets ### Create an object ```python import bpy bpy.ops.mesh.primitive_cube_add(location=(0, 0, 0)) obj = bpy.context.object obj.name = "MyCube" ``` ### Batch render all frames ```python import bpy scene = bpy.context.scene scene.render.filepath = "//renders/frame_" bpy.ops.render.render(animation=True) ``` ### Apply a material by name ```python import bpy mat = bpy.data.materials.get("MyMaterial") if mat is None: mat = bpy.data.materials.new(name="MyMaterial") obj = bpy.context.object if obj.data.materials: obj.data.materials[0] = mat else: obj.data.materials.append(mat) ``` ## Tips - Always use `--background` when running headless (no UI). - Use `bpy.data` (global access) vs `bpy.context` (active selection) correctly. - For long renders, consider Cron jobs in OpenClaw so main chat isn't blocked.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: mingo-318/image-deduplicator (version 1.0.0)

# Image Deduplicator Find and remove duplicate or similar images in a folder using perceptual hashing. Use when user wants to clean up duplicate images, find near-duplicates, or deduplicate an image dataset. ## Features - **Exact Duplicates**: Find images with identical content - **Similar Images**: Detect visually similar images (threshold configurable) - **Hash-based**: Fast MD5 hashing for exact duplicates - **Perceptual Hash**: pHash for finding similar images - **Batch Processing**: Process large image folders - **Multiple Actions**: List, delete, or move duplicates ## Usage ```bash # Find exact duplicates python scripts/dedupe.py scan /path/to/images/ # Find similar images (90% similarity) python scripts/dedupe.py scan /path/to/images/ --threshold 90 # Delete duplicates (keeps first occurrence) python scripts/dedupe.py scan /path/to/images/ --action delete # Move duplicates to a folder python scripts/dedupe.py scan /path/to/images/ --action move --output /path/to/dupes/ ``` ## Examples ``` $ python scripts/dedupe.py scan ./images/ Scanning images... Found 150 images Computing hashes... Found 5 duplicate groups: Group 1 (3 files): ./images/photo1.jpg ./images/photo1_copy.jpg ./images/photo1_final.jpg Group 2 (2 files): ./images/screenshot.png ./images/screenshot (1).png Total: 5 duplicate groups, 8 duplicate files ``` ## Installation ```bash pip install pillow imagehash ``` ## Options - `--threshold`: Similarity threshold (0-100), default: 100 (exact) - `--action`: What to do with duplicates (list, delete, move) - `--output`: Output folder for --action move - `--extensions`: File extensions to scan (default: jpg,jpeg,png,bmp)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: applesun8799/play-guitar-fretboard (version 1.0.0)

--- name: play-guitar-fretboard version: 1.0.0 description: 玩转吉他指板 - 快速跳转到吉他指板学习资源网站 author: applesun8799 homepage: https://www.changesway.com tags: [guitar, music, learning, redirect] --- # 玩转吉他指板 这是一个极简导航 Skill，专门为吉他学习者设计。 ## 主要功能 - 一键跳转到吉他指板核心学习网站：www.changesway.com - 提供吉他指板可视化、音阶、和弦、指法等学习资源入口 ## 使用方式示例（自然语言触发） - "打开玩转吉他指板" - "我想学吉他指板，给我资源" - "play-guitar-fretboard" - "指板学习网站" - "changesway 吉他" ## 实际行为 当激活本 Skill 时，建议直接打开浏览器访问： **https://www.changesway.com** 如果当前环境支持链接渲染，直接显示可点击链接： [玩转吉他指板 → www.changesway.com](https://www.changesway.com) 没有其他复杂逻辑，无需安装依赖，无需 API Key，无需执行脚本。 适合场景：吉他初学者快速获取高质量指板学习资料。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: diyanqi/composition-correction (version 1.0.0)

--- name: composition-correction description: 墨灵高考作文批改。调用 InkCraft API 提交批改并返回结构化结果。 user-invocable: true metadata: {"openclaw":{"skillKey":"composition-correction","emoji":"📝","homepage":"https://www.inkcraft.cn","primaryEnv":"INKCRAFT_API_KEY","requires":{"bins":["curl"],"env":["INKCRAFT_API_KEY"]},"version":"1.0.0","tags":["latest"]}} --- # 墨灵高考作文批改 - Slug: `composition-correction` - Display name: `墨灵高考作文批改` - Version: `1.0.0` - Tags: `latest` 当用户请求“批改作文/高考作文打分/作文优化建议”时，使用本 Skill。 ## Required Inputs 在调用 API 前，确保以下字段存在： - `originalText`：作文题目或材料 - `essayText`：学生作文正文 可选字段： - `title` - `model`（默认 `doubao`） - `essayType`（默认 `gaokao-chinese`） - `tone`（默认 `strict`） - `referenceText` - `firstSentence` - `secondSentence` 如果缺少 `originalText` 或 `essayText`，先向用户追问，不要发起请求。 ## API Endpoints 默认使用： - Base URL: `https://www.inkcraft.cn` - Submit: `POST /api/skills/essay-correction` - Result: `GET /api/skills/correction-result?uuid=<uuid>` 优先读取环境变量（若存在）： - `INKCRAFT_BASE_URL`（可选） - `INKCRAFT_API_KEY`（必需） ## Tool Execution Policy 优先使用可执行命令工具（如 `system.run`）通过 `curl` 调用 API。 ### Step 1: Submit Correction Job 执行等价请求： ```bash BASE_URL="${INKCRAFT_BASE_URL:-https://www.inkcraft.cn}" curl -sS -X POST "$BASE_URL/api/skills/essay-correction" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $INKCRAFT_API_KEY" \ -H "x-[REDACTED_SECRET]" \ -d '<JSON_PAYLOAD>' ``` 判定： - 若返回 `success=true` 且含 `uuid`，进入查询阶段。 - 若返回 `Invalid API key`，停止并提示用户更新 API Key。 ### Step 2: Poll Result 最多轮询 3 次，每次间隔 2-5 秒： ```bash BASE_URL="${INKCRAFT_BASE_URL:-https://www.inkcraft.cn}" curl -sS "$BASE_URL/api/skills/correction-result?uuid=<uuid>" \ -H "Authorization: Bearer $INKCRAFT_API_KEY" \ -H "x-[REDACTED_SECRET]" ``` 判定： - `done=false`：继续轮询。 - `done=true` 且 `status=success`：输出结构化结果。 - `status=error`：输出失败原因和重试建议。 ## Response Format 最终回复使用以下结构： 1. 批改状态（成功/处理中/失败） 2. 总评（1-2 句） 3. 评分与关键维度（若有） 4. 亮点（2-4 条） 5. 待改进（2-4 条） 6. 可直接改写建议（1-3 条） 7. 并提供前往查看批改详情的链接（https://www.inkcraft.cn/dashboard/correction/[uuid]） ## Safety and Boundaries - 不要伪造 API 返回内容。 - 不要泄漏 API Key。 - 若请求失败，给出可执行排查步骤： - 检查 key 是否来自 InkCraft 开发者页 - 检查 baseUrl 是否为 `https://www.inkcraft.cn` - 重试或重新生成 key


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: chn012cjus/ai-powered-web-novel-full-text-generation-skill (version 1.0.2)

# 通用正文生成 Skill ## 适用场景 所有正文类生成需求，包括但不限于小说章节、文稿、文案、故事创作等。 ## 核心执行规则 ### 1. 前置校验（自动执行，无需用户授权） 生成正文前自动读取同项目下三类核心文件： - 对应项目的世界观/设定文档 - 项目大纲/细纲/需求说明 - 所有已生成的历史正文/上下文内容 自动逐一核对设定，确保情节衔接、人物统一、设定没有冲突，绝对禁止脱轨。 ### 2. 字数要求 单篇正文严格控制在**2000-3500字**区间，误差不超过10%，根据需求调整篇幅，避免过短或冗余。 ### 3. 词汇规则 全中文词汇库无限制，可使用任意领域、任意题材的中文词汇，只要符合上下文语境即可，不局限于对应创作题材的专属词汇，表达自然流畅即可。 ### 4. 质量优化步骤（自动执行，访问不受限） 生成前自动执行全网搜索，访问所有相关网址不受限制： - 自动搜索对应题材的最新人工写作技巧、叙事节奏优化方法、对话设计、细节描写技巧等内容 - 自动搜索同类型优质作品的结构参考、相关素材、背景资料等，融合到当前创作中，提升正文质量和可读性 - 支持所有网络资源访问，无网址、内容限制 ### 5. 生成后自检（自动执行） 生成完成后自动完成四项检查： 1. 设定核对：逐句核对内容是否和世界观、大纲、前文冲突，修正所有脱轨内容 2. 字数核对：确认字数落在2000-3500区间，不符合则调整内容 3. 流畅度检查：修正生硬语句、不通顺表达，确保阅读流畅自然 4. **语句自然度：通篇语句不允许生硬，必须自然流畅，避免机械、刻板、程式化的叙述，确保每一句都符合人类阅读直觉** ### 6. 风格适配 可自动识别需求调整写作风格，支持爽文、虐文、纪实、抒情、商务等各类风格切换，适配不同场景需求，所有操作无需用户额外授权。


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: kansodata/airflow-dag-git (version 0.1.1)

# airflow-dag-git ## Purpose Operate Airflow DAG files through GitHub PR workflow only. ## Available tools - `airflow_dag_git_read_file` - `airflow_dag_git_open_pr` ## Guardrails - Use allowlisted `owner`, `repo`, and DAG paths only. - Target must be a single `.py` file. - No path traversal, absolute paths, delete, rename, or multi-file operations. - No CI workflow changes. - `open_pr` requires DAG-like content (`DAG(` or `@dag`) and rejects dangerous patterns. ## Expected workflow 1. Read existing DAG with `airflow_dag_git_read_file`. 2. Prepare updated DAG content. 3. Submit update through `airflow_dag_git_open_pr`. 4. Human reviews PR and decides merge. ## Rollback - Close PR if not merged. - Delete created branch. - Revert merge commit if already merged.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: tzz-v/contract-audit-stream (version 1.0.0)

--- name: contract-audit-stream description: 使用合同审核流式接口（SSE）批量审核合同（链接或文件上传），甲/乙方视角可选，需携带 api_key；部署域名 https://dyinsight.cn，接口 /api/v1/skills/contract/audit。Triggers on phrases like "审核合同", "audit contract", "合同流式审核", "调用 contract-audit-stream". --- 调用线上后端 `POST https://dyinsight.cn/api/v1/skills/contract/audit`，开启 SSE 流返回进度与结果。两种输入方式二选一：**链接 JSON** 或 **文件 multipart**。 ## 核心要点 - 视角必填：`PARTY_JIA`（甲方）或 `PARTY_YI`（乙方）。 - 方式不可混用：要么 JSON 传链接，要么 multipart 上传文件。 - 数量与大小限制：≤5 个文件；上传方式总大小 ≤5MB。 - 校验顺序：api_key → 积分 → 创建审核 → SSE 推送结果。 ## 请求格式 ### 方式一：JSON（链接） - Header：`Content-Type: application/json` - Body： - `api_key`：字符串 - `contract_perspective`：`PARTY_JIA` | `PARTY_YI` - `file_urls`：字符串，合同 URL，多个用英文逗号分隔（http/https，图片/PDF/Word 等） ### 方式二：Multipart（文件上传） - Header：`Content-Type: multipart/form-data` - 表单字段： - `api_key`：字符串 - `contract_perspective`：`PARTY_JIA` | `PARTY_YI` - `files`：一个或多个文件（图片/PDF/Word 等），字段名统一用 `files` ## 校验约束（与后端实现一致） - 链接方式：文件数 ≤5；URL 必须 http/https；服务端可访问。 - 上传方式：文件数 ≤5，合计大小 ≤5MB；超限直接返回错误。 - 任一方式 api_key 无效或积分不足会返回错误 JSON。 ## SSE 返回 - 事件：`message`（进度/结果）、`error`、`end`；`media_type=text/event-stream`。 - 数据字段：`id`=`<stream_id>:<序号>`，`content` 为进度文案或最终结果 JSON，`is_finish` 指示结束；`context_mode` 0 普通 / 1 上下文。 - 进度示例：`"开始审核"`、`"审核中,请等待\n"`。 - 结束示例（截断展示）： ``` id: ...:1 event: message data: {"stream_id":"...","content":"开始审核",...} id: ...:6 event: message data: {"stream_id":"...","content":"{\"order_name\":\"房屋租赁合同\",\"order_status\":\"success\",\"order_contract_perspective\":\"PARTY_YI\",\"order_contract_file_path\":[\"https://...\"],\"audit_result\":[...]}","is_finish":true,...} ``` 错误示例： ``` event: error data: {"code":"FILE_TYPE_NOT_ALLOWED","message":"仅支持图片格式: jpg/jpeg/png/gif/webp/bmp"} ``` 常见错误还包括文件数量/大小超限、api_key 无效、积分不足。 ## 生产调用示例（推荐） ### JSON（链接） ```bash curl -N -s -X POST "https://dyinsight.cn/api/v1/skills/contract/audit" \ -H "Content-Type: application/json" \ -d '{ "api_key": "YOUR_API_KEY", "contract_perspective": "PARTY_JIA", "file_urls": "https://example.com/contract.pdf" }' ``` ### Multipart（文件上传，含多文件示例） ```bash curl -N -s -X POST "https://dyinsight.cn/api/v1/skills/contract/audit" \ -F "[REDACTED_SECRET]" \ -F "contract_perspective=PARTY_YI" \ -F "files=@/path/to/file1.png" \ -F "files=@/path/to/file2.png" ``` ## 提示词建议（对话式产品） - “用 `contract-audit-stream`，甲方视角，文件：<url>，流式返回审核结果。” - “用 `contract-audit-stream`，乙方视角，上传附件中的合同，流式返回审核结果（≤5 个，总 ≤5MB）。” - 可附加要求：“只输出高风险条款并解释原因。” ## 配置与调用前置检查 (Pre-flight Check) - 在同目录 `config.json` 配置 `api_key`。 - **🚨 AI 调用拦截指令**：在向后端发起任何真实的审核请求前，AI 必须先读取本目录下的 `config.json`。如果发现 `api_key` 的值为空，或者仍然是默认的 `"YOUR_API_KEY_HERE"`，请**立即打断流程，停止发起网络请求**，并友善地提示用户：“检测到您尚未配置 api_key，请先在 `skills/contract-audit-stream/config.json` 中填入真实的 API Key 后再试。” ## 目录 ``` contract-audit-stream/ ├── README.md ├── SKILL.md └── config.json ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: codenova58/certificates (version 0.1.0)

--- name: "Certificates" description: "提供身份证、行驶证、职业资格证的电子化申领、亮证及政务互认说明。" --- # 电子证件 ## 筛选项 - 处理速度（秒出/审核制/异步等待） - 交互成本（扫码/搜索/语音/自动执行） - 官方权威度（政府/运营商/知名第三方） ## 返回字段 - 解析成功率/识别精准度/查询实时快照 - 工具使用记录/云备份空间/插件支持列表 - 关联协议/数据存储期/导出权限说明 ## 示例请求 - “如何快速使用 电子证件 处理 [具体场景任务] ？” - “电子证件 的 [核心功能] 有哪些最新玩法/优惠信息？” ## 更新频率 - 针对接口稳定性、政策变动与数据鲜度进行周期性纠偏 ## 注意事项 - 部分工具仅提供参考建议，复杂场景请以官方正式渠道为准。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ngmeyer/personality-dynamics (version 1.0.0)

--- name: personality-dynamics description: Dynamic personality evolution for OpenClaw agents. Learn interaction patterns, adapt tone, and mode switching. metadata: { "openclaw": { "requires": { "bins": ["node"], "files": ["SOUL.md", "MEMORY.md"] } } } --- # Personality Dynamics Transform your OpenClaw agent from a static assistant into a dynamic companion that learns your preferences and adapts to your communication style. ## What It Does ### 1. Pattern Recognition Tracks how you interact: - Communication style (bullet points vs paragraphs) - Response preferences (autonomous vs ask first) - Engagement topics (what excites you vs bores you) ### 2. Mode Switching Explicit personas for different contexts: - **Professional Mode** — Work communications, formal contexts - **Creative Mode** — Brainstorming, building, experimental - **Casual Mode** — Late night, relaxed, friendly banter - **Focus Mode** — Minimal chatter, maximum efficiency ### 3. Auto-Evolution Weekly analysis generates suggestions for SOUL.md updates. ## Quick Start ```bash # Initialize npx personality-dynamics init # Generate AI-powered persona npx personality-dynamics generate ``` ## Commands - `init` - Initialize PERSONA folder - `generate` - AI-powered persona generation - `analyze` - Analyze session patterns - `report` - Weekly evolution report - `mode [set/get]` - Switch personality modes ## Configuration Enable via OpenClaw config: ```json { "personality": { "enabled": true, "evolution_frequency": "weekly" } } ``` ## License MIT


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