OpenClaw/clawhub-security-signals huggingface dataset:
Skill: segasonicye/claw-seatbelt (version 0.1.2)

# Claw Seatbelt 🛡️ (OpenClaw 安全带) 这是一款为你修改 `openclaw.json` 准备的“安全带”。它不像普通插件那样全天候运行，而是只在你需要修改配置并备份时，提供 10 秒的自动回滚保护。 ## 特色功能 - **按需保护**：仅在运行备份脚本时触发，不浪费系统资源。 - **10秒无敌险**：修改配置后若 Gateway 无法在 10 秒内恢复，自动回退到最新备份并重启。 - **极简设计**：无需复杂配置，即装即用。 ## Usage The skill primarily runs as a background watchdog. ### Manual Check ```bash ./bin/watchdog.sh ``` ## How it works 1. Probes the local Gateway status. 2. If down, captures the current "broken" config for debugging. 3. Locates the most recent timestamped backup in `~/.openclaw/backups/`. 4. Restores and restarts the Gateway service.

path: bin/watchdog.sh
content: #!/bin/bash
# OpenClaw Gateway 守卫脚本 (watchdog.sh)
# 功能：检测 Gateway 是否运行，若连接失败则自动回滚最新的备份配置并重启

CONFIG_DIR="$HOME/.openclaw"
CONFIG_FILE="$CONFIG_DIR/openclaw.json"
BACKUP_DIR="$CONFIG_DIR/backups"
LOG_FILE="/tmp/openclaw-watchdog.log"

echo "[$(date)] Watchdog starting..." >> "$LOG_FILE"

# 1. 探测 Gateway 状态
# 尝试使用 openclaw status --probe 进行深探测
if ! openclaw gateway status --json | grep -q '"state": "active"'; then
    echo "[$(date)] ⚠️ Gateway detected as DOWN or UNREACHABLE." >> "$LOG_FILE"
    
    # 2. 查找最新的有效备份
    LATEST_BACKUP=$(ls -t "$BACKUP_DIR"/openclaw-*.json 2>/dev/null | head -n 1)
    
    if [ -n "$LATEST_BACKUP" ]; then
        echo "[$(date)] 🔄 Attempting recovery using backup: $LATEST_BACKUP" >> "$LOG_FILE"
        
        # 3. 执行回滚 (先备份坏掉的，以防万一)
        cp "$CONFIG_FILE" "$BACKUP_DIR/failed-config-$(date +%Y%m%d-%H%M%S).json"
        cp "$LATEST_BACKUP" "$CONFIG_FILE"
        
        # 4. 重启 Gateway
        echo "[$(date)] 🚀 Restarting Gateway..." >> "$LOG_FILE"
        openclaw gateway restart --force
        
        # 5. 验证重启
        sleep 5
        if openclaw gateway status --json | grep -q '"state": "active"'; then
            echo "[$(date)] ✅ Recovery SUCCESSFUL." >> "$LOG_FILE"
            # 这里可以根据需要添加通知逻辑 (如 pushbullet 或 imessage)
        else
            echo "[$(date)] ❌ Recovery FAILED. Manual intervention required." >> "$LOG_FILE"
        fi
    else
        echo "[$(date)] ❌ No backup files found in $BACKUP_DIR. Cannot recover." >> "$LOG_FILE"
    fi
else
    # echo "[$(date)] Gateway is healthy." >> "$LOG_FILE"
    exit 0
fi


path: skill.json
content: {
  "name": "claw-seatbelt",
  "version": "0.1.0",
  "description": "OpenClaw configuration safety belt with 10s auto-rollback protection",
  "author": "sonic & 小叶助手",
  "type": "skill",
  "entry": "SKILL.md",
  "files": [
    "bin/watchdog.sh"
  ]
}

Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: autosolutionsai-didac/agent-memory-setup-v2 (version 1.0.4)

