OpenClaw/clawhub-security-signals huggingface dataset:
Skill: comicstrip/podcastindex (version 1.0.0)

name: podcast-index description: Access and search podcast information using the Podcast Index API, including searching for podcasts, episodes, and retrieving details. homepage: https://podcastindex.org/api/docs metadata: {“openclaw”:{“requires”:{“env”:[“PODCASTINDEX_API_KEY”,“PODCASTINDEX_API_SECRET”]},“primaryEnv”:“PODCASTINDEX_API_KEY”,“emoji”:“🎙️”}} This skill allows you to interact with the Podcast Index API to search for podcasts, retrieve podcast and episode details, and more. Use this when the user asks for podcast recommendations, episode information, or searches related to podcasts. Prerequisites • Ensure PODCASTINDEX_API_KEY and PODCASTINDEX_API_SECRET are set in the environment or config. • All requests must be authenticated with specific headers. • Base URL: https://api.podcastindex.org/api/1.0 Authentication To authenticate a request: 1 Get the current Unix timestamp: unixTime = Math.floor(Date.now() / 1000) 2 Compute the SHA-1 hash: hash = crypto.createHash('sha1').update(PODCASTINDEX_API_KEY + PODCASTINDEX_API_SECRET + unixTime.toString()).digest('hex') 3 Include these headers in every request: ◦ User-Agent: OpenClaw/1.0 (or a suitable identifier) ◦ X-Auth-Key: [PODCASTINDEX_API_KEY] ◦ X-Auth-Date: [unixTime] ◦ Authorization: [hash] Use the built-in HTTP request tool (e.g., fetch or http_get) to send GET requests with these headers. If executing code, use Node.js modules like ‘node-fetch’ and ‘crypto’. Key Endpoints and Usage • Search Podcasts by Term: Use when searching for podcasts by keywords in title, author, or owner. ◦ Endpoint: GET /search/byterm?q=[query]&[optional params like max=10, fulltext=true] ◦ Example: To find podcasts about “AI”, request /search/byterm?q=AI • Search Podcasts by Title: Use for exact title matches. ◦ Endpoint: GET /search/bytitle?q=[query] • Search Episodes by Person: Use to find episodes featuring a specific person. ◦ Endpoint: GET /search/byperson?q=[person name] • Get Podcast by Feed ID: Use to retrieve full podcast details by its Podcast Index ID. ◦ Endpoint: GET /podcasts/byfeedid?id=[feedId] • Get Podcast by Feed URL: Use to retrieve details by RSS feed URL. ◦ Endpoint: GET /podcasts/byfeedurl?url=[encoded feed URL] • Get Episodes by Feed ID: Use to get a list of episodes for a podcast. ◦ Endpoint: GET /episodes/byfeedid?id=[feedId]&[max=10] • Get Episode by ID: Use for single episode metadata. ◦ Endpoint: GET /episodes/byid?id=[episodeId] • Trending Podcasts: Use for popular podcasts. ◦ Endpoint: GET /podcasts/trending?[cat=technology&max=10] • Recent Episodes: Use for newly released episodes. ◦ Endpoint: GET /recent/episodes?max=10 Always parse the JSON response and summarize relevant information for the user. If the request fails, check authentication and retry. Add ?pretty to URLs for readable output during testing.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: soponcd/timeflow-requesting-code-review (version 1.0.0)

