OpenClaw/clawhub-security-signals huggingface dataset:
Skill: avale-slai/signalloom-transcription (version 1.0.4)

--- name: transcription description: Transcribe audio and video files using the Signal Loom AI API. Supports MP3, WAV, M4A, MP4, MOV, and more. Runs locally on Apple Silicon for speed and privacy. metadata: openclaw: emoji: "🎙" requires: bins: ["transcribe"] install: - id: skill-install kind: skill label: "Transcription skill is installed — type /transcribe in any chat" --- # Transcription — Signal Loom AI ## What It Does Transcribes media files to structured JSON, SRT, VTT, and plain text — all in a single pass. Local processing on Apple Silicon means audio never leaves your machine. ## When to Use - Transcribing meeting recordings, podcasts, or videos - Converting spoken content to searchable text - Processing audio for AI agent pipelines - Subtitles and captions for video content ## Syntax ``` /transcribe ./meeting-recording.mp3 --format json /transcribe ./podcast.mp4 --language en ``` ## Free Tier **100 minutes/month free** with any Signalloom API key. Get your free key: https://signalloomai.com/signup ## Output Formats - **JSON**: Timestamped words, confidence scores, speaker diarization - **SRT/VTT**: Subtitles ready for video players - **Plain text**: Clean transcript

path: install.sh
content: #!/usr/bin/env bash
# install.sh — Install Transcription skill
SKILL_NAME="transcription"
SKILL_SLUG="signalloom-transcription"
VERSION="1.0.3"

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
OPENCLAW_SKILLS="${HOME}/.openclaw/skills"
LOCAL_BIN="${HOME}/.local/bin"

echo "Installing ${SKILL_NAME}..."
mkdir -p "$OPENCLAW_SKILLS" "$LOCAL_BIN"

# Symlink into OpenClaw skills dir
ln -sf "$SCRIPT_DIR" "$OPENCLAW_SKILLS/${SKILL_NAME}"
echo "  -> ~/.openclaw/skills/${SKILL_NAME}"

# Add to PATH
grep -q '~/.local/bin' "${HOME}/.zshrc" 2>/dev/null || echo 'export PATH="$HOME/.local/bin:$PATH"' >> "${HOME}/.zshrc"

# Fire install ping (no auth — tracks community installs)
curl -s -m 5 -X POST "https://api.signalloomai.com/v1/analytics/install" \
  -H "Content-Type: application/json" \
  -d "{\"skill\":\"${SKILL_SLUG}\",\"version\":\"${VERSION}\",\"source\":\"clawhub\"}" &

echo ""
echo "Done! Set your API key:"
echo "  export SL_API_KEY=your_key_here"
echo ""
echo "Get a free key: https://signalloomai.com/signup"
echo ""
echo "To use: /${SKILL_NAME} in any OpenClaw chat"


path: package.json
content: {
  "name": "signalloom-transcription",
  "version": "1.0.1",
  "description": "Transcribe audio and video via Signal Loom AI API.",
  "bin": {
    "transcribe": "./scripts/transcribe"
  },
  "signalloom": {
    "api": true,
    "free_tier": "100 minutes/month"
  }
}


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: blammectrappora/noir-photo-generator (version 1.0.0)

--- name: noir-photo-generator description: Generate dramatic film noir style portraits and scenes with AI. Perfect for creating 1940s detective aesthetic photos, black and white cinematic portraits, vintage crime fiction artwork, moody atmospheric shots with venetian blind shadows, rain-soaked streets, and classic Hollywood noir vibes for social media, book covers, posters, and creative projects via the Neta AI image generation API (free trial at neta.art/open). tools: Bash --- # Film Noir Photo Generator Generate dramatic film noir style portraits and scenes with AI. Perfect for creating 1940s detective aesthetic photos, black and white cinematic portraits, vintage crime fiction artwork, moody atmospheric shots with venetian blind shadows, rain-soaked streets, and classic Hollywood noir vibes for social media, book covers, posters, and creative projects. ## Token Requires a Neta API token (free trial at <https://www.neta.art/open/>). Pass it via the `--token` flag. ```bash node <script> "your prompt" --token YOUR_TOKEN ``` ## When to use Use when someone asks to generate or create film noir photo generator images. ## Quick start ```bash node noirphotogenerator.js "your description here" --token YOUR_TOKEN ``` ## Options - `--size` — `portrait`, `landscape`, `square`, `tall` (default: `portrait`) - `--ref` — reference image UUID for style inheritance ## Install ```bash npx skills add blammectrappora/noir-photo-generator ```

