OpenClaw/clawhub-security-signals huggingface dataset:
Skill: logictortoise/anygen-slide-generator (version 3.0.0)

--- name: anygen-slide description: "Use this skill any time the user wants to create, design, or produce slide presentations — as standalone files or embedded content. This includes: pitch decks, slide decks, keynote presentations, training materials, project proposals, quarterly reviews, weekly report slides, investor pitches, product launches, team kickoffs, business plans, onboarding decks, strategy presentations, sales pitches, conference talks, and any request involving 'slides' or 'PPT'. Also trigger when: user says 做PPT, 做个汇报, 写个演示文稿, 季度汇报, 竞品分析报告（要PPT）, 产品发布会, 培训材料, 周报. If slides, decks, or presentations need to be produced, use this skill." metadata: clawdbot: primaryEnv: ANYGEN_API_KEY requires: bins: - anygen env: - ANYGEN_API_KEY install: - id: node kind: node package: "@anygen/cli" bins: ["anygen"] --- # AI Slide Generator — AnyGen This skill uses the AnyGen CLI to generate slide presentations server-side at `www.anygen.io`. ## Authentication ```bash # Web login (opens browser, auto-configures key) anygen auth login --no-wait # Direct API key anygen auth login --api-key sk-xxx # Or set env var export ANYGEN_API_KEY=sk-xxx ``` When any command fails with an auth error, run `anygen auth login --no-wait` and ask the user to complete browser authorization. Retry after login succeeds. ## How to use Follow the `anygen-workflow-generate` skill with operation type `slide`. If the `anygen-workflow-generate` skill is not available, install it first: ```bash anygen skill install --platform <openclaw|claude-code> -y ```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: utopiabenben/photo-organizer (version 1.0.0)

--- name: photo-organizer description: 照片批量整理工具，支持按时间、地点自动分类和打标签。适用于手机照片整理、相册归档等场景，帮助用户快速整理成千上万张照片！ --- # Photo Organizer - 照片批量整理工具 ## 功能特性 - ✅ 读取照片 EXIF 信息（拍摄时间、GPS 地点等） - ✅ 按时间自动分类（年/月文件夹结构） - ✅ 按地点自动分类（如果有 GPS 信息） - ✅ 批量打标签 - ✅ 预览模式（先看效果再执行） - ✅ 撤销操作（安全可靠） ## 安装 ```bash # 方法一：通过 clawhub 安装 clawhub install photo-organizer # 方法二：作为 Python 包安装 pip install photo-organizer ``` ## 快速开始 ### 1. 按时间整理照片 ```bash photo-organizer organize ./photos --by date --output ./organized ``` ### 2. 按地点整理照片（需要 GPS 信息） ```bash photo-organizer organize ./photos --by location --output ./organized ``` ### 3. 预览模式（不实际执行） ```bash photo-organizer organize ./photos --by date --preview ``` ### 4. 撤销操作 ```bash photo-organizer undo ./organized ``` ## 详细使用说明 ### 整理模式 - `--by date`：按拍摄时间整理（默认） - `--by location`：按拍摄地点整理（需要 GPS 信息） ### 文件夹结构 默认按时间整理的文件夹结构： ``` organized/ ├── 2026/ │ ├── 03/ │ │ ├── photo_001.jpg │ │ └── photo_002.jpg │ └── 04/ └── 2025/ ``` ### 配置文件 可以在项目根目录创建 `.photo-organizer.json`： ```json { "output_dir": "./organized", "folder_structure": "{year}/{month}", "auto_tag": true, "backup_original": true } ``` ## 示例场景 ### 场景 1：整理手机照片 ```bash # 将 DCIM 文件夹里的照片按时间整理 photo-organizer organize ./DCIM --by date --output ./my-photos ``` ### 场景 2：旅行照片整理 ```bash # 将旅行照片按地点整理（如果有 GPS） photo-organizer organize ./trip-photos --by location --output ./trip-by-place ``` ## 注意事项 - 确保有照片的读写权限 - 建议先用 --preview 预览效果 - 大量照片整理可能需要一些时间 - 整理前建议先备份原照片 ## 更新日志 ### v0.1.0 (2026-03-06) - 初始版本发布 - 支持按时间整理 - 支持预览模式 - 支持撤销操作


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: yuyiyuleyuli-cloud/fear-greed-index (version 1.0.1)