--- name: agent-memory-setup-v2 description: > Create a 3-tier memory directory structure (HOT/WARM/COLD) for OpenClaw agents and configure the built-in memory-core plugin to use Google Gemini Embeddings 2 (gemini-embedding-2-preview) for semantic memory search. Creates memory/ directories and stub files only — no code execution or external API calls from the setup script. After setup, the agent's memory_search tool uses Gemini's cloud embedding API to index memory files. Requires a free Google Gemini API key. Use when setting up a new agent's memory system or asked about semantic memory search. Triggers on "set up memory", "memory setup", "agent memory", "gemini memory", "semantic search memory", "onboard new agent". --- # Agent Memory Setup v2 — Gemini Embeddings 2 Create a 3-tier memory directory structure for OpenClaw agents and configure semantic search using **Google Gemini Embeddings 2**. ## What This Skill Does 1. **Creates directory structure and stub files** via a bash script (no network calls, no env reads, no dependencies) 2. **Provides configuration instructions** for openclaw.json to enable Gemini-based memory search ## Privacy Notice ⚠️ **After setup**, the agent's `memory_search` tool sends memory file content to Google's Gemini embedding API for vectorization. This is how semantic search works — files must be embedded to be searchable. The setup script itself makes no external calls. ## Prerequisite Google Gemini API key — free at https://aistudio.google.com/apikey ## Setup ### Step 1: Create directory structure ```bash bash scripts/setup_memory_v2.sh /path/to/agent/workspace ``` Creates: `memory/`, `memory/hot/`, `memory/warm/`, stub `.md` files, `heartbeat-state.json`. ### Step 2: Configure openclaw.json Add under `agents.defaults`: ```json "memorySearch": { "provider": "gemini" }, "compaction": { "mode": "safeguard" }, "contextPruning": { "mode": "cache-ttl", "ttl": "1h" }, "heartbeat": { "every": "1h" } ``` Set API key: `export GEMINI_API_KEY=your-key` Enable plugin: `"lossless-claw": { "enabled": true }` ### Step 3: Restart ```bash openclaw gateway restart ``` ## Memory Tiers - 🔥 **HOT** (`memory/hot/HOT_MEMORY.md`) — Active session state, pending actions - 🌡️ **WARM** (`memory/warm/WARM_MEMORY.md`) — Stable preferences, references - ❄️ **COLD** (`MEMORY.md`) — Long-term milestones and distilled lessons ## Optional Plugin **Lossless Claw** (`@martian-engineering/lossless-claw`) — compacts old context into expandable summaries to prevent amnesia. Install separately: `openclaw plugins install @martian-engineering/lossless-claw`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: tobeyrebecca/godfery-title (version 1.0.0)

--- name: xiaohongshu-title description: Maximize CTR (Click-Through Rate) by leveraging emotional hooks and platform algorithms. metadata: {"openclaw":{"emoji":"📺"}} --- ## 1. Identity & Objective - **Role**: Expert Xiaohongshu (RedNote) Content Strategist. - **Goal**: Maximize CTR (Click-Through Rate) by leveraging emotional hooks and platform algorithms. - **Output Standard**: Native, emotional, and visually structured titles (no AI-speak). ## 2. Knowledge Graph (File Mapping) ### A. Style Reference (`examples.md`) > **Context**: Contains 200+ real high-performing title examples across 8 specific categories. > **Directive**: When user input matches a category below, retrieve the corresponding tone/style from `examples.md`. - **Category 01**: 美妆护肤 (Beauty & Skincare) -> Focus on: Effects, Ingredients, Before/After. - **Category 02**: 穿搭时尚 (Fashion & Styling) -> Focus on: Scenarios, Body Types, Seasonal. - **Category 03**: 减肥健身 (Fitness & Weight Loss) -> Focus on: Numbers, Speed, Ease. - **Category 04**: 学习教育 (Learning & Education) -> Focus on: Efficiency, Resources, Exams. - **Category 05**: 生活日常 (Daily Life/Vlog) -> Focus on: Mood, "Vibe", Relatability. - **Category 06**: 情感心理 (Relationships & Psychology) -> Focus on: Resonance, Drama, Solutions. - **Category 07**: 职场搞钱 (Career & Wealth) -> Focus on: Salary, Skills, Office Politics. - **Category 08**: 旅行出游 (Travel) -> Focus on: Guides, Hidden Gems, Photography. ### B. Strategic Assets (`references.md`) > **Context**: Contains semantic dictionaries and logic templates. - **Diction Library**: High-CTR keywords (Emotional/Action/Urgency). - **Formula Bank**: 5 core structural algorithms for title generation. - **Compliance**: Blacklist of words prohibited by Chinese Advertising Law. ### C. Quality Control (`validator.py`) > **Context**: A Python script logic for final filtering. - **Constraint**: All outputs must virtually pass the `validate()` function defined in this script (Length < 22, No banned words, Must have emojis). ## 3. Execution Workflow 1. **Categorize**: Analyze user input and map it to one of the 8 Categories in `examples.md`. 2. **Retrieve Assets**: - Select 3 keywords from `references.md` -> [High-CTR Keywords]. - Select 2 formulas from `references.md` -> [Templates]. 3. **Drafting**: Generate 10 candidates. - *Style Injection*: Mimic the "Good Output" tone from the matched `examples.md` category. 4. **Filtering (Virtual Script Execution)**: - Apply logic from `validator.py`. - Discard any title that feels "AI-generated" (e.g., uses "Exploring", "Comprehensive"). 5. **Final Presentation**: Output the top 5 survivors with strategy tags. ## 4. User Interaction Trigger - **Input**: User provides raw text or a topic. - **Response**: A structured list of 5 titles + 1 brief advice on cover image (Visual).


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: liuyanfeng1234/v19-agent-rating (version 1.0.0)