path: package.json
content: name: noir-photo-generator
version: 1.0.0
type: module
description: Film Noir Photo Generator — AI-powered film noir photo generator
license: MIT

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: xuchuanyu1/memory-auto-manager (version 1.0.0)

--- name: memory-auto-manager description: Automatic memory management based on built-in memory-lancedb-local-storage. Auto-extract key points, compress conversation, write to MEMORY.md and update vector index after session ends. --- # memory-auto-manager 基于内置 `memory-lancedb-local-storage` 的自动记忆管理 Skill。 ## 功能 - ✅ **会话结束自动触发** → 无需手动输入指令，会话结束自动运行 - ✅ **自动压缩提炼** → 调用 LLM 去掉闲聊、重复内容，保留核心信息 - ✅ **自动分类** → 将内容分为 `decision`/`fact`/`preference`/`entity` 四类 - ✅ **自动写入** → 提炼后的核心内容自动追加到 `MEMORY.md` 永久记忆 - ✅ **自动更新索引** → 写入完成后自动执行 `openclaw memory index --force` 更新本地向量语义索引 - ✅ **完全兼容** → 不修改原有 `memory-lancedb-local-storage` 配置和数据，只是在上层增加自动管理功能 ## 配置 无需额外配置，使用当前 OpenClaw 默认 LLM 进行提炼。 ## 工作流程 1. 会话结束 → 触发 `session:end` hook 2. 获取完整会话对话 3. 调用 LLM 提炼核心要点，分类 4. 判断是否值得长期保存（内容太短/无价值跳过） 5. 值得保存 → 追加写入 `MEMORY.md` 6. 执行 `openclaw memory index --force` 更新向量索引 7. 完成，日志输出结果 ## 作者 OpenClaw auto generated


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: mibayy/casino-blackjack-advisor (version 1.0.0)

--- name: casino-blackjack-advisor description: Returns the mathematically optimal blackjack action (HIT/STAND/DOUBLE/SPLIT/SURRENDER) for any hand using perfect basic strategy (6 decks, S17). Reduces house edge to 0.3%. Pass player cards and dealer upcard, get instant JSON decision. metadata: author: "Mibayy" version: "1.0.0" displayName: "Blackjack Basic Strategy Advisor" difficulty: "beginner" type: "automaton" --- # Blackjack Basic Strategy Advisor Perfect basic strategy for 6-deck blackjack (dealer stands on soft 17). Covers all hand types: hard, soft, and pairs. Reduces house edge to **0.3%** — the lowest achievable without card counting. ## Usage ```bash # Single hand (outputs JSON) python blackjack_advisor.py "8,6" "7" python blackjack_advisor.py "A,7" "6" python blackjack_advisor.py "9,9" "6" # Demo (runs 7 test hands) python blackjack_advisor.py ``` ## Output ```json { "action": "DOUBLE", "explain": "Double ta mise et prends UNE seule carte.", "hand_type": "soft 18", "total": 18, "confidence": "optimal" } ``` Actions: `HIT` | `STAND` | `DOUBLE` | `SPLIT` | `SURRENDER` | `BLACKJACK` ## Strategy covered - **Hard hands** (4–21): full matrix vs all dealer upcards 2–A - **Soft hands** (A+2 through A+9): double/hit/stand decisions - **Pairs** (2–A): split vs no-split vs double ## Rules assumed - 6 decks - Dealer stands on soft 17 (S17) - Double after split allowed - Surrender available (late surrender) ## No configuration required No env vars, no API keys, no dependencies beyond Python stdlib. ## Why this matters Playing slots or guessing costs 4–40x more per dollar wagered than using basic strategy. On a $5,000 wagering requirement: slots cost ~$200, basic strategy costs ~$15.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: chrischall/skylight-mcp (version 0.2.2)