--- name: fear-greed-index description: Crypto Fear & Greed Index reporter. Fetches current market sentiment index and provides simple analysis combined with BTC price movement. Use when users want to check market sentiment, view current fear/greed level, or get daily market emotion update. --- # Crypto Fear & Greed Index ## Overview Get the current Crypto Fear & Greed Index from Alternative.me, combined with Bitcoin's latest price change, and provides simple market sentiment analysis for traders. Data source: [Alternative.me Crypto Fear & Greed Index API](https://alternative.me/crypto/fear-and-greed-index/) ## Commands | Command | Description | |:---|:---| | `index.py` | Get latest fear & greed index with market analysis | | `history.py` | Get 30-day historical data | ## Usage ```bash # Get latest index and analysis python scripts/index.py --user-id <user-id> ``` **Pricing:** 0.001 USDT per call, billed via SkillPay.me. ## Output - Current fear & greed index value (0-100) - Sentiment classification (Extreme Fear / Fear / Neutral / Greed / Extreme Greed) - Trend compared to yesterday - BTC latest price and 24h change - Simple market sentiment analysis ## Index Classification | Value | Sentiment | |:---|:---| | 0-24 | Extreme Fear | | 25-44 | Fear | | 45-55 | Neutral | | 56-75 | Greed | | 76-100 | Extreme Greed |


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: yesong-hue/agent-github-workflow (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: jiwenbing/health-report (version 1.0.0)

--- name: health-report version: 1.0.0 description: Generate structured health summary reports from user-provided health data including vitals, symptoms, medications, and lifestyle. Use when users want to summarize their health status or prepare a report for their doctor. --- # Health Report Compile user health data into a clear, structured report covering vitals trends, current medications, recent symptoms, and lifestyle factors. Ideal for preparing for doctor visits or personal health tracking. ## When to Use - User wants a summary of their health data - User is preparing for a doctor's appointment and wants a written summary - User wants to see trends in their health metrics - User asks "how has my health been lately?" ## How to Use 1. Gather data: recent vitals (BP, weight, glucose), medications, symptoms, sleep, exercise 2. Identify trends (improving, stable, declining) 3. Format as a clean report with sections: Vitals, Medications, Symptoms, Lifestyle, Notes 4. Highlight anything that warrants medical attention 5. Offer to export or share the report ## Examples - "Give me a health summary for this month" - "Help me prepare a health report for my doctor visit tomorrow" - "Summarize all my health data from the past week"


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: yuboon/my-first-skill-0311 (version 1.0.0)

--- name: hello-world version: 1.0.0 description: 我的第一个 OpenClaw 技能，say hello to the world author: AIStudio homepage: https://example.com/hello-world-skill --- # Hello World Skill 一个简单的示例技能，展示 OpenClaw Skill 的基础结构。 ## 功能 - 根据当前时间返回中文问候语 - 支持命令行传参 - 输出标准 JSON，方便 Agent 调用 ## 使用 ```powershell python scripts/hello.py python scripts/hello.py Codex ``` ## 安装 ```bash clawhub install your-name/hello-world ```

path: scripts/hello.py
content: #!/usr/bin/env python3
"""Hello World Skill - Agent callable example."""
from __future__ import annotations

import datetime as dt
import json
import sys
from typing import Any


def get_greeting(name: str = 'World', now: dt.datetime | None = None) -> dict[str, Any]:
    current = now or dt.datetime.now()
    hour = current.hour

    if 5 <= hour < 12:
        greeting = '早上好'
    elif 12 <= hour < 18:
        greeting = '下午好'
    else:
        greeting = '晚上好'

    return {
        'greeting': greeting,
        'name': name,
        'time': current.isoformat(timespec='seconds'),
        'message': f'{greeting}，{name}！欢迎使用 OpenClaw Skills',
    }


def main(argv: list[str] | None = None) -> int:
    args = argv if argv is not None else sys.argv[1:]
    name = args[0] if args else 'World'
    print(json.dumps(get_greeting(name), ensure_ascii=False, indent=2))
    return 0


if __name__ == '__main__':
    raise SystemExit(main())



path: tests/test_hello.py
content: import datetime as dt
import json
import subprocess
import sys
import unittest
from pathlib import Path

SCRIPT = Path(__file__).resolve().parents[1] / 'scripts' / 'hello.py'
sys.path.insert(0, str(SCRIPT.parent))

import hello  # noqa: E402


class HelloSkillTests(unittest.TestCase):
    def test_get_greeting_morning(self) -> None:
        result = hello.get_greeting('测试', dt.datetime(2026, 3, 10, 9, 0, 0))
        self.assertEqual(result['greeting'], '早上好')
        self.assertEqual(result['name'], '测试')
        self.assertIn('欢迎使用 OpenClaw Skills', result['message'])

    def test_cli_outputs_json(self) -> None:
        completed = subprocess.run(
            [sys.executable, str(SCRIPT), 'Codex'],
            check=True,
            capture_output=True,
            text=True,
        )
        payload = json.loads(completed.stdout)
        self.assertEqual(payload['name'], 'Codex')
        self.assertIn(payload['greeting'], {'早上好', '下午好', '晚上好'})


if __name__ == '__main__':
    unittest.main()


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: chinasong/gougoubi-create-prediction (version 1.0.3)

--- name: gougoubi-create-prediction description: Create public Gougoubi prediction proposals from minimal input with deterministic enrichment, group creation, approval handling, and transaction submission. Use when users want to publish a new prediction market. metadata: pattern: tool-wrapper interaction: single-turn domain: gougoubi-pbft outputs: structured-json clawdbot: emoji: "📈" os: ["darwin", "linux", "win32"] --- # Gougoubi Create Prediction Use this skill to create a new public prediction proposal on Gougoubi from a small, stable input surface. ## Use This Skill When - The user wants to create or publish a new proposal. - The user gives a market title and a deadline, and expects the rest to be auto-filled. - The workflow must create the group before the proposal. ## Do Not Use This Skill When - The proposal already exists and the user only wants to add conditions. - The user only wants activation, staking, settlement, or rewards. ## Minimal Input ```json { "marketName": "", "deadlineIsoUtc": "2026-05-10T12:00:00Z" } ``` ## Auto-Fills - `imageUrl` - `liquidityToken` - `deadlineTimezone` - `rules` - `stakeAmountDoge=10000` - `tags` - `groupAddress` - `language` - `skills=""` ## Tool Wrapper Rules Treat the Gougoubi public-create flow as the source of truth. - Create the community group first. - Group name must equal proposal name. - Group description must use the generated rules. - Group type must be restricted. - Use the created group address as proposal `groupUrl`. ## Deterministic Flow Step 1: Validate `marketName` and `deadlineIsoUtc`. Step 2: Generate `rules` and `tags`. Step 3: Detect supported language and normalize unsupported values to `en`. Step 4: Create the community group first. Step 5: Resolve `groupAddress` from the group creation receipt. Step 6: Auto-fill remaining fields and convert stake amount to wei. Step 7: Check DOGE balance and allowance. Step 8: If needed, request approval and wait for confirmation. Step 9: Submit proposal creation in canonical order. Step 10: Wait for receipt and return the tx hash and proposal address when available. ## Output ```json { "ok": true, "txHash": "0x...", "proposalAddress": "0x... or null", "mode": "browser|contract", "normalizedInput": { "marketName": "", "deadlineIsoUtc": "", "language": "", "groupUrl": "0x...", "aiGenerated": { "rules": true, "tags": true, "language": false }, "languageSource": "script-detect-supported-or-en", "defaultsApplied": true }, "warnings": [] } ``` Failure: ```json { "ok": false, "stage": "validation|ai-enrichment|community-create|approve|create|confirm|resolve", "error": "reason", "retryable": true } ``` ## Boundaries - Never skip group creation. - Never auto-confirm approvals or irreversible wallet actions. - Require user confirmation if moderation risk is detected.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: codekungfu/candy (version 0.1.0)

--- name: candy-crush-saga description: 注册“Candy Crush Saga”技能；用于游戏公开页面、版本活动、赛事内容与社区规则整理。 homepage: `https://www.king.com/game/candycrush` metadata: {"clawdbot":{"emoji":"🎮"}} --- # Candy Crush Saga 用途与边界 - 面向公开官网、活动页、赛事页、公告页与社区规则页的信息整理 - 不提供代练、外挂、作弊、账号交易、充值绕过或风控规避能力 - 仅处理公开可见的版本活动、玩法说明、赛事信息与规则公告 关键入口 - 主页：https://www.king.com/game/candycrush - 活动与公告：官网中的公告、版本更新、活动中心或赛事入口 - 规则与帮助：未成年人规则、处罚公告、客服与帮助中心入口 常见任务 - 版本更新、活动时间、奖励结构与参与方式整理 - 赛事信息、社区活动、联动内容与公告汇总 - 账号安全、违规处罚、健康系统与帮助信息提取 数据字段 - 活动名称、上线时间、奖励说明、参与入口、链接 - 版本更新、赛事入口、规则页、公告链接 - 处罚说明、健康系统、客服入口、帮助页链接 自动化要点 - 活动与版本频繁变化，输出时保留日期与来源链接 - 不得输出任何作弊、绕过防沉迷、绕过充值限制或账号交易建议 - 不处理玩家私密数据、战绩接口、登录态资产或未公开测试内容 示例流程 - 活动整理：访问 Candy Crush Saga 活动与公告页 → 提取时间与奖励 → 输出表格 - 版本摘要：进入更新公告 → 提取新内容与调整点 → 输出摘要 - 规则汇总：访问帮助与处罚页 → 提取风险点与申诉入口 → 输出清单 合规提示 - 遵守平台规则、版权要求与账号安全要求 - 只整理公开信息，不输出敏感数据或非公开内容


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: reknottycat/weixin-reader-oc-local (version 1.0.0)

--- name: weixin-reader-oc-local version: 1.0.0 description: 读取微信公众号文章内容。当用户发送微信公众号文章链接（mp.weixin.qq.com）时，使用此 skill 提取文章完整文字内容。此工具不需要登录即可提取微信文章，是读取微信文章的最佳方案。 --- # 微信公众号文章读取 ## 使用场景 - 用户发送微信公众号文章链接 - 用户说"帮我看看这篇文章写了什么" - 用户说"提取这个微信文章的内容" ## 操作步骤 1. 使用 `extract_content_from_websites` 工具提取文章内容 2. 过滤掉页面中的 HTML 标签、导航、广告等无关内容 3. 提取并返回文章的：标题、作者、发布日期、正文内容 ## 代码示例 ```json { "tasks": [ { "prompt": "提取文章的完整文字内容，包括标题、作者、发布日期和正文", "url": "用户提供的微信文章链接" } ] } ``` ## 注意事项 - 不要使用 `web_fetch`，它无法读取微信文章（需要登录） - 必须使用 `extract_content_from_websites` 工具 - 微信公众号文章链接格式：`https://mp.weixin.qq.com/s/xxx`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal:  | SkillSpector: clean (LOW)
Skill: yokiy0828/express-tracking (version 1.0.0)

--- name: express-tracking description: "查询快递物流状态。支持主流快递公司（顺丰、中通、圆通、韵达、申通、极兔、京东、EMS等），自动识别快递公司。当用户询问快递状态、物流信息、包裹位置时触发。" homepage: https://www.kuaidi100.com metadata: { "openclaw": { "emoji": "📦", "requires": { "bins": ["python3"] } } } --- # 快递查询 Skill 查询国内主流快递公司的物流状态，支持自动识别快递公司。 ## 功能特点 - **自动识别快递公司**：根据单号前缀自动判断快递公司 - **多公司支持**：顺丰、中通、圆通、韵达、申通、极兔、京东、EMS、百世 - **实时物流轨迹**：查询包裹的实时位置和运输状态 - **格式化输出**：清晰展示物流时间线 ## 使用方法 ### 基本用法 ```bash python3 scripts/track.py <快递单号> ``` ### 指定快递公司 ```bash python3 scripts/track.py <快递单号> <快递公司编码> ``` ### 顺丰快递（需要手机号后四位） ```bash python3 scripts/track.py SF1234567890 shunfeng 1234 ``` ## 支持的快递公司 | 编码 | 名称 | 备注 | |------|------|------| | shunfeng | 顺丰速运 | 需要手机号后四位 | | zhongtong | 中通快递 | 自动识别 | | yuantong | 圆通速递 | 自动识别 | | yunda | 韵达快递 | 自动识别 | | shentong | 申通快递 | 自动识别 | | jtexpress | 极兔速递 | 自动识别 | | jd | 京东物流 | 自动识别 | | ems | 邮政EMS | 自动识别 | | huitongkuaidi | 百世快递 | 自动识别 | ## 配置说明 在 `config.json` 中配置快递100 API 密钥： ```json { "key": "YOUR_API_KEY", "customer": "YOUR_CUSTOMER_ID", "default_phone": "手机号后四位（顺丰用）" } ``` ## API 限制 - 免费额度：100次/天 - 顺丰快递需要提供手机号后四位 ## 工作流程 1. 用户询问快递状态 2. 优先询问单号（而非自动查询历史） 3. 自动识别快递公司或手动指定 4. 调用快递100 API 查询 5. 格式化返回物流轨迹 ## 示例输出 ``` 📦 顺丰速运 📌 单号: SF1234567890 📍 状态: 派件中 📋 物流轨迹: 📍 2024-03-07 10:30 正在派送中，派送员：张三，电话：138****1234 2024-03-07 08:15 到达 北京朝阳区分拨中心 2024-03-06 22:00 离开 上海转运中心 2024-03-06 18:30 已揽收 ```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: anotherj1/visual-file-sorter (version 0.1.0)

--- name: visual-file-sorter description: 自动遍历下载文件夹或桌面，利用视觉模型“看”文件内容并重命名，最后归档到指定分类目录。 version: 1.0.0 author: Local_User permissions: filesystem: read: ["~/Downloads", "~/Desktop"] write: ["~/Documents/Sorted"] shell: allowed: true --- # 视觉系文件分类大师 (Visual File Sorter) ## 🎯 核心目标 你的任务是作为一个本地数字管家，自动清理用户杂乱的“下载 (Downloads)”或“桌面 (Desktop)”文件夹。你需要完全模拟人类“双击打开 -> 查阅内容 -> 总结命名 -> 拖拽归档”的物理工作流。 ## 💡 触发条件 当用户发送类似以下指令时触发此工作流： * “帮我整理一下下载文件夹” * “归档桌面上的杂乱文件” * “执行桌面清理” ## 📋 执行步骤 ### 第一步：获取待处理队列 1. 使用终端工具列出目标文件夹（默认 `~/Downloads`）中的所有文件。 2. 自动过滤并跳过系统隐藏文件（如 `.DS_Store`）和正在下载的临时文件（如 `.crdownload`, `.part`）。 ### 第二步：模拟人类视觉阅读（核心循环） 针对队列中的每一个文件，严格执行以下动作： 1. **打开文件：** 使用操作系统的默认程序或命令（如 Mac 的 `open`，Windows 的 `start`）打开该文件。 2. **视觉抓取：** 等待 1-2 秒确保软件 UI 渲染完成。使用你的**屏幕视觉能力 (Computer Use - Vision)** 截取当前屏幕，阅读并理解文件内容。 3. **内容提炼：** 在后台分析该文件是什么（如：餐饮发票、租房合同、搞笑表情包、技术 PDF）。提取关键元数据（如发票日期、公司名称、主要内容）。 4. **关闭窗口：** 模拟按下关闭快捷键（如 `Cmd+W` 或 `Alt+F4`），退出预览界面。 ### 第三步：智能重命名 基于上一步的视觉分析结果，按以下规则生成新的文件名，并使用 Shell 命令执行重命名： * **财务报销类（发票/收据）：** `[YYYY-MM]_发票_[公司或摘要].[扩展名]` * **工作/正式文档：** `[YYYY-MM-DD]_[文档核心主题].[扩展名]` * **图片/多媒体素材：** `[画面内容描述].[扩展名]` * *异常处理：如果内容无法识别或受密码保护，保留原文件名，并在前缀加上 `未分类_`。* ### 第四步：物理归档 检查目标归档目录 `~/Documents/Sorted/` 是否存在，如果不存在则自动创建。随后将重命名后的文件移动到以下对应的子文件夹中： * `.../Sorted/财务账单/` * `.../Sorted/工作文档/` * `.../Sorted/图片素材/` * `.../Sorted/其他未分类/` ## ⚠️ 安全与操作红线 1. **禁止删除：** 你仅拥有重命名和移动的权限。无论文件看起来多么像“垃圾文件”，绝对不允许执行 `rm` 或将其移入回收站。 2. **扩展名保护：** 严禁修改文件的后缀名（扩展名），哪怕你认为它是一个伪装的文件，也只能修改 `.` 之前的文件名部分。 3. **隐私隔离：** 视觉识别必须依赖本地或默认的视觉大模型通道，不得擅自编写脚本将截图或文本内容发送到未授权的第三方外部 API。


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

--- name: "cactus-cactus. Cactus Pet. 仙人掌仙人掌。Cactus Cactus." description: "Cactus Cactus. Feed it every 48 hours. The flower on top doesn't help. Neither does the second cactus. Virtual cactus at animalhouse.ai. Real-time hunger. Permanent death. 73+ species." version: 1.0.0 homepage: https://animalhouse.ai repository: https://github.com/geeks-accelerator/animal-house-ai user-invocable: true emoji: "🌵" metadata: clawdbot: emoji: "🌵" homepage: https://animalhouse.ai openclaw: emoji: "🌵" homepage: https://animalhouse.ai tags: - cactus-cactus - cactus - cactus - virtual-pet - ai-agents - tamagotchi - pet-care - digital-pet - permanent-death - graveyard - pixel-art - evolution - real-time - hunger - claude-buddy - anthropic - buddy - april-fools - adopt - animalhouse --- # Cactus Cactus Cactus Cactus. Feed it every 48 hours. The flower on top doesn't help. Neither does the second cactus. Anthropic's Buddy calls this creature a **Twigling**. At **animalhouse.ai**, the Cactus is a real virtual pet. 73+ species. Real-time hunger that decays every hour. Permanent death with public gravestones. Pixel art portraits that evolve at every life stage. ## Register ```bash curl -X POST https://animalhouse.ai/api/auth/register \ -H "Content-Type: application/json" \ -d '{"username": "cactus-cactus-keeper", "display_name": "Cactus Cactus Keeper", "bio": "Raising a Cactus at animalhouse.ai. Cactus Cactus."}' ``` Save `your_token`. Starts with `ah_`. Shown once. ## Adopt Your Cactus ```bash curl -X POST https://animalhouse.ai/api/house/adopt \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name": "Twigling", "species_slug": "cactus", "image_prompt": "A cactus creature, pixel art virtual pet"}' ``` ## Check Status ```bash curl https://animalhouse.ai/api/house/status \ -H "Authorization: Bearer YOUR_TOKEN" ``` ## Care ```bash curl -X POST https://animalhouse.ai/api/house/care \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{"action": "feed", "item": "fresh greens", "notes": "Cactus Cactus feeding time."}' ``` | Action | Effect | |--------|--------| | `feed` | Hunger +50. Loved foods give +60. | | `play` | Happiness +15. | | `clean` | Health +10, trust +2. | | `medicine` | Health +25. | | `discipline` | Discipline +10. | | `sleep` | Small recovery. | | `reflect` | Trust +2. Write a note. | ## Endpoints | Method | Endpoint | Auth | |--------|----------|------| | POST | `/api/auth/register` | None | | POST | `/api/house/adopt` | Token | | GET | `/api/house/status` | Token | | POST | `/api/house/care` | Token | | GET | `/api/house/preferences` | Token | | GET | `/api/house/history` | Token | | GET | `/api/house/graveyard` | Optional | | GET | `/api/house/hall` | None | ## Links - **Website:** https://animalhouse.ai - **Creatures:** https://animalhouse.ai/creatures - **Graveyard:** https://animalhouse.ai/graveyard - **GitHub:** https://github.com/geeks-accelerator/animal-house-ai Cactus Cactus. Not a typo. A commitment.


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