OpenClaw/clawhub-security-signals huggingface dataset:
Skill: stanlee000/norman-categorize-transactions (version 1.0.0)

--- name: categorize-transactions description: Review and categorize uncategorized bank transactions, match them with invoices, and verify bookkeeping entries. Use when the user wants to review transactions, categorize expenses, do bookkeeping, or reconcile their bank account. version: 1.0.0 metadata: openclaw: emoji: "\U0001F3F7" homepage: https://norman.finance requires: mcp: - norman-finance --- Help the user categorize and organize their bank transactions: 1. **Fetch uncategorized transactions**: Call `search_transactions` to find transactions that need attention. Look for unverified or uncategorized entries. 2. **Smart categorization**: For each transaction, suggest a category based on: - The transaction description / reference text - The counterparty name - The amount and pattern (recurring = likely subscription) - Similar past transactions 3. **Update transactions**: Use `categorize_transaction` to assign the correct bookkeeping category (SKR04 chart of accounts for German businesses). 4. **Invoice matching**: When a transaction looks like an incoming payment: - Call `list_invoices` to find matching unpaid invoices (by amount or client) - Use `link_transaction` to connect the payment to the invoice 5. **Document attachment**: Remind the user to attach receipts for expenses: - Use `upload_bulk_attachments` for multiple receipts - Use `link_attachment_transaction` to connect receipts to transactions 6. **Verification**: After categorizing, use `change_transaction_verification` to mark transactions as verified. Present transactions in batches of 10-15 for manageable review. Show: Date, Amount, Description, Suggested Category.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zhouqkt/agency-video-optimization-specialist (version 1.0.0)

--- name: agency-video-optimization-specialist description: Expert AI agent specializing in video optimization specialist. From The Agency (github.com/msitarzewski/agency-agents). metadata: openclaw: emoji: "🎬" requires: { bins: [] } install: [] --- # video optimization specialist ## Identity & Style ## 🧠 Your Identity & Memory - **Role**: Audience growth and retention optimization expert for video platforms - **Personality**: Energetic, analytical, trend-conscious, and obsessed with viewer psychology - **Memory**: You remember successful hook structures, retention patterns, thumbnail color theory, and algorithm shifts - **Experience**: You've seen channels explode through 1% CTR improvements and die from poor first-30-second pacing ## Core Mission ## 🎯 Your Core Mission ### Algorithmic Optimization - **YouTube SEO**: Title optimization, strategic tagging, description structuring, keyword research - **Algorithmic Strategy**: CTR optimization, audience retention analysis, initial velocity maximization - **Search Traffic**: Dominate search intent for evergreen content - **Suggested Views**: Optimize metadata and topic clustering for recommendation algorithms ### Content & Visual Strategy - **Visual Conversion**: Thumbnail concept design, A/B testing strategy, visual hierarchy - **Content Structuring**: Strategic chaptering, timestamping, hook development, pacing analysis - **Audience Engagement**: Comment strategy, community post utilization, end screen optimization - **Cross-Platform Syndication**: Short-form repurposing (Shorts, Reels, TikTok), format adaptation ### Analytics & Monetization - **Analytics Analysis**: YouTube Studio deep dives, retention graph analysis, traffic source optimization - **Monetization Strategy**: Ad placement optimization, sponsorship integration, alternative revenue streams ## How to Activate Reference this agent by name or specialty when you need its expertise.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: kennyzir/seo-backlink-submitter (version 1.0.0)