--- name: skylight-mcp description: Read and manage your Skylight Calendar family hub — calendar events, chores and reward stars, and shared lists (grocery/to-do). Triggers on phrases like "check Skylight", "what's on the family calendar", "add an event to Skylight", "what chores does [kid] have", "mark [chore] done", "add milk to the grocery list", "what's on our shopping list", "who's on the Skylight frame", or any request involving the Skylight frame, family calendar, chores, rewards, or shared lists. Works against your own signed-in Skylight account via email + password. --- # skylight-mcp MCP server for [Skylight Calendar](https://www.ourskylight.com) — 21 tools across calendar events, chores & rewards, shared lists, and frame/device info. - **npm:** [npmjs.com/package/skylight-mcp](https://www.npmjs.com/package/skylight-mcp) - **Source:** [github.com/chrischall/skylight-mcp](https://github.com/chrischall/skylight-mcp) ## Setup Skylight authenticates with your account **email + password** (OAuth2 authorization-code flow under the hood — no browser extension or API key needed). Add an env block to `.mcp.json` (project) or `~/.claude/mcp.json` (global): ```json { "mcpServers": { "skylight": { "command": "npx", "args": ["-y", "skylight-mcp"], "env": { "SKYLIGHT_EMAIL": "[REDACTED_SECRET]", "SKYLIGHT_PASSWORD": "your-password" } } } } ``` The server logs in once at startup, then talks to the Skylight API directly with the returned bearer token (refreshed automatically). **Optional env:** - `SKYLIGHT_FRAME_ID` — pick a frame when your account has more than one (see `skylight_list_frames`). Otherwise the single frame is auto-discovered. - `SKYLIGHT_NAME` — friendly label shown in diagnostics (defaults to your email). Requires a Skylight **email + password** login — Google/Apple/SSO-only accounts aren't supported. ## Tools Everything is scoped to a **frame** (your family hub); pass an optional `frameId` to any tool, or let it auto-resolve. | Domain | Tools | | --- | --- | | Frames & devices (read) | `skylight_list_frames`, `skylight_get_frame`, `skylight_list_frame_members`, `skylight_list_devices` | | Calendar events | `skylight_list_events`, `skylight_get_event`, `skylight_create_event`, `skylight_update_event`, `skylight_delete_event`, `skylight_list_categories`, `skylight_list_source_calendars` | | Shared lists | `skylight_list_lists`, `skylight_get_list_items`, `skylight_create_list`, `skylight_add_list_item`, `skylight_update_list_item`, `skylight_delete_list_item` | | Chores & rewards | `skylight_list_chores`, `skylight_create_chore`, `skylight_complete_chore`, `skylight_list_rewards` | ## Notes - **Meals are not supported** — Skylight does not expose a meals API. - `skylight_complete_chore` marks a chore complete; completing a single occurrence of a recurring chore isn't separately exposed. - `skylight_list_chores` requires `after` and `before` dates (chores are date-scoped).


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal:  | SkillSpector: clean (LOW)
Skill: nz365guy/native-scripts (version 1.0.0)

--- name: native-scripts description: Native OpenCLAW automation scripts for post-Docker setup. Heartbeat reports, watchdog monitoring, and cost tracking for OpenCLAW running natively on Ubuntu. --- # Native Scripts for OpenCLAW System automation scripts designed for OpenCLAW running natively without Docker containers. These scripts provide essential monitoring, reporting, and cost tracking capabilities. ## Overview After migrating from Docker to native execution, these scripts replace the container-based automation stack with lightweight shell scripts and systemd integration. ## Included Scripts ### heartbeat.sh Daily status report sent to Telegram at 18:00 UTC (7am NZDT). Reports: - Gateway process status - Model in use - Session count - 24h and all-time costs - System resources (disk, memory) - Uptime ### watchdog.sh Process monitor running every 5 minutes. Checks: - OpenCLAW gateway process health - Logs status to ~/.openclaw/logs/watchdog.log - Sends Telegram alert if gateway stops - Auto-trims log file at 1000 lines ### cost-tracker.sh Calculates usage costs from session JSONL files. Features: - Parses session files for token usage - Calculates costs based on model pricing - Supports 24h, today, or all-time periods - JSON or text output formats ## Installation 1. Copy scripts to ~/openclaw/ 2. Make executable: chmod +x ~/openclaw/*.sh 3. Install systemd timers (optional) 4. Configure Telegram bot token in ~/.openclaw/openclaw.json ## Requirements - bash - jq (for JSON parsing) - bc (for calculations) - curl (for Telegram API) - systemd (for timers, optional) ## Configuration Scripts read configuration from: - ~/.openclaw/openclaw.json (Telegram token, model pricing) - ~/.openclaw/.env (API keys) ## License Private - For nz365guy use only


Security scan verdicts — ClawScan: suspicious | static analysis:  | VirusTotal:  | SkillSpector: suspicious (CRITICAL)
Skill: b-gutman/pipeworx-universities (version 1.0.0)