--- name: requesting-code-review description: Use when completing tasks, implementing major features, or before merging to verify work meets requirements homepage: https://github.com/soponcd/timeflow-skills/tree/main/teams/skills/requesting-code-review metadata: clawdbot: emoji: 👀 --- # Requesting Code Review Dispatch superpowers:code-reviewer subagent to catch issues before they cascade. **Core principle:** Review early, review often. ## When to Request Review **Mandatory:** - After each task in subagent-driven development - After completing major feature - Before merge to main **Optional but valuable:** - When stuck (fresh perspective) - Before refactoring (baseline check) - After fixing complex bug ## How to Request **1. Get git SHAs:** ```bash BASE_SHA=$(git rev-parse HEAD~1) # or origin/main HEAD_SHA=$(git rev-parse HEAD) ``` **2. Dispatch code-reviewer subagent:** Use Task tool with superpowers:code-reviewer type, fill template at `code-reviewer.md` **Placeholders:** - `{WHAT_WAS_IMPLEMENTED}` - What you just built - `{PLAN_OR_REQUIREMENTS}` - What it should do - `{BASE_SHA}` - Starting commit - `{HEAD_SHA}` - Ending commit - `{DESCRIPTION}` - Brief summary **3. Act on feedback:** - Fix Critical issues immediately - Fix Important issues before proceeding - Note Minor issues for later - Push back if reviewer is wrong (with reasoning) ## Example ``` [Just completed Task 2: Add verification function] You: Let me request code review before proceeding. BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}') HEAD_SHA=$(git rev-parse HEAD) [Dispatch superpowers:code-reviewer subagent] WHAT_WAS_IMPLEMENTED: Verification and repair functions for conversation index PLAN_OR_REQUIREMENTS: Task 2 from docs/plans/deployment-plan.md BASE_SHA: a7981ec HEAD_SHA: 3df7661 DESCRIPTION: Added verifyIndex() and repairIndex() with 4 issue types [Subagent returns]: Strengths: Clean architecture, real tests Issues: Important: Missing progress indicators Minor: Magic number (100) for reporting interval Assessment: Ready to proceed You: [Fix progress indicators] [Continue to Task 3] ``` ## Integration with Workflows **Subagent-Driven Development:** - Review after EACH task - Catch issues before they compound - Fix before moving to next task **Executing Plans:** - Review after each batch (3 tasks) - Get feedback, apply, continue **Ad-Hoc Development:** - Review before merge - Review when stuck ## Red Flags **Never:** - Skip review because "it's simple" - Ignore Critical issues - Proceed with unfixed Important issues - Argue with valid technical feedback **If reviewer wrong:** - Push back with technical reasoning - Show code/tests that prove it works - Request clarification See template at: requesting-code-review/code-reviewer.md


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: mikeclaw007/chinese-restaurants (version 0.1.0)

--- name: "Nearby Chinese Restaurants" description: "Find nearby Chinese restaurants. Invoke when user asks for Chinese food near me." --- # Nearby Chinese Restaurants 用途 - 提供用户当前位置附近的 Chinese Restaurants 列表 - 统一返回字段与查询行为，便于前端/接口复用 - 支持常见筛选（评分、价格等级、是否营业、关键词等） 触发条件 - 用户询问“Chinese Restaurants 附近 / Chinese food near me / nearby Chinese restaurant” - 用户提供定位/城市并希望“找/推荐/看看附近的 Chinese Restaurants” 输入参数 - location: 经纬度 { lat, lng }，必填 - radius_meters: 查询半径，默认 3000 - limit: 返回数量上限，默认 20，最大 50 - filters: 可选筛选（open_now、min_rating、price_level、keywords 等） 响应字段 - 统一参见 STANDARD_RESPONSE.md - 本技能 category 固定为 "chinese-restaurants" 错误码 - INVALID_LOCATION: 经纬度不合法 - RADIUS_TOO_LARGE: 超过最大查询半径 - PROVIDER_UNAVAILABLE: 数据源不可用 - RATE_LIMITED: 触发速率限制 示例 - 输入: { location: { lat: 30.123, lng: 120.456 }, radius_meters: 2500, limit: 10, filters: { open_now: true } } - 输出: 标准 POI 列表（见 STANDARD_RESPONSE.md） 隐私与速率限制 - 仅在用户授权定位后查询 - 避免保留精确坐标，必要时进行网格化模糊处理 - 建议对同一 location+category+radius 做短时缓存以降低频率


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: 52yuanchangxing/evidence-gap-mapper (version 1.0.0)