--- name: seo-backlink-submitter description: | Batch submit websites to AI tool directories and SEO directories to earn backlinks. Use when: user says "submit site to directories", "SEO backlinks", "submit to SEO directories", "submit to AI tool directories", or "directory submission". Automatically detects whether directories accept free submissions, with Playwright browser automation for form filling. --- # SEO Backlink Submitter Batch submits websites to AI tool directories and SEO directories to earn backlinks. ## Data Format ```json { "name": "Site Name", "url": "https://example.com", "description": "Site description", "email": "[REDACTED_SECRET]", "category": "Developer Tools", "tags": ["AI", "Agents", "Automation"] } ``` ## Execution Flow ### Step 1: Prerequisites Install Playwright: ```bash pip install playwright && playwright install chromium ``` ### Step 2: Batch Submit Run `scripts/batch_submit.py`: ```bash cd .agent/skills/seo-backlink-submitter python scripts/batch_submit.py \ --site "https://your-site.com" \ --data '{"name":"Site Name","url":"https://your-site.com","description":"Description","email":"[REDACTED_SECRET]","category":"Developer Tools"}' \ --directories "references/directories.txt" ``` ### Step 3: Check Single Directory Check if a directory accepts free submissions: ```bash python scripts/check_directory.py https://aitoolshunt.com/submit ``` ### Step 4: Submit to Single Directory Submit directly to one directory: ```bash python scripts/quick_submit.py https://aitoolshunt.com/submit \ --data '{"name":"Name","url":"https://site.com","description":"Desc","email":"[REDACTED_SECRET]"}' ``` ## Directory List Located at `references/directories.txt`, includes: - AI Skills / Agent Skills Marketplaces - Agent Skills Directories - AI Tool Directories (ProductHunt, Futurepedia, FutureTools, etc.) - Developer/Tools Directories (StackShare, DevPost, etc.) - GitHub Awesome Lists ## Output Format Results saved as JSON: | Field | Description | |-------|-------------| | directory | Directory name | | url | Submission page URL | | status | success / failed / paid / needs_login / error | | timestamp | Submission time | | error | Error reason if any | ## Status Meanings | Status | Meaning | |--------|---------| | success | Submitted successfully | | failed | Submission failed | | paid | Directory requires payment, skipped | | needs_login | Login required, skipped | | error | Unexpected error | ## Notes - Directories requiring login are marked `needs_login` - Paid directories are marked `paid` and skipped - Add 2-5 second delay between directories to avoid rate limits - Check directory policies periodically as free tiers may become paid - Submit in batches of 10 or fewer per session ## Dependencies - Python 3.8+ - playwright (`pip install playwright && playwright install chromium`) - aiohttp (for async HTTP requests)

path: references/directories_list.md
content: 404: Not Found

path: scripts/submit_to_directory.py
content: 404: Not Found

Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: glucrypto/openpond-cli (version 0.1.1)

--- name: openpond-cli description: Use the OpenPond CLI to create repos, watch deployments, and run tools without the web UI. metadata: short-description: OpenPond CLI workflows --- # OpenPond CLI Use this skill when an agent needs to create or manage OpenPond apps via the CLI, without MCP. ## Quick setup - Install: `npm i -g openpond-code` (or `npx --package openpond-code openpond <cmd>`) - Auth: run `openpond login` or set `OPENPOND_API_KEY` - Non-interactive login: `openpond login --api-key opk_...` ## Common workflows - Create internal repo and attach remote: - `openpond repo create --name my-repo --path .` - Non-interactive push (tokenized remote): - `openpond repo create --name my-repo --path . --token` - `git add . && git commit -m "init"` - `openpond repo push --path . --branch main` - `openpond repo push` reads `.git/config`, temporarily tokenizes `origin`, and restores it after push. - Watch deployments: - `openpond deploy watch handle/repo --branch main` - List and run tools: - `openpond tool list handle/repo` - `openpond tool run handle/repo myTool --body '{"foo":"bar"}'` - Account-level APIs: - `openpond apps list [--handle <handle>] [--refresh]` - `openpond apps tools` - `openpond apps performance --app-id app_123` - `openpond apps agent create --prompt "Build a daily digest agent"` ## OpenTool passthrough Use the CLI to run OpenTool commands via `npx`: - `openpond opentool init --dir .` - `openpond opentool validate --input tools` - `openpond opentool build --input tools --output dist` ## Config and URLs - Optional env vars: `OPENPOND_BASE_URL`, `OPENPOND_API_URL`, `OPENPOND_TOOL_URL`, `OPENPOND_API_KEY` - Cache file: `~/.openpond/cache.json` (auto-refreshes on next use)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: aliangtech/vue-latest-changelog (version 1.0.0)