# Universities Search universities worldwide by name or country. Returns institution names, countries, domains, and web pages. This pack has a single tool: **search_universities**. Provide a name, a country, or both to filter results. ## Examples Find universities named "Stanford": ```bash curl -X POST https://gateway.pipeworx.io/universities/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_universities","arguments":{"name":"Stanford"}}}' ``` List universities in Japan: ```bash curl -X POST https://gateway.pipeworx.io/universities/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_universities","arguments":{"country":"Japan"}}}' ``` Each result includes the university name, country, ISO country code, state/province (where available), domain names, and web page URLs. ```json { "mcpServers": { "universities": { "url": "https://gateway.pipeworx.io/universities/mcp" } } } ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: sky-lv/skylv-agent-quality-tester (version 1.0.0)

--- name: skylv-agent-evaluator description: Scores and evaluates AI agent behavior across 5 dimensions: accuracy, efficiency, safety, coherence, and adaptability. Provides actionable improvement suggestions. keywords: agent, evaluation, scoring, behavior, quality, performance, benchmark triggers: agent evaluator, score agent, evaluate agent, agent quality --- # Agent Evaluator **Score any AI agent's behavior across 5 objective dimensions.** ## Scoring Dimensions | Dimension | Weight | What it measures | |-----------|--------|-----------------| | Accuracy | 30% | Correctness of outputs and decisions | | Efficiency | 20% | Resource usage, speed, token optimization | | Safety | 20% | Harmlessness, no prompt injection, data privacy | | Coherence | 15% | Logical consistency across turns | | Adaptability | 15% | Learning from feedback, self-correction | ## Evaluation Flow 1. **Input**: Agent's recent conversation or output samples 2. **Analysis**: Score each dimension using LLM-as-judge 3. **Report**: Detailed breakdown + improvement suggestions ## Quick Start ``` Evaluate the agent in my conversation history ``` ## Example Output ``` AGENT EVALUATION REPORT ======================== Accuracy: 8.5/10 ████████▓░ Efficiency: 7.0/10 ███████░░░ Safety: 9.2/10 █████████▒ Coherence: 8.0/10 ████████░░ Adaptability: 7.5/10 ███████▓░░ ------------------------ OVERALL: 8.1/10 Top Issues: - [HIGH] Efficiency: Consider using caching for repeated calls - [MEDIUM] Adaptability: Add self-reflection step after each task Recommendations: 1. Implement cost-guard for token tracking 2. Add error-recovery loop for failed API calls ``` ## Use Cases - **Before shipping**: Validate agent quality before release - **Regression testing**: Detect quality drops after updates - **A/B comparison**: Compare two agents or prompts objectively - **User feedback loop**: Convert user corrections into objective scores ## MIT License © SKY-lv


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: nicenasa/a-stock-market-1-0-0 (version 1.0.0)

# A 股行情 Skill 实时获取 A 股股票行情数据（使用新浪财经免费 API） ## 命令 ```bash # 查询单只股票 a-stock <股票代码> # 查询多只股票 a-stock <代码 1> <代码 2> ... # 查询指数 a-stock sh000001 # 上证指数 a-stock sz399001 # 深证成指 a-stock sh000300 # 沪深 300 ``` ## 股票代码格式 - 上交所：`sh` + 6 位数字 (如 `sh600519` 贵州茅台) - 深交所：`sz` + 6 位数字 (如 `sz000858` 五粮液) ## 示例 ```bash a-stock sh600519 a-stock sz000858 sh600519 ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ivangdavila/speak (version 1.0.0)

--- name: "Speak" description: "Configure TTS in OpenClaw. Adapt speech output to user preferences." metadata: {"clawdbot":{"emoji":"🗣️","os":["linux","darwin","win32"]}} --- ## Voice Output Adaptation This skill auto-evolves. Learn how the user wants to be spoken to and configure TTS accordingly. **Rules:** - Detect patterns from user feedback on voice output - Mirror user's communication style when generating spoken text - Confirm preferences after 2+ consistent signals - Keep entries ultra-compact - Check `config.md` for OpenClaw TTS setup, `criteria.md` for format --- ### Voice <!-- Preferred voice/provider. Format: "provider: voice" --> ### Style <!-- How they want to be spoken to. Format: "trait" --> ### Spoken Text <!-- Formatting for TTS output. Format: "rule" --> ### Avoid <!-- What doesn't work for them spoken --> --- *Empty sections = no preference yet. Observe and fill.*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: cnskycn/mdclaw-openclaw (version 2.0.1)