--- name: evidence-gap-mapper version: 1.0.0 description: "在报告、方案或演示稿中定位结论先行但证据不足的位置，并给出补证优先级。；use for evidence, gap-analysis, research workflows；do not use for 伪造数据支撑结论, 忽略高风险假设." author: OpenClaw Skill Bundle homepage: https://example.invalid/skills/evidence-gap-mapper tags: [evidence, gap-analysis, research, quality] user-invocable: true metadata: {"openclaw":{"emoji":"🕳️","requires":{"bins":["python3"]},"os":["darwin","linux","win32"]}} --- # 证据缺口绘图师 ## 你是什么 你是“证据缺口绘图师”这个独立 Skill，负责：在报告、方案或演示稿中定位结论先行但证据不足的位置，并给出补证优先级。 ## Routing ### 适合使用的情况 - 找出这份报告里证据不足的地方 - 给我一个补证优先级 - 输入通常包含：文稿、结论、现有证据 - 优先产出：主要结论、证据现状、下一步 ### 不适合使用的情况 - 不要伪造数据支撑结论 - 不要忽略高风险假设 - 如果用户想直接执行外部系统写入、发送、删除、发布、变更配置，先明确边界，再只给审阅版内容或 dry-run 方案。 ## 工作规则 1. 先把用户提供的信息重组成任务书，再输出结构化结果。 2. 缺信息时，优先显式列出“待确认项”，而不是直接编造。 3. 默认先给“可审阅草案”，再给“可执行清单”。 4. 遇到高风险、隐私、权限或合规问题，必须加上边界说明。 5. 如运行环境允许 shell / exec，可使用： - `python3 "{baseDir}/scripts/run.py" --input <输入文件> --output <输出文件>` 6. 如当前环境不能执行脚本，仍要基于 `{baseDir}/resources/template.md` 与 `{baseDir}/resources/spec.json` 的结构直接产出文本。 ## 标准输出结构 请尽量按以下结构组织结果： - 主要结论 - 证据现状 - 缺口列表 - 补证优先级 - 可降级表述 - 下一步 ## 本地资源 - 规范文件：`{baseDir}/resources/spec.json` - 输出模板：`{baseDir}/resources/template.md` - 示例输入输出：`{baseDir}/examples/` - 冒烟测试：`{baseDir}/tests/smoke-test.md` ## 安全边界 - 适合作为质检器使用。 - 默认只读、可审计、可回滚。 - 不执行高风险命令，不隐藏依赖，不伪造事实或结果。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: camilla-oclm/finclaws (version 1.0.1)

--- name: orchestrate description: > Main orchestration skill for a Python/finance app team with full-stack web capability. Routes tasks to sub-agents Simons, Carmen, and Ada. Free mode is on by default — check MEMORY.md for current state. --- # Orchestration Skill You are Claw, the orchestrator. Read `AGENTS.md` for your role, team, and mode state. This file is the entry point for the skill system. ## Reference files (load on demand via `read`) | File | Contents | |---|---| | `skills/orchestrate/ref_latency.md` | Instant-path rules, context hygiene — read first | | `skills/orchestrate/ref_phases.md` | Four phases: Decompose → Tier → Spawn → Synthesise | | `skills/orchestrate/ref_models.md` | Model IDs by tier, free mode table | | `skills/orchestrate/ref_roles.md` | Sub-agent roster, spawn templates, workspace rules | | `skills/orchestrate/ref_patterns.md` | Orchestration patterns and anti-patterns | | `skills/orchestrate/ref_guardrails.md` | Safety, data handling, finance rules | ## Decision flow ``` Incoming message │ ▼ [1] skills/orchestrate/ref_latency.md → instant path? → reply now, STOP │ no ▼ [2] Read MEMORY.md → find "FREE_MODE:" line FREE_MODE: true (or absent) → all spawns use openrouter/stepfun/step-3.5-flash:free FREE_MODE: false → spawns use role defaults in skills/orchestrate/ref_models.md │ ▼ [3] Single-role task, no dependencies? │ yes → spawn that sub-agent (skills/orchestrate/ref_roles.md), STOP │ no ▼ [4] Full phases (skills/orchestrate/ref_phases.md) │ ▼ [5] Synthesise and reply ``` ## Free mode — always check MEMORY.md Before any spawn, confirm current mode: - `FREE_MODE: true` (default) → `model: "openrouter/stepfun/step-3.5-flash:free"`, `thinking: "none"` - `FREE_MODE: false` → use role defaults from `skills/orchestrate/ref_models.md`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: asimons81/agentic-atlas-mcp-builder (version 1.0.0)