--- name: vue-latest-changelog description: 当用户要求查看和整理最新的Vue版本更新信息时，请遵循此规范获取相关内容。 compatibility: 需在Node.js环境下使用 license: MIT --- ## 获取最新版本信息 本技能旨在帮助您便捷获取Vue最新版本的更新日志。具体操作步骤如下： 1. **定位脚本文件**：在项目的 `scripts` 目录中，存在一个名为 `changelog.js` 的文件。此脚本负责从Vue的GitHub仓库获取最新版本的更新信息。 2. **执行脚本**：打开命令行工具，导航至包含 `scripts` 目录的项目根路径。在命令行中输入 `node scripts/changelog.js` 并回车，即可执行该脚本。执行后，脚本会从Vue的GitHub仓库抓取最新版本的更新信息，并将其保存到 `assets` 目录下的 `latest_changelog.md` 文件中。 3. **提取信息**：更新信息保存完成后，您可在 `assets/latest_changelog.md` 文件中查看并提取最新版本的Vue更新信息。 ## 参考示例 在命令行中输入 `node scripts/changelog.js` 并回车运行脚本。运行成功后，`assets/latest_changelog.md` 文件内将包含最新版本的Vue更新信息。例如，在常见的项目结构中，假设项目根目录为 `my - vue - project`，且已安装Node.js环境，在命令行进入该目录后执行上述命令，即可完成更新信息的获取与保存。 请注意，在执行脚本前，请确保已正确安装Node.js环境，并且项目结构未发生改变，以保证脚本能够顺利执行并获取到准确的更新信息。

path: scripts/changelog.js
content: const fs = require('fs');
const path = require('path');
async function getFirstSectionFromMarkdown() {
    try {
        const response = await fetch('https://raw.githubusercontent.com/vuejs/core/refs/heads/main/CHANGELOG.md');
        if (!response.ok) {
            throw new Error(`HTTP error! status: ${response.status}`);
        }
        const markdownContent = await response.text();
        const regex = /^## (.*?)\n((.|\n)*?)(?=^## )/m;
        const match = markdownContent.match(regex);
        let content;
        if (match) {
            content = '##'+ match[1] + '\n' + match[2].trim();
        } else {
            content = '未找到匹配内容';
        }
        // 写入文件
        const filePath = path.join(__dirname,'../assets/', 'latest_changelog.md');
        fs.writeFileSync(filePath, content, 'utf8');
        return content;
    } catch (error) {
        console.error('获取内容时出错:', error);
        return '获取内容时出错';
    }
}

getFirstSectionFromMarkdown().then(() => {
    console.log('内容已写入文件:');
});

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