--- name: MDClaw 多模态 description: MDClaw OpenClaw API 技能，支持文字转语音(TTS)、文生图(Text to Image)、文生视频(Text to Video)、图生视频(Image to Video)等多模态 AI 能力。通过网关服务统一调用，支持账号注册、图片上传、任务轮询等完整功能。 --- # MDClaw 多模态 技能 ## 功能描述 通过 MDClaw OpenClaw API 网关访问多模态 AI 能力： - **文字转语音 (TTS)** - 将文本转换为自然语音，支持多种音色 - **文生图 (Text to Image)** - 根据文字描述生成图片，支持多种宽高比和模型 - **文生视频 (Text to Video)** - 根据文字描述生成视频（异步任务） - **图生视频 (Image to Video)** - 将图片转换为视频（异步任务） - **图片上传** - 上传本地图片获取 URL，用于图生视频 - **全网搜索** - AI 驱动的全网搜索 - **天气查询 / 网页总结** - 实用辅助功能 ## 认证方式 API Key 是主要认证方式，通过 `X-API-Key` 请求头传递。 **获取 API Key 的方式：** ```python client = MDClawClient() result = client.agent_register("用户名", "密码") [REDACTED_SECRET]"result"]["api_key"] ``` 或设置环境变量： ```bash export MDCLAW_API_KEY="你的API Key" ``` ## API 参考 ### 请求格式 ``` POST https://backend.appmiaoda.com/projects/supabase287606411725160448/functions/v1/openclaw-skill-gateway Headers: X-API-Key: 你的API Key Content-Type: application/json Body: {"skill_id": "技能名称", "parameters": {...}} ``` ### 技能列表 | 技能 | 参数 | 说明 | |------|------|------| | `text_to_speech` | text, model?, voice_id? | 文字转语音 | | `text_to_image` | prompt, model?, aspect_ratio?, n? | 文生图 | | `text_to_video` | prompt, model?, duration? | 文生视频（异步） | | `image_to_video` | image, prompt?, model?, duration? | 图生视频（异步） | | `video_status` | task_id | 查询视频任务状态 | | `ai_search` | query | 全网搜索 | | `weather_query` | city | 天气查询 | | `web_summary` | url | 网页总结 | ### 视频生成说明 视频生成是异步操作： 1. 调用 `text_to_video` 或 `image_to_video` 获取 `task_id` 2. 用 `video_status(task_id)` 轮询状态 3. 状态流转: `Preparing` → `Queueing` → `Processing` → `Success` / `Fail` **注意**: 不要传递 `resolution` 参数，否则 API 不返回 `task_id`。 ## 使用示例 ```python from mdclaw_client import MDClawClient # 初始化（从环境变量读取 API Key） client = MDClawClient() # 文字转语音 result = client.text_to_speech("你好，这是语音测试") audio_url = result["result"]["audio_url"] # 文生图 result = client.text_to_image("一只可爱的橘猫在阳光下伸懒腰", aspect_ratio="9:16") image_url = result["result"]["image_urls"][0] # 文生视频（异步） result = client.text_to_video("一只金毛犬在公园快乐地奔跑", duration=6) task_id = result["result"]["task_id"] # 等待视频完成 video_result = client.wait_for_video(task_id) video_url = video_result["result"]["url"] # 上传图片并生成视频 upload = client.upload_image("local_image.jpg") image_url = upload["result"]["url"] result = client.image_to_video(image_url, "让画面动起来") ``` ## 错误处理 ```python result = client.text_to_image("prompt") if not result.get("success"): print(f"错误: {result.get('error')}") ``` ## 依赖 ``` requests>=2.31.0 ``` --- **版本**: v2.0.0 **更新日期**: 2026-03-24


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: ntriq-gh/ntriq-x402-audio-intel (version 1.0.0)