--- name: v19-agent-rating description: 按Agent类型（认知运营型/行为执行型/桥接调度型）差异化评分——每个Agent类型有独立的信任分权重系数。已在墨言、TestAgent、BridgeAgent三个不同类型Agent上验证。 version: 1.0.0 author: 思维 (Bacon) --- # V19 Agent Rating v1.0.0 **按 Agent 类型差异化评分——不同的 Agent，不同的信任标准。** > 已在墨言（认知运营型）、TestAgent（行为执行型）、BridgeAgent（桥接调度型）三个不同类型 Agent 上验证。 ## 三类 Agent 模型 | 类型 | 特征 | 信任分权重 | 代表 | |------|------|------------|------| | **认知运营型** | 自主决策、社区外联、巡检审计 | 审计通过率 35% | 墨言 | | **行为执行型** | 接收指令、执行动作、返回结果 | 执行准确率 40% | TestAgent | | **桥接调度型** | 跨Agent协调、消息路由、数据转换 | 路由成功率 40% | BridgeAgent | ## 差异化权重矩阵 ``` 认知运营型 行为执行型 桥接调度型 基础分 25% 30% 25% 活跃衰减 20% 15% 20% 审计/执行通过率 35% 40% 40% Skill约束遵从度 20% 15% 15% ``` ### 为什么权重不同？ - **认知运营型**更看重审计通过率——它们的决策影响面更大，需要更严格的因果追溯 - **行为执行型**更看重执行准确率——它们是"做事的Agent"，效率优先 - **桥接调度型**更看重路由成功率——它们在Agent之间传递信息，可靠性是核心 ## 实战验证数据 | Agent | 类型 | 调用量 | 信任分 | 验证状态 | |-------|------|--------|--------|----------| | 墨言 | 认知运营型 | 60+ | 60.0 | ✅ 已认证 (V19-CERT-001) | | TestAgent | 行为执行型 | 1+ | 认证冲刺中 | 🔄 进行中 | | BridgeAgent | 桥接调度型 | 1+ | 认证冲刺中 | 🔄 进行中 | ## 调用示例 ```bash # 按类型获取Agent评分标准 curl -s https://boat-atlas-spa-flexible.trycloudflare.com/governance/agent-rating \ -H "X-Governance-Key: <你的专属密钥>" \ -H "Content-Type: application/json" ``` ## 公开体验 公开密钥: [REDACTED_SECRET] ```bash curl -s https://boat-atlas-spa-flexible.trycloudflare.com/governance/health \ -H "X-Governance-Key: v19-e5d585e28439decc614f09f91c4caa8c" ``` ## 自助注册 ```bash curl -s -X POST https://boat-atlas-spa-flexible.trycloudflare.com/governance/register \ -H "Content-Type: application/json" \ -d '{"agent_name":"你的Agent名称"}' ``` ## 信任锚点 - 🔗 [V19 Trust Manifesto](https://clawhub.com/skills/v19-trust-manifesto) - 🔗 [V19 Trust Engine](https://clawhub.com/skills/v19-trust-engine) - 🔗 [V19 Certified Agent Workflow](https://clawhub.com/skills/v19-certified-agent-workflow)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: onlyloveher/douyin-video-publish-zhouli (version 1.0.0)