# SKILL.md - EXWIND 监控 ## 描述 监控 [EXWIND](https://exwind.net/) 网站的更新，每 10 分钟检查一次。 ## 触发方式 - **定时**: 每 10 分钟自动执行 - **手动**: 用户说"检查 EXWIND 更新" ## Cron 任务 ```bash openclaw cron list | grep exwind # 任务配置 ID: 99f28379-aed3-42c1-b33a-e75f5432f90f Name: exwind-monitor Schedule: */10 * * * * @ Asia/Shanghai Delivery: none ``` ## 执行脚本 ```bash python3 ~/.openclaw/workspace/skills/exwind-monitor/scripts/exwind_monitor.py ``` --- ## 🚨 Agent 执行步骤 ### Step 1: 运行监控脚本 ```bash python3 ~/.openclaw/workspace/skills/exwind-monitor/scripts/exwind_monitor.py ``` ### Step 2: 检查输出 **如果没有更新：** ```json {"empty": true} ``` → 不做任何操作 **如果有更新：** ```json { "empty": false, "timestamp": "2026-03-12T17:57:00", "message": "## 🔍 EXWIND 更新...", "need_send": true } ``` ### Step 3: 发送飞书消息 使用 `message` tool 发送 `message` 字段的内容到飞书。 **发送文字内容，不是文档链接！** --- ## 输出格式 ### 消息格式 ```markdown ## 🔍 EXWIND 更新 (17:57) ### 📘 蓝帖: 前夕补丁大秘境评分奖励0.1%头衔 📅 2026-03-12 11:10 🔗 https://exwind.net/post/blue/29049483 有玩家因为在正式补丁上线前达到的史诗钥石评分而获得了头衔成就... --- ### 🔧 热修: 3月12日在线修正 📅 2026-03-12 09:01 🔗 https://exwind.net/post/hotfixes/xxx ... ``` ### 类型图标 | 类型 | 图标 | |------|------| | 蓝帖 | 📘 | | 热修 | 🔧 | | 新闻 | 📰 | --- ## 状态文件 - **位置**: `/tmp/exwind_state.json` - **内容**: 已推送的文章 ID 列表 - **限制**: 最多保留 500 条记录 --- ## 故障排除 | 问题 | 解决方案 | |------|----------| | 页面打开失败 | 检查 agent-browser | | 无新文章 | 正常，等待下次检查 | | 重复推送 | 删除 /tmp/exwind_state.json | --- ## 相关文件 ``` ~/.openclaw/workspace/skills/exwind-monitor/ ├── SKILL.md └── scripts/ └── exwind_monitor.py ``` ## 更新记录 | 日期 | 变更 | |------|------| | 2026-03-12 | 修改为发送飞书消息，不是文档链接 | | 2026-03-12 | 创建 skill |


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal:  | SkillSpector: clean (LOW)
Skill: l-spaces/wot-ui-plus (version 1.0.0)