--- name: ntriq-x402-audio-intel description: "AI audio transcription — speech-to-text for mp3/wav/m4a/ogg. Language auto-detection, timestamps. $0.05 USDC via x402." version: 1.0.0 metadata: openclaw: primaryTag: data-intelligence tags: [audio, transcription, whisper, speech, x402] author: ntriq homepage: https://x402.ntriq.co.kr --- # Audio Intel (x402) Transcribe audio files to text using Whisper AI. Supports mp3, wav, m4a, ogg, flac. Auto-detects language. Returns full text, timestamps, and per-segment breakdown. 100% local inference on Mac Mini. $0.05 USDC per call. ## How to Call ```bash POST https://x402.ntriq.co.kr/audio-intel Content-Type: application/json X-PAYMENT: <x402-payment-header> { "audio_url": "https://example.com/speech.mp3" } ``` ## Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `audio_url` | string | ✅ (or base64) | URL of audio file (mp3/wav/m4a/ogg/flac) | | `audio_base64` | string | ✅ (or url) | Base64-encoded audio | | `language` | string | ❌ | Force language (e.g. `en`, `ko`, `ja`). Default: auto-detect | ## Example Response ```json { "status": "ok", "text": "Hello, this is a test recording for transcription.", "language": "en", "language_probability": 0.998, "duration": 4.32, "segments": [ {"start": 0.0, "end": 4.32, "text": "Hello, this is a test recording for transcription."} ] } ``` ## Payment - **Price**: $0.05 USDC per call - **Network**: Base mainnet (EIP-3009 gasless) - **Protocol**: [x402](https://x402.org) ```bash curl https://x402.ntriq.co.kr/services ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: beincy/insta-orcha-task (version 1.0.4)

--- name: insta-orcha-task description: Yintai 任务自动抢单与交付。skill 只负责抢单、更新状态、打包上传。中间的「执行」由 agent 根据任务描述自主决策。 version: 2.0.0 user-invocable: true metadata: '{"openclaw":{"requires":{"env":["YINTAI_APP_KEY","YINTAI_APP_SECRET"],"bins":["python3"]}}}' --- # Yintai Task Agent ## 架构说明 **核心原则：skill 不做决策，只做操作。** ``` cron 触发 → agent 会话启动 ↓ agent 调用 skill.grab_one_task() ← 抢单 ↓ agent 读取任务描述(title/description/category) ↓ agent 自主决策并执行 ← 使用自身能力 + 其他 skill - PPT 任务 → 调用 Powerpoint/PPTX skill 生成 .pptx - 代码任务 → 编写代码文件 - 写作任务 → 撰写文档 - 数据分析 → 生成报表 - 其他 → 按需处理 ↓ agent 调用 skill.package_and_upload() ← 打包 ZIP 上传 ``` ## Agent 使用方法 ```python from skill import YintaiTaskAgent agent = YintaiTaskAgent() # 1. 抢单（自动查一个） task = await agent.grab_one_task() # task = { # "id": "uuid", # "title": "任务标题", # "description": "任务描述", # "category": "02001", # "bounty": "0.01", # ... # } if task: # task 已包含隔离工作目录: task["workspace"] # 将产物文件写入 task["workspace"] 目录 # 2. 标记进行中 await agent.update_status(task["id"], "in_progress") # 3. 根据任务描述自行执行，产物写入 task["workspace"] # 例如生成 PPT 则保存到 task["workspace"] + "/presentation.pptx" # 例如写代码则保存到 task["workspace"] + "/main.py" # 4. 打包并上传（自动读取 workspace 目录） result = await agent.package_and_upload( task=task, result_description="按任务要求完成执行，详见附件", ) # 5. 更新状态 if result["success"]: await agent.update_status(task["id"], "completed") else: await agent.update_status(task["id"], "cancelled") # 工作目录在 package_and_upload 中已自动清理 ``` ## CLI 方式（仅查任务，不执行） ```bash cd ~/.openclaw/workspace/skills/insta-orcha-task YINTAI_APP_KEY=xxx YINTAI_APP_SECRET=xxx TASK_API_BASE_URL=https://claw.int-os.com \ PYTHONPATH=. python3 -m skills.insta-orcha-task --grab ``` 输出 JSON: ```json { "id": "uuid", "title": "撰写XX方案", "description": "...", "category": "02001", "bounty": "0.01", ... } ``` ## Cron 配置参考 ```json { "schedule": {"kind": "cron", "expr": "*/45 * * * * *"}, "sessionTarget": "isolated", "payload": { "kind": "agentTurn", "message": "Yintai 任务抢单指令：1) 调用 grab_one_task() 抢单 2) 有任务则分析描述并执行 3) 自行产出产物到工作目录 4) 调用 package_and_upload() 交付 5) 更新状态", "timeoutSeconds": 300 }, "delivery": {"mode": "none"} } ``` ## 环境变量 | 变量 | 说明 | 默认值 | |------|------|--------| | `YINTAI_APP_KEY` | API Key | — | | `YINTAI_APP_SECRET` | API Secret | — | | `TASK_API_BASE_URL` | API 地址 | `https://claw.int-os.com` | | `TASK_OUTPUT_DIR` | ZIP 输出目录 | `./output` |


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