--- name: mcp-builder description: | Bootstraps new Model Context Protocol (MCP) servers from a natural language description. Use when the user asks to build an MCP server, create an MCP tool, scaffold an MCP integration, or add MCP capabilities to an existing project. NOT for: general API design, non-MCP tool building, or frontend tasks. version: 1.0.0 author: asimons81 source: https://github.com/asimons81/Agentic-Atlas tags: [mcp, infrastructure, api, typescript, python, tooling] agency_score: 7 --- # MCP Builder Skill Bootstraps new Model Context Protocol servers from natural language descriptions. ## Instructions When the user requests an MCP server or tool: 1. Identify the core functionality from the description 2. Determine the appropriate transport (stdio for CLI, SSE for web) 3. Scaffold a TypeScript or Python MCP server using the official SDK 4. Generate tool definitions from API schemas or describe them manually 5. Include a test harness with example invocations 6. Provide configuration for Claude Code, Cursor, and OpenCode ## Features - TypeScript (recommended) and Python scaffolding - Auto-generates tool definitions from API schemas (OpenAPI, JSON Schema) - STDIO and SSE transport support - Built-in error handling and validation - Test harness with mock LLM calls - Claude Code / Cursor / OpenCode configuration snippets ## Architecture ``` mcp-server/ ├── src/ │ ├── index.ts # Server entry point │ ├── tools.ts # Tool definitions │ └── handlers.ts # Request handlers ├── package.json ├── tsconfig.json ├── README.md └── test/ └── harness.ts # Test harness ``` ## Output Format 1. Project scaffold (all files) 2. Tool definitions with descriptions and input schemas 3. Configuration snippet for Claude Code's `mcpServers` config 4. Test invocation example ## Example ``` User: "Build an MCP server for our internal issue tracker with create, list, and close operations" → Generate: TypeScript MCP server with 3 tools, JSON Schema for each, test harness, Claude Code config ``` ## Dependencies Requires: Node.js 18+, TypeScript, @modelcontextprotocol/sdk


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

--- name: auto-test description: 自动生成单元测试。分析代码逻辑，自动生成 pytest (Python)、JUnit (Java)、Jest (JavaScript) 等测试框架的测试用例。支持覆盖率报告生成。 --- # Auto-Test - 自动单元测试生成 智能自动生成单元测试，提升代码覆盖率，减少手动测试工作量。 ## 核心功能 - 🧪 **自动测试生成** - 分析函数/方法，生成对应测试用例 - 📊 **覆盖率报告** - 集成 pytest-cov, Jacoco, Istanbul 等 - 🔄 **多框架支持** - pytest, unittest, JUnit, Jest, Vitest - 🎯 **边界测试** - 自动生成边界条件、异常测试 - 📝 **测试文档** - 生成测试说明和断言解释 ## 使用场景 - 新功能开发后快速生成测试 - 遗留代码补充测试覆盖 - 重构前确保行为不变 - 代码审查时提供测试证据 ## 快速开始 ```bash # 分析项目并生成测试 python3 scripts/generate-tests.py --path /path/to/project --framework pytest # 生成覆盖率报告 python3 scripts/generate-tests.py --path . --coverage --output coverage.html # 仅分析不生成（预览） python3 scripts/generate-tests.py --path . --dry-run ``` ## 配置选项 | 参数 | 说明 | 默认 | |------|------|------| | `--path` | 项目路径 | `.` | | `--framework` | 测试框架 | `pytest` | | `--coverage` | 生成覆盖率 | `false` | | `--output` | 输出文件/目录 | `./tests/` | | `--dry-run` | 仅预览 | `false` | | `--exclude` | 排除目录 | `node_modules,vendor,target` | ## 支持的语言与框架 | 语言 | 框架 | 状态 | |------|------|------| | Python | pytest, unittest | ✅ 完整 | | Java | JUnit 4/5, TestNG | ✅ 完整 | | JavaScript/TypeScript | Jest, Vitest, Mocha | ✅ 完整 | | Go | testing | ✅ 完整 | | Rust | cargo test | ✅ 完整 | | C# | NUnit, xUnit | 🚧 开发中 | ## 输出示例 ```python # 生成的测试 (pytest) def test_process_order_valid(): """测试有效订单处理""" order = Order(id=1, items=[...], total=100.0) result = process_order(order) assert result.status == "completed" assert result.processed_at is not None def test_process_order_invalid_total(): """测试无效订单总金额""" order = Order(id=2, items=[...], total=-10.0) with pytest.raises(InvalidOrderError): process_order(order) def test_process_order_empty_items(): """测试空购物车""" order = Order(id=3, items=[], total=0.0) with pytest.raises(EmptyCartError): process_order(order) ``` ## 工作流程 1. **代码分析** - 解析 AST，识别函数、类、方法 2. **逻辑提取** - 理解输入、输出、副作用、异常 3. **测试生成** - 生成对应测试框架的测试代码 4. **覆盖率计算** - 运行测试，生成覆盖率报告 5. **结果输出** - 保存测试文件，提供总结 ## 集成建议 - 结合 `pre-commit` hook，提交前自动生成测试 - 与 CI/CD 集成，确保新代码有测试覆盖 - 使用 `--dry-run` 预览，避免覆盖现有测试


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zhangyingzhuangk/auto-workflow-1-0-0 (version 1.0.0)