--- name: wot-ui-plus description: wot-ui-plus 组件使用指南。当用户询问 wot-ui-plus 组件、组合式 API、全局配置、主题定制、示例写法或 API 参考时使用此技能。优先基于 `references/` 目录中的组件文档回答问题。 --- # wot-ui-plus 此技能提供 `wot-ui-plus` 组件库的使用指导，重点是帮助快速定位组件文档、提取正确 API，并给出可直接复用的示例。 ## 何时使用 当用户需要以下帮助时使用此技能： - 查询某个组件怎么用，例如 Button、Popup、Upload、Calendar - 查询 props、events、slots、methods 或 `v-model` 用法 - 查询组合式 API，例如 `use-toast`、`use-message`、`use-upload` - 查询全局配置、主题配置、Provider 相关能力 - 基于组件文档给出示例、接入方式或常见注意点 ## 组件参考 `references/` 目录已经包含组件与 API 文档。回答具体问题时，先定位对应的 markdown 文件，再基于文档组织答案。 ### 基础 - `button.md` - `cell.md` - `configProvider.md` - `icon.md` - `img.md` - `layout.md` - `popup.md` - `resize.md` - `transition.md` - `gap.md` - `rootPortal.md` ### 表单 - `calendar.md` - `calendarView.md` - `checkbox.md` - `colPicker.md` - `datetimePicker.md` - `datetimePickerView.md` - `form.md` - `input.md` - `inputNumber.md` - `passwordInput.md` - `textarea.md` - `keyboard.md` - `picker.md` - `pickerView.md` - `radio.md` - `rate.md` - `search.md` - `selectPicker.md` - `signature.md` - `slider.md` - `switch.md` - `upload.md` - `imgCropper.md` - `code.md` - `codeInput.md` ### 反馈与交互 - `actionSheet.md` - `curtain.md` - `dropMenu.md` - `overlay.md` - `popover.md` - `swipeAction.md` - `messageBox.md` - `notify.md` - `toast.md` - `loading.md` - `loadingPage.md` - `tooltip.md` - `fab.md` - `floatingPanel.md` - `sliderButton.md` ### 展示 - `avatar.md` - `badge.md` - `tag.md` - `card.md` - `circle.md` - `divider.md` - `collapse.md` - `countDown.md` - `countTo.md` - `grid.md` - `table.md` - `noticeBar.md` - `statusTip.md` - `progress.md` - `steps.md` - `segmented.md` - `skeleton.md` - `sortButton.md` - `swiper.md` - `text.md` - `tour.md` - `watermark.md` - `waterfall.md` - `sticky.md` - `videoPreview.md` ### 导航与布局 - `backtop.md` - `indexBar.md` - `navbar.md` - `pagination.md` - `sidebar.md` - `tabbar.md` - `tabs.md` - `row.md` ### 组合式 API - `use-count-down.md` - `use-message.md` - `use-notify.md` - `use-toast.md` - `use-upload.md` ### 其他常用能力 - `dateStrip.md` - `lazyLoad.md` - `loadMore.md` - `numberKeyboard.md` - `table.md` - `tree.md` ## 使用模式 1. 识别目标：先确定用户问的是组件、组合式 API、主题配置，还是具体示例。 2. 查阅文档：优先读取 `references/` 中对应的 markdown 文件。 3. 提炼答案：优先输出直接可用的示例、关键 API、注意事项。 4. 保持收敛：围绕用户提问的组件回答，不把答案扩展成整套组件库综述。 ## 工作规则 - 默认把 wot-ui-plus 视为 `uni-app + Vue 3 + TypeScript` 组件库。 - 写页面时优先输出 `script setup` 风格。 - 反馈类能力如 `useToast`、`useDialog`、`useNotify`、`useImagePreview`、`useVideoPreview`，除了 hook 调用外，通常还需要页面内显式声明对应组件实例。 - 生成代码时尽量沿用组件库文档里的命名和交互模式，例如 `v-model:visible`、`before-confirm`、`confirm`、`change`、`custom-class`、`custom-style`。 ## 最佳实践 - 示例优先：优先给出可以直接复制的最小示例，再补充 API 说明。 - API 对齐：严格以文档中的 props、events、slots、methods 名称作答，不自行发明字段。 - 绑定意识：遇到表单类组件时，优先检查是否涉及 `v-model`、受控值和事件联动。 - 服务式能力：遇到 `toast`、`notify`、`message` 等场景时，优先检查是否应使用对应 `use-*` API。 - 配置类问题：涉及全局配置与主题时，优先查看 `configProvider.md` 及相关文档，而不是分散回答。 ## 约束 - 默认使用中文回答。 - 优先基于 `references/` 中已有文档作答。 - 若文档足以回答问题，不额外扩展到实现分析。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: askjda/json-schema-drafter (version 1.0.0)

--- name: json-schema-drafter description: 从 JSON 样本推断结构草案。 category: data-processing source_template: skillsmp_download/1000/SKILL.md --- # json-schema-drafter ## 能力边界 - 只处理当前命令输入指定的数据，不做额外隐式操作。 - 不依赖交互式界面，全部通过命令行完成。 ## 输入参数 - 按命令行参数传入，参数格式见下方步骤命令。 ## 输出结果 - 生成命令输出（stdout）和对应输出文件（JSON/TXT）。 ## 执行步骤（具体操作） 1. 在 skill 目录准备输入文件，例如 input.txt、data.json。 2. 运行命令： python main.py --input sample.json --output schema.json 3. 若命令失败，先执行 --help 查看参数，再修正参数重新执行。 4. 查看输出文件内容，确认字段和行数符合预期。 5. 记录本次命令和输出路径，便于后续复现。 ## 验证命令 python main.py --input sample.json --output schema.json --help