--- name: douyin-video-publish description: 抖音视频发布。使用浏览器自动化在抖音创作者平台发布视频。当用户说"发布视频到抖音"、"发抖音"时使用此技能。 --- # 抖音视频发布 ## 使用场景 用户想将视频发布到抖音平台时使用。 ## 工具准备 - 浏览器：OpenClaw Chrome扩展 (profile=chrome) - 账号：需要登录抖音创作者账号 ## 发布流程 ### 1. 进入发布页面 浏览器打开: https://creator.douyin.com/creator-micro/content/post/video?enter_from=publish_page ### 2. 上传视频 - 点击「上传视频」按钮 - 选择本地视频文件（MP4格式最佳） - 等待上传进度完成 ### 3. 填写标题 - 标题字数：建议10-20字，最多55字 - 添加热门话题标签 ### 4. 添加话题 - 点击添加话题按钮 - 输入如 #AI #视频生成 #原创 等 ### 5. 设置封面 - 自动提取视频帧 - 或手动上传自定义封面 ### 6. 添加位置 - 找到「添加位置」按钮 - 搜索「苏州中心」并选择 ### 7. 发布 - 检查预览无误 - 点击「发布」按钮 ### 8. 验证 - 等待10秒 - 刷新「内容管理」页面确认视频存在 - 或访问 https://creator.douyin.com/creator-micro/content/manage 查看 ## 注意事项 - 视频文件建议 < 100MB - 标题最多55字，建议10-20字 - 建议添加2-4个话题标签 - 地理位置选择「苏州中心」可提升曝光 - 成功发布后立即停止，不要重复点击！ ## 常见问题 ### 问题1：上传失败 解决：检查视频格式是否为MP4，大小是否 < 100MB ### 问题2：标题不显示 解决：发布后刷新内容管理页面查看 ### 问题3：重复发布 解决：发布前先检查内容管理页面是否有该视频 ## 快速检查清单 - [ ] 视频文件存在且格式正确（MP4） - [ ] 标题已准备好（<55字） - [ ] 话题标签已准备好 - [ ] 地理位置选择"苏州中心" - [ ] Browser Relay 已连接 - [ ] 账号已登录

path: _meta.json
content: ownerId: kn7d0ac6gxhbdfe8yxg7bfe0r980hwaq
slug: douyin-video-publish
version: 1.0.0
publishedAt: 1772505766375

path: skill.yaml
content: name: douyin-video-publish
version: 1.0.0
description: 抖音视频发布。使用浏览器自动化在抖音创作者平台发布视频。当用户说"发布视频到抖音"、"发抖音"时使用此技能。
author: clawd
homepage: https://clawhub.com/skills/douyin-video-publish

triggers:
  - 发布抖音
  - 发抖音
  - 抖音发布
  - 发布视频到抖音
  - 抖音上传
  - douyin publish

features:
  - 自动上传视频
  - 自动填写标题
  - 添加话题标签
  - 设置封面
  - 添加位置
  - 发布验证

compatibility:
  platforms:
    - openclaw
    - clawdbot


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: dizhu/fxtwitter-translate (version 0.1.0)

--- name: fxtwitter-translate description: Fetch full text from Twitter/X tweets via fxtwitter API, then translate to Chinese. Triggers when user shares a x.com / twitter.com / fxtwitter link and asks for translation. --- # fxtwitter-translate Fetch and translate Twitter/X tweets to Chinese. Uses the public fxtwitter API to get JSON content, extracts text, formats and translates it to clean Chinese markdown. ## Workflow 1. **Extract tweet ID** from URL: - `https://x.com/:username/status/:tweetId` → extract `tweetId` - `https://twitter.com/:username/status/:tweetId` → extract `tweetId` - `https://fxtwitter.com/:username/status/:tweetId` → extract `tweetId` - `https://api.fxtwitter.com/:username/status/:tweetId` → already API format 2. **Convert to fxtwitter API URL**: ``` https://api.fxtwitter.com/:username/status/:tweetId ``` 3. **GET request** to fetch JSON 4. **Extract content**: - Get `tweet.text` from JSON response - If it's a long tweet with multiple cards, concatenate all text content - Strip any extra HTML/formatting 5. **Format and Translate**: - Preserve original structure (headings, lists, paragraphs) - Translate to natural-sounding Simplified Chinese - Keep any URLs intact, credit the original author - Output as clean markdown ## Example User input: ``` 翻译：https://x.com/invideoOfficial/status/2033866107166318666 ``` Flow: - Extract username `invideoOfficial`, tweetId `2033866107166318666` - API request to `https://api.fxtwitter.com/invideoOfficial/status/2033866107166318666` - Extract full article text - Translate to Chinese markdown - Output with author credit and original link ## Notes - This skill only handles single tweets/threads, not quoted retweets (can extract the main tweet content) - Images/video are not fetched, only text content - Always credit original author and link at the end - Keep the original structure (headings, lists, paragraphs) intact in translation


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: peand-rover/luxury-travel-video (version 1.0.1)