--- name: auto-workflow description: Builds automation workflows from repetitive tasks. Use when user mentions "automate", "save time", "reduce manual work", or has repeated tasks. --- # Auto Workflow 把重复任务自动化的能力。 ## 能力轮廓 - **输入**：重复性任务/手动操作 - **输出**：自动化工作流 + 执行脚本 - **核心逻辑**：识别 → 抽象 → 自动化 → 测试 ## 工作流 ``` 1. 观察 - 用户在重复做什么？ 2. 抽象 - 这个任务的模式是什么？ 3. 设计 - 怎么自动完成？ 4. 实现 - 写脚本/配置 5. 测试 - 小范围验证 6. 优化 - 迭代改进 ``` ## 示例 用户每周手动发周报： 1. 收集数据（系统状态） 2. 整理成模板 3. 发送邮件 自动化后： - 每周五自动执行 - 收集本周数据 - 生成报告 - 自动发送 ## 思维模式 不是"回答问题"，而是"看到重复→立刻构建自动化" 遇到重复操作时： - 问自己：能否写成脚本？ - 问自己：下次能否自动跑？ - 直接做，不等用户要求

path: _meta.json
content: ownerId: kn7bg3k08h9qgv83bb5e0sh1j98143s7
slug: auto-workflow
version: 1.0.0
publishedAt: 1772364192592

Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: boleyn/ocms-ai-prompt-generator (version 1.0.0)

# AI Prompt Generator - AI 提示词生成器 ## Description 专业 AI 提示词生成工具，帮助用户创建高效、精准的 AI 提示词。内置多种框架和模板，让 AI 输出质量提升 10 倍。 ## Usage ```bash # 生成提示词 /ai-prompt-generator --task "写博客" --model "gpt-4" --style "detailed" # 使用模板 /ai-prompt-generator --template "cot" --topic "数据分析" # 优化已有提示词 /ai-prompt-generator --action "optimize" --input "your-prompt.txt" ``` ### 参数说明 - `--task`: 任务描述 - `--model`: 目标 AI 模型 (gpt-4, claude, gemini, qwen) - `--style`: 提示词风格 (detailed, concise, creative, analytical) - `--template`: 使用模板 (cot, role, few-shot, chain) - `--action`: 操作类型 (generate, optimize, test) ## Pricing - **价格**: ¥3/次 - **计费方式**: 按次收费 - **免费试用**: 前 5 次免费 ## Features - ✅ 多模型适配 - ✅ 框架模板库 - ✅ 质量评分 - ✅ A/B 测试 - ✅ 持续优化

path: README.md
content: # AI Prompt Generator - AI 提示词生成器