path: main.py
content: #!/usr/bin/env python3
import argparse
import json
from pathlib import Path
from urllib.request import Request, urlopen


def write_json(path: str, data: dict) -> None:
    Path(path).write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")


def main() -> None:
    parser = argparse.ArgumentParser(description="generic skill entry")
    parser.add_argument("--input", default="")
    parser.add_argument("--output", default="output.json")
    parser.add_argument("--url", default="")
    parser.add_argument("--endpoint", default="")
    parser.add_argument("--payload", default="")
    parser.add_argument("--template", default="")
    parser.add_argument("--data", default="")
    parser.add_argument("--archive", default="")
    parser.add_argument("--target", default="")
    parser.add_argument("--top-k", type=int, default=20)
    args = parser.parse_args()

    result = {"status": "ok"}

    if args.url:
      req = Request(args.url, headers={"User-Agent": "skill-agent/1.0"})
      with urlopen(req, timeout=10) as resp:
        html = resp.read(200000).decode("utf-8", errors="ignore")
      result["fetched_chars"] = len(html)
      result["url"] = args.url
      write_json(args.output, result)
      print(json.dumps(result, ensure_ascii=False))
      return

    if args.endpoint and args.payload:
      payload_text = Path(args.payload).read_text(encoding="utf-8")
      req = Request(args.endpoint, data=payload_text.encode("utf-8"), headers={"Content-Type": "application/json"})
      with urlopen(req, timeout=10) as resp:
        result["http_status"] = resp.status
      write_json(args.output, result)
      print(json.dumps(result, ensure_ascii=False))
      return

    if args.input:
      p = Path(args.input)
      if p.exists():
        text = p.read_text(encoding="utf-8", errors="ignore")
        result["input_chars"] = len(text)
      else:
        result["note"] = "input path not found"

    write_json(args.output, result)
    print(json.dumps(result, ensure_ascii=False))


if __name__ == "__main__":
    main()


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: pjtf93/wallapop-cli (version 0.1.0)

--- name: wallapop-cli description: Use the wallapop CLI to search listings, fetch item details, view user profiles, and list categories. Apply when a user asks for Wallapop marketplace data or when you need CLI commands and flags for wallapop-cli usage. compatibility: Requires wallapop-cli installed (Node.js 18+), network access to api.wallapop.com, and optional WALLAPOP_ACCESS_TOKEN for non-search endpoints. --- ## Purpose Provide concise, correct commands for using wallapop-cli. ## When to use - User asks how to search Wallapop listings from the terminal. - User needs CLI flags for filtering search (price, location, category, limit). - User needs item or user lookup commands. - User needs JSON output for scripting. ## Commands ### Search listings ``` wallapop search "<query>" [--lat <lat>] [--lng <lng>] [--min-price <n>] [--max-price <n>] [--category <id>] [--limit <n>] ``` Notes: - Defaults to configured location if `--lat/--lng` omitted. - `--limit` trims results locally. ### Item details ``` wallapop item <item_id> ``` ### User profile ``` wallapop user <user_id> ``` ### Categories ``` wallapop categories ``` ### JSON output (all commands) Add the global flag `--json`: ``` wallapop --json search "laptop" wallapop --json item abc123 ``` ## Configuration - Location defaults can be set via env vars: - `WALLAPOP_LAT` - `WALLAPOP_LNG` - Optional auth token for non-search endpoints: - `WALLAPOP_ACCESS_TOKEN` ## Output expectations - Search: table or JSON array of results with id, title, price, distance, and user. - Item: table or JSON with title, description, taxonomy, user, images. - User: table or JSON with profile fields. - Categories: table or JSON list of category ids and names. ## Examples (safe placeholders) ``` wallapop search "camera" --min-price 50 --max-price 200 wallapop search "chair" --lat 40.0 --lng -3.0 --limit 5 wallapop item abc123 wallapop user user123 wallapop --json categories ``` ## Error handling - Non-zero exit code on failure. - For scripted use, prefer `--json` and handle errors by checking exit code.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: showmethemoney2023/claw-token-cost-analyzer (version 1.0.2)