--- name: luxury-travel-video displayName: "Luxury Travel Video Maker — AI Premium Destination" description: > Create stunning luxury travel videos showcasing world-class hotels and experiences with AI. version: 1.0.1 author: nemovideo tags: [video, ai, nemovideo, travel] homepage: https://nemovideo.com repository: https://github.com/nemovideo/nemovideo_skills metadata: requires: env: [] configPaths: - "~/.config/nemovideo/" primaryEnv: NEMO_TOKEN --- # Luxury Travel Video Maker — AI Premium Destination ## Overview Create captivating luxury travel video content using NemoVideo's AI-powered platform. Produce stunning travel and adventure videos that inspire wanderlust and share the beauty of the world. ## Examples ### Example 1: Destination Guide **Input:** "Create a luxury travel destination guide" **Output:** Inspiring travel guide with highlights, tips, and stunning visuals ### Example 2: Travel Diary **Input:** "Make a personal luxury travel travel diary" **Output:** Authentic personal travel story with narrative arc and memorable moments ### Example 3: Quick Tips **Input:** "Create top 5 luxury travel tips" **Output:** Practical, shareable tips video for fellow travelers ## Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | destination | string | yes | Location, region, or travel theme | | style | string | no | Style (guide, vlog, documentary, tips) | | duration | number | no | Target duration in seconds (default: 240) | | audience | string | no | Target audience (budget, luxury, family, solo) | ## Workflow 1. Describe your destination and travel story 2. NemoVideo AI creates vivid, engaging script and storyboard 3. Stunning destination visuals and travel footage are generated 4. Inspiring narration and atmospheric music are added 5. Export for your travel content platform ## API Reference ```bash curl -X POST https://api.nemovideo.ai/v1/generate \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{"prompt": "Create a luxury travel video", "duration": 240}' ``` ## Tips 1. Lead with the most visually stunning shot as a hook 2. Include practical information such as cost and transport 3. Show authentic local culture and off-the-beaten-path spots 4. Use wide shots for landscape and scale context 5. Add location references and links for easy trip planning ## Output Formats - MP4 (H.264) — YouTube and travel platform ready - WebM — Web streaming optimized - MOV — High quality for travel media ## Related Skills - beach-vacation-video - city-guide-video - cultural-travel-video


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: bobneobux/caption-script-writer (version 1.0.0)

--- name: cravego-caption-script-writer description: Write ready-to-post captions (FB/IG) and short TikTok/Reels scripts for CraveGo.ph focused ONLY on new user / signup promos. Brand voice friendly & casual. Must include safe phrasing and a signup CTA. --- Write marketing copy for CraveGo.ph. Brand voice: friendly & casual. Focus ONLY on new-user/signup promos. Avoid legal/financial claims; use soft phrasing. Must include a signup CTA (e.g., “Sign up”, “Try your first order”, “Start ordering”). If platform=TikTok: include a short scene-by-scene script with a hook in the first 1–2 seconds. Return JSON: { "platform": "FB|IG|TikTok", "main": { "captionOrScript": "...", "cta": "...", "hashtags": ["..."], "hook": "..." }, "variations": [ {"hook": "...", "firstLine": "..."} ] }


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: danielsinewe/openclaw-wacli-playbook (version 0.1.0)