🎯 让 AI 更懂你的意图

## 为什么需要好提示词？

好的提示词 = 10 倍更好的 AI 输出

## 内置框架

| 框架 | 适用场景 | 效果提升 |
|------|---------|---------|
| CoT 思维链 | 复杂推理 | +300% |
| Role 角色扮演 | 专业内容 | +200% |
| Few-Shot 少样本 | 格式要求 | +250% |
| Chain 任务链 | 多步骤任务 | +180% |

## 支持模型

- GPT-4 / GPT-4o
- Claude 3 / 3.5
- Gemini Pro / Ultra
- 通义千问
- 其他主流模型

## 定价

- **单次使用**: ¥3
- **免费试用**: 前 5 次免费
- **套餐**: 20 次¥50（省¥10）

## 示例

```bash
# 生成 CoT 提示词
/ai-prompt-generator --task "分析销售数据" --template cot

# 优化已有提示词
/ai-prompt-generator --action optimize --input prompt.txt

# 为特定模型生成
/ai-prompt-generator --task "写代码" --model claude --style detailed
```

---
**SkillPay 收费 Skill** | 版本 1.0.0


path: index.js
content: #!/usr/bin/env node

/**
 * AI Prompt Generator - AI 提示词生成器
 * Price: ¥3
 */

async function main() {
  const args = process.argv.slice(2);
  
  const params = {};
  for (let i = 0; i < args.length; i++) {
    if (args[i].startsWith('--')) {
      const key = args[i].slice(2);
      const value = args[i + 1] && !args[i + 1].startsWith('--') ? args[++i] : true;
      params[key] = value;
    }
  }

  console.log('🎯 AI 提示词生成器已启动');
  console.log('━━━━━━━━━━━━━━━━━━━━');
  
  const { task, model, style, template, action } = params;
  
  if (!task && !template && !action) {
    console.log('用法：/ai-prompt-generator --task <任务> [选项]');
    console.log('模板：cot, role, few-shot, chain');
    console.log('模型：gpt-4, claude, gemini, qwen');
    return;
  }

  console.log(`\n📋 任务：${task || '使用模板'}`);
  console.log(`🤖 目标模型：${model || 'auto'}`);
  console.log(`🎨 风格：${style || 'balanced'}`);
  console.log(`📐 模板：${template || 'custom'}`);
  
  console.log('\n⏳ 正在生成提示词...');
  
  // 提示词框架示例
  const frameworks = {
    cot: '思维链 (Chain of Thought)',
    role: '角色扮演 (Role Play)',
    fewshot: '少样本学习 (Few-Shot)',
    chain: '任务链 (Task Chain)'
  };
  
  console.log('\n✅ 提示词生成完成！');
  console.log(`📐 使用框架：${frameworks[template] || '自定义'}`);
  console.log('━━━━━━━━━━━━━━━━━━━━');
  console.log('💰 本次消费：¥3');
}

main().catch(console.error);


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zitao666/bili-video-downloader (version 1.0.2)