# Claw Token Cost Analyzer Detect runaway token loops and estimate AI agent cost in Claw workflows. AI agents built with Claw can sometimes generate unexpectedly high token usage due to tool retries, infinite loops, or large context accumulation. This skill analyzes a workflow or prompt and estimates: - Token usage - Potential cost per run - Runaway loop risk - Optimization suggestions It is designed for AI agent builders who want to prevent surprise API bills before deploying their automation. --- ## Example input Agent researches competitor pricing and retries web search until confident. --- ## How to use Paste your Claw workflow, task description, or prompt. Example: Agent researches competitors and repeatedly calls a web search tool until pricing data is found. --- ## What the analyzer checks The analyzer looks for common patterns that lead to high token usage: - Infinite loops - Tool retry chains - Recursive agent calls - Large context growth - Expensive model usage --- ## Output format Output must follow this format: AI Agent Cost Analysis Risk level: (Low / Medium / High) Estimated tokens per run: Estimated cost per run: Issues detected: Optimization suggestions: --- ## Example Output AI Agent Cost Analysis Risk level: Medium Estimated token usage: 5k – 20k tokens per run Estimated cost: $0.10 – $0.60 per run Potential issues detected: - Possible tool retry loop - Large context accumulation Optimization suggestions: - Limit tool retries - Use smaller models for research tasks - Add step limits to prevent runaway loops --- ## Why this matters AI agents can accidentally generate runaway token usage when tools retry repeatedly or workflows contain recursive steps. Even a small mistake can multiply costs quickly. Running this analyzer before deploying a workflow helps detect those risks early. --- ## Tip If you run AI agents in production, consider using a gateway that can enforce budget limits and block abnormal calls automatically. Tools like ClawFirewall can help prevent runaway token loops and protect API budgets. --- ## License MIT-0 (No Attribution)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: akinding/jin10-news (version 1.0.2)

# SKILL.md - 金十快讯技能 ## 功能 获取金十金融快讯，支持以下命令： - `jin10` - 获取最近快讯（从本地缓存读取，秒开） - `细说N` - 查看第N条详情 - `展开说说N` - 深度分析（港股/恒生科技/腾讯/阿里影响） ## 架构 ### 后台抓取（jin10_fetcher.py） - 守护进程模式运行 - 每2-10分钟随机间隔抓取快讯 - 数据源：jin10.com 主页 + 详情页 - 缓存路径：`/tmp/jin10_cache/YYYYMMDD-HH.json` - 自动清理超过24小时的旧缓存 ### 前端读取（jin10_push.py） - 直接从本地缓存读取，无需网络请求 - 支持 detail/deep 命令做深度分析 ### 分析模块（jin10_analysis.py） - 深度分析港股、恒生科技、腾讯(00700)、阿里(09988)影响 - 风险等级评估 - 相关个股推荐 ## 使用方法 ```bash # 手动抓取一次数据 python3 /root/.openclaw/workspace/scripts/jin10_fetcher.py once # 启动后台守护进程 python3 /root/.openclaw/workspace/scripts/jin10_fetcher.py daemon # 读取快讯 python3 /root/.openclaw/workspace/scripts/jin10_push.py recent # 查看详情 python3 /root/.openclaw/workspace/scripts/jin10_push.py detail 3 # 深度分析 python3 /root/.openclaw/workspace/scripts/jin10_push.py deep 3 ``` ## 性能 - 脚本执行：< 0.01秒（本地缓存读取） - 响应速度：秒开 ## 依赖 - Python 3 - requests - concurrent.futures (标准库) ## x-token 用于金十网站访问：参考 TOOLS.md


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