--- name: wacli description: Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats). homepage: https://wacli.sh metadata: { "openclaw": { "emoji": "📱", "requires": { "bins": ["wacli"] }, "install": [ { "id": "brew", "kind": "brew", "formula": "steipete/tap/wacli", "bins": ["wacli"], "label": "Install wacli (brew)", }, { "id": "go", "kind": "go", "module": "github.com/steipete/wacli/cmd/wacli@latest", "bins": ["wacli"], "label": "Install wacli (go)", }, ], }, } --- # wacli Use `wacli` only when the user explicitly asks you to message someone else on WhatsApp or when they ask to sync/search WhatsApp history. Do NOT use `wacli` for normal user chats; OpenClaw routes WhatsApp conversations automatically. If the user is chatting with you on WhatsApp, you should not reach for this tool unless they ask you to contact a third party. Safety - Require explicit recipient + message text. - Confirm recipient + message before sending. - If anything is ambiguous, ask a clarifying question. Auth + sync - `wacli auth` (QR login + initial sync) - `wacli sync --follow` (continuous sync) - `wacli doctor` Find chats + messages - `wacli chats list --limit 20 --query "name or number"` - `wacli messages search "query" --limit 20 --chat <jid>` - `wacli messages search "invoice" --after 2025-01-01 --before 2025-12-31` History backfill - `wacli history backfill --chat <jid> --requests 2 --count 50` Send - Text: `wacli send text --to "+14155551212" --message "Hello! Are you free at 3pm?"` - Group: `wacli send text --to "[REDACTED_SECRET]" --message "Running 5 min late."` - File: `wacli send file --to "+14155551212" --file /path/agenda.pdf --caption "Agenda"` Notes - Store dir: `~/.wacli` (override with `--store`). - Use `--json` for machine-readable output when parsing. - Backfill requires your phone online; results are best-effort. - WhatsApp CLI is not needed for routine user chats; it’s for messaging other people. - JIDs: direct chats look like `<number>@s.whatsapp.net`; groups look like `<id>@g.us` (use `wacli chats list` to find).


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: yinwuzhe/tosr-test-pub-update-1776925224 (version 0.2.0)

# TOSR Publish Then Update Test > TOSR Publish Then Update Test — version 0.2.0 ## Description This is an automated integration test skill (tosr-test-pub-update-1776925224) created by the TOSR project. The purpose is to verify the complete skill lifecycle through the clawhub REST API, including creation, version updates, and deletion. ## Test Identifier - Slug: tosr-test-pub-update-1776925224 - Version: 0.2.0 - Created: 2026-04-23T14:20:44+08:00 ## How It Works This skill validates the following operations against the real clawhub API: 1. **Publish** — Creates a new skill via POST /api/v1/skills with multipart form data 2. **Inspect** — Retrieves skill metadata via GET /api/v1/skills/{slug} 3. **Update** — Publishes a new version of an existing skill 4. **Delete** — Removes the skill via DELETE /api/v1/skills/{slug} ## Notes This skill is ephemeral and will be automatically deleted after the test completes. If you see this skill listed on clawhub, it means a test run failed to clean up properly.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: seanford/caveman-help (version 1.0.0)

--- name: caveman-help description: > Quick-reference card for all caveman modes, skills, and commands. One-shot display, not a persistent mode. Trigger: /caveman-help, "caveman help", "what caveman commands", "how do I use caveman". --- # Caveman Help Display this reference card when invoked. One-shot — do NOT change mode, write flag files, or persist anything. Output in caveman style. ## Modes | Mode | Trigger | What change | |------|---------|-------------| | **Lite** | `/caveman lite` | Drop filler. Keep sentence structure. | | **Full** | `/caveman` | Drop articles, filler, pleasantries, hedging. Fragments OK. Default. | | **Ultra** | `/caveman ultra` | Extreme compression. Bare fragments. Tables over prose. | | **Wenyan-Lite** | `/caveman wenyan-lite` | Classical Chinese style, light compression. | | **Wenyan-Full** | `/caveman wenyan` | Full 文言文. Maximum classical terseness. | | **Wenyan-Ultra** | `/caveman wenyan-ultra` | Extreme. Ancient scholar on a budget. | Mode stick until changed or session end. ## Skills | Skill | Trigger | What it do | |-------|---------|-----------| | **caveman-commit** | `/caveman-commit` | Terse commit messages. Conventional Commits. ≤50 char subject. | | **caveman-review** | `/caveman-review` | One-line PR comments: `L42: bug: user null. Add guard.` | | **caveman-compress** | `/caveman:compress <file>` | Compress .md files to caveman prose. Saves ~46% input tokens. | | **caveman-help** | `/caveman-help` | This card. | ## Deactivate Say "stop caveman" or "normal mode". Resume anytime with `/caveman`. ## Configure Default Mode Default mode = `full`. Change it: **Environment variable** (highest priority): ```bash export CAVEMAN_DEFAULT_MODE=ultra ``` **Config file** (`~/.config/caveman/config.json`): ```json { "defaultMode": "lite" } ``` Set `"off"` to disable auto-activation on session start. User can still activate manually with `/caveman`. Resolution: env var > config file > `full`. ## More Full docs: https://github.com/JuliusBrussee/caveman


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