--- name: bili-video-downloader description: 下载 B 站视频到指定目录。使用 yt-dlp，必须用 -o 参数指定完整路径，否则默认下载到 C 盘。 metadata: { "openclaw": { "emoji": "📺", "requires": { "bins": ["yt-dlp"] }, "install": [ { "id": "pip-yt-dlp", "kind": "pip", "package": "yt-dlp", "bins": ["yt-dlp"], "label": "Install yt-dlp (pip)", }, ], }, } --- # B站视频下载器 使用 yt-dlp 下载 Bilibili 视频。 ## ⚠️ 关键规则 **必须用 `-o` 参数指定完整路径，不能省略！** ```bash # ✅ 正确：-o 指定目标目录 yt-dlp -o "/path/to/videos/%(title)s.%(ext)s" "<url>" # ❌ 错误：省略 -o，默认下载到当前工作目录（C盘/系统盘） yt-dlp "<url>" ``` ## 使用方式 用户提供： 1. **B 站 URL**（视频页或合集链接） 2. **保存路径**（不提供则询问） 执行命令格式： ```bash mkdir -Force "<目标目录>" | Out-Null yt-dlp -o "<目标目录>/%(title)s.%(ext)s" "<url>" ``` ## 示例 **用户说 "下载到 D:\Videos\bili"：** ```bash mkdir -Force D:\Videos\bili | Out-Null yt-dlp -o "D:\Videos\bili\%(title)s.%(ext)s" "<B站视频URL>" ``` **用户说 "下载到 ~/Videos/bili"：** ```bash mkdir -Force ~/Videos/bili | Out-Null yt-dlp -o "~/Videos/bili/%(title)s.%(ext)s" "<url>" ``` **合集下载：** ```bash yt-dlp -o "<目录>/%(title)s.%(ext)s" "https://space.bilibili.com/xxx/lists/5374469?type=season" ``` ## 技术细节 - yt-dlp 默认行为 ≠ 下载到指定目录，**必须显式指定 `-o` 完整路径** - 合集约 45 个视频，可能有 2-5 个 extractor error（B站接口限制，非路径问题） - 文件名使用视频原标题（`%(title)s`） - 完成后汇总成功/失败数量 ## 常见问题 **Q: 某些视频下载失败？** → B站部分视频需要登录/会员，extractor error 是接口限制，非本 skill 问题。 **Q: 路径怎么填？** → 告诉用户先创建目录，执行时带上完整路径参数。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: jolestar/bitget-openapi-skill (version 1.0.0)

--- name: bitget-openapi-skill description: Operate Bitget public exchange market APIs through UXC with a curated OpenAPI schema, market-first discovery, and explicit private-auth boundary notes. --- # Bitget Exchange Skill Use this skill to run Bitget public market-data operations through `uxc` + OpenAPI. Reuse the `uxc` skill for shared execution, auth, and error-handling guidance. ## Prerequisites - `uxc` is installed and available in `PATH`. - Network access to `https://api.bitget.com`. - Access to the curated OpenAPI schema URL: - `https://raw.githubusercontent.com/holon-run/uxc/main/skills/bitget-openapi-skill/references/bitget-v2.openapi.json` ## Scope This skill covers a curated Bitget public market surface for: - spot symbols and metadata - ticker reads - candlestick reads - order book snapshots This skill does **not** cover: - private account endpoints in v1 - private order placement or cancellation in v1 - copy trading or P2P workflows ## Authentication Public market endpoints in this skill do not require credentials. Bitget private APIs use provider-specific header signing and timestamp headers. Keep this v1 skill public-data-only until a reusable Bitget signer flow exists in `uxc`. ## Core Workflow 1. Use the fixed link command by default: - `command -v bitget-openapi-cli` - If missing, create it: `uxc link bitget-openapi-cli https://api.bitget.com --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/bitget-openapi-skill/references/bitget-v2.openapi.json` - `bitget-openapi-cli -h` 2. Inspect operation help before execution: - `bitget-openapi-cli get:/api/v2/spot/public/symbols -h` - `bitget-openapi-cli get:/api/v2/spot/market/tickers -h` 3. Prefer narrow spot reads first: - `bitget-openapi-cli get:/api/v2/spot/market/tickers symbol=BTCUSDT` - `bitget-openapi-cli get:/api/v2/spot/market/orderbook symbol=BTCUSDT limit=20` ## Operations - `get:/api/v2/spot/public/symbols` - `get:/api/v2/spot/market/tickers` - `get:/api/v2/spot/market/candles` - `get:/api/v2/spot/market/orderbook` ## Guardrails - Keep automation on the JSON output envelope; do not use `--text`. - Parse stable fields first: `ok`, `kind`, `protocol`, `data`, `error`. - Treat this v1 skill as read-only. - Keep symbol and candle ranges narrow unless the user explicitly wants a broader pull. - `bitget-openapi-cli <operation> ...` is equivalent to `uxc https://api.bitget.com --schema-url <bitget_v2_openapi_schema> <operation> ...`. ## References - Usage patterns: `references/usage-patterns.md` - Curated OpenAPI schema: `references/bitget-v2.openapi.json` - Official Bitget API intro: https://www.bitget.com/api-doc/common/intro


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