OpenClaw/clawhub-security-signals huggingface dataset:
Skill: dashiming/pans-gpu-monitor (version 1.0.0)

--- name: pans-gpu-monitor description: | AI算力销售GPU监控工具。接入客户GPU使用数据，生成用量/效率周报，识别优化机会。 支持成本分析、异常告警、容量规划建议。 触发词：GPU监控, 用量报告, 效率分析, 成本优化, 周报生成 --- # GPU 监控工具 — AI 算力销售用 ## 功能概述 本工具帮助 AI 算力销售团队追踪客户 GPU 使用情况，生成结构化周报，识别优化机会与流失风险信号。 ## 输入数据格式 通过 CLI 交互式收集以下数据（可部分提供，按需补充）： ``` 客户名称: <name> 监控周期: <start> ~ <end>（如 2026-04-07 ~ 2026-04-13） GPU 型号: <model>（如 H100 SXM 80GB） GPU 数量: <count> 总费用（本期）: ¥<amount> 平均利用率: <util>%（如 87%） 峰值利用率: <peak>%（如 98%） 空闲率: <idle>%（如 13%） 异常中断次数: <failures> 类型分布（训练/推理/开发测试）: <train>% / <infer>% / <dev>% ``` ## 报告生成 ### 1. 用量与成本分析 按以下维度计算并输出： - **日均成本**: 总费用 ÷ 天数 - **GPU·小时均价**: 总费用 ÷ (GPU数量 × 运行小时数) - **利用率 vs 成本比**: 判断是否存在资源浪费 - **训练/推理费用分项**: 按类型估算费用占比 ### 2. 效率评分（0-100） 综合利用率、峰值利用率、空闲率、中断次数评分： | 评分 | 评价 | 建议 | |------|------|------| | 80-100 | 优秀 | 稳定运行，可推荐增购 | | 60-79 | 良好 | 有轻微优化空间 | | 40-59 | 一般 | 需关注浪费来源 | | 0-39 | 预警 | 建议安排技术review | ### 3. 异常信号识别 检查以下预警标志： - 利用率 < 40% 且持续 3 天以上 → 资源浪费告警 - 峰值利用率 < 50% → 过度配置 - 空闲率 > 30% → 存在资源闲置 - 中断次数 ≥ 3 → 稳定性问题 - 费用突增 > 20% 且无明显业务原因 → 异常排查 ### 4. 优化建议生成 根据数据自动生成 2-4 条可操作的优化建议，例如： - 建议将低利用率实例缩容至更小规格 - 建议将空闲 GPU 释放或重新分配 - 建议增购高利用率时段的 GPU 资源 - 建议排查频繁中断的根本原因 ### 5. 流失风险评估 结合用量趋势和异常信号评估客户健康度： - 连续两周利用率下降 > 15% → 流失风险上升 - 续约前 30 天出现异常 → 需主动介入 - 长期低利用率 → 可能已找到替代方案 ## 输出格式 输出 Markdown 格式的完整周报，包含： ``` ## GPU 使用周报 **客户:** <name> | **周期:** <start> ~ <end> ### 核心指标 | 指标 | 数值 | 同比变化 | |------|------|----------| | 总费用 | ¥<amount> | +/- <delta>% | | 平均利用率 | <util>% | +/- <delta>% | | 效率评分 | <score>/100 | <trend> | ### 成本分析 <分析内容> ### 异常信号 <告警列表（无则写"无"）> ### 优化建议 <2-4条建议> ### 客户健康度评估 <评估结论 + 流失风险判断> ``` ## 使用示例 ```bash # 交互式输入数据 npx clawhub@latest invoke pans-gpu-monitor # 或通过参数传入（伪代码） npx clawhub@latest invoke pans-gpu-monitor \ --client "某AI公司" \ --start "2026-04-07" \ --end "2026-04-13" \ --gpus "H100 SXM 80GB" \ --count 8 \ --cost 128000 \ --util 87 \ --peak 98 \ --idle 13 \ --failures 1 \ --train 60 --infer 30 --dev 10 ``` ## 适用场景 - 每周客户 review 前准备数据 - 识别需要介入的高风险客户 - 生成客户成功报告支持续约谈判 - 为 upsell 提供量化依据


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: marklyk/zongjie (version 1.0.5)

# Skill: 总结 (Zongjie) 将重要事件整理成结构化文档，沉淀经验到记忆系统。 ## 记忆管理系统 基于 OpenViking 方案的三层记忆系统： | 层级 | 说明 | 加载时机 | |------|------|----------| | **L0** | 核心索引，始终加载 | 每次会话 | | **L1** | 重要记忆，按需加载 | 会话开始时 | | **L2** | 归档记忆，查询加载 | 显式查询时 | | 优先级 | 生命周期 | 说明 | |--------|----------|------| | **P0** | 永不过期 | 核心人设、操作规则、关键偏好 | | **P1** | 90天 | 重要经验、解决方案 | | **P2** | 30天 | 临时记录，自动清理 | ## 使用场景 - 系统故障排查完成 - 有参考价值的调试过程 - 需要记录解决方案供以后查阅 - **不保存**：简单的问答、查询、闲聊 ## 精简模板 ```markdown # 标题 > P1 | L1 ### 问题 - [简明描述] ### 根因 - [根本原因] ### 解决步骤 1. 步骤1 2. 步骤2 3. 步骤3 ### 关键信息 - 报错信息/日志 - 关键命令 - 参考链接 ### 结果 - ✅/❌ 状态 ### 经验 - 关键点 ``` ## 步骤 ### M1: 判断价值 以下情况**不保存**： - 简单问答（如"这个公司怎么样"） - 查询类（如"帮我查下天气"） - 闲聊 以下情况**需要保存**： - 系统故障及修复 - 配置变更 - 重要决策 - 调试过程 ### M2: 确定优先级 根据内容判断 P/L 级别： | 分类 | P级 | L级 | 示例 | |------|-----|-----|------| | 人设/操作规则 | P0 | L0 | 核心规则、沟通原则 | | 系统故障修复 | P1 | L1 | Gateway崩溃、Cron失败 | | 新功能配置 | P1 | L1 | GitHub同步、自动备份 | | 调试过程 | P2 | L2 | 排查步骤、临时方案 | ### M3: 详细整理 提取核心信息： - 问题是什么 - 根因是什么 - **解决步骤**（一步一步写清楚） - 关键信息（报错日志、命令、链接） - 结果如何 - 经验教训（1-2条） ### M4: 合并同类项 检查现有记录： - 如果已有相同/类似问题 → 合并到已有记录中 - 更新"解决步骤"部分 - 更新"经验"部分 ### M5: 保存分类 **分类文件**： - **系统问题** → `memory/topics/03-系统调试.md` - **操作规则** → `memory/topics/02-操作规则.md` - **人设偏好** → `memory/topics/01-人设.md` - **新功能** → `memory/topics/04-XXX.md` - **其他** → `memory/YYYY-MM-DD.md` **索引更新** (可选)： ```bash # 更新索引 python3 ~/.openclaw/scripts/memory_mgr.py add <agent> "<内容>" P1 L1 ``` ### M6: 输出确认 告诉用户保存位置和 P/L 分类。 ## 示例 用户："帮我记录今天 Cron 推送失败的排查" → 检查发现已有类似记录 → 合并更新： ``` # Cron 推送失败修复 > P1 | L1 ### 问题 - Cron 早间推送失败 (announce delivery failed) ### 根因 - .openclaw/openclaw.json 有 JSON 尾随逗号 ### 解决步骤 1. 检查 cron 状态: `openclaw cron list` 2. 手动测试 Telegram: `openclaw message send ...` 3. 检查 JSON: `python3 -m json.tool ~/.openclaw/openclaw.json` 4. 修复 JSON 语法错误 5. 重新安装: `npm install -g openclaw` 6. 重启: `openclaw gateway restart` ### 关键信息 - 报错: "cron announce delivery failed" - 日志: `openclaw logs --limit 50` - 配置: `~/.openclaw/openclaw.json` ### 结果 - ✅ 推送恢复正常 ### 经验 - JSON 错误会导致投递失败 - 重新安装解决模块丢失 ``` ## 常用命令 ```bash # 添加记忆 (通过脚本) python3 ~/.openclaw/scripts/memory_mgr.py add work "内容" P1 L1 # 查询记忆 python3 ~/.openclaw/scripts/memory_mgr.py query work # 获取 L0 摘要 python3 ~/.openclaw/scripts/memory_mgr.py layer work L0 # 共享记忆 python3 ~/.openclaw/scripts/memory_mgr.py shared add "项目规范" "..." ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: ryandeangraves/crypto-prices (version 1.1.0)

# Skill: crypto-prices ## Purpose Fetch live cryptocurrency and commodity prices using the local `crypto_prices.py` module. This is your **single source of truth** for all price data — never use web search for prices. ## When to Use - Boss Man asks "what's BTC at?" or "price of gold" or any price query - You need current prices for market analysis, morning protocol, or any report - Anytime you're about to quote a price in conversation ## How to Execute ### Single Price Lookup ```bash cd ~/clawd && python3 -c " from crypto_prices import fetch_live_price, format_price_text data = fetch_live_price('COIN_NAME') if data: print(format_price_text(data)) # Full details available in data dict: # data['price'], data['change_24h'], data['change_7d'], data['change_30d'] # data['market_cap'], data['volume_24h'], data['high_24h'], data['low_24h'] # data['ath'], data['ath_change_pct'], data['source'] else: print('Price unavailable — all providers failed') " ``` ### Multiple Price Lookup (Batch) ```bash cd ~/clawd && python3 -c " from crypto_prices import fetch_multiple_prices, format_prices_block prices = fetch_multiple_prices(['bitcoin', 'ethereum', 'xrp', 'sui', 'gold', 'silver']) print(format_prices_block(prices)) " ``` ### Quick Price (Minimal Output) ```bash cd ~/clawd && python3 -c " from crypto_prices import fetch_live_price d = fetch_live_price('COIN_NAME') if d: print(f\"{d['symbol']}: \${d['price']:,.6g} ({d['change_24h']:+.2f}%)\") " ``` ## Supported Assets | Input | Resolves To | Source | |-------|-------------|--------| | btc, bitcoin | bitcoin | CoinGecko | | eth, ethereum | ethereum | DexScreener → CoinGecko | | xrp, ripple | ripple | DexScreener → CoinGecko | | sui | sui | CoinGecko | | sol, solana | solana | CoinGecko | | gold, xau | gold | Yahoo Finance → CoinGecko | | silver, xag | silver | Yahoo Finance → CoinGecko | | doge, ada, dot, avax, link, matic | various | CoinGecko | ## Provider Chain 1. **Cache** (60s TTL) — serves instantly if fresh 2. **Yahoo Finance** — metals only (gold/silver), most reliable for commodities 3. **CoinGecko full** — comprehensive data (price, 24h/7d/30d change, ATH/ATL, market cap) 4. **CoinGecko simple** — lighter endpoint if full is rate-limited 5. **DexScreener** — DEX-based failover for crypto (ETH and XRP try this first) ## Rules - **NEVER** use Brave Search for prices — it returns stale article snippets, not live data - **NEVER** guess or hallucinate prices — if all providers fail, say "price unavailable" - Cache is 60 seconds — calling twice within a minute is free - Rate limits: CoinGecko ~10 req/min, DexScreener ~60 req/min - For batch queries, the module handles delays automatically

path: _meta.json
content: ownerId: kn79rnzthjj7sjw355h0005fe181frrz
slug: crypto-prices
version: 1.0.0
publishedAt: 1771527777075

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: brucegutman/pipeworx-wger (version 1.0.0)

# Wger (Workout Manager) Exercise database with muscle groups, equipment, and detailed exercise descriptions. Useful for building workout routines, fitness apps, or answering "what exercises target my biceps?" ## Tools overview - `list_exercises` -- Browse exercises (English only). Returns name, description, category, primary and secondary muscles, and equipment needed. Default 20 results. - `get_exercise` -- Full details for a specific exercise by its numeric ID. - `list_muscles` -- Every muscle in the database with front/back body position. - `list_equipment` -- All equipment types: barbell, dumbbell, kettlebell, gym mat, pull-up bar, etc. ## Example: list exercises ```bash curl -X POST https://gateway.pipeworx.io/wger/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_exercises","arguments":{"limit":10}}}' ``` ## Building a workout 1. Use `list_muscles` to identify target muscle IDs 2. Browse exercises with `list_exercises` 3. Get full descriptions and equipment needs with `get_exercise` ```json { "mcpServers": { "wger": { "url": "https://gateway.pipeworx.io/wger/mcp" } } } ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: rohitr311/maxun (version 1.0.2)

--- name: maxun description: List and run Maxun web scraping robots. Use when asked to list robots, run a robot, scrape a website, or get robot results. argument-hint: "list | run <robotId> | runs <robotId> | result <robotId> <runId> | get <robotId>" metadata: openclaw: version: 1.0.0 homepage: https://www.maxun.dev emoji: "🤖" user-invocable: true files: - scripts/* requires: env: - MAXUN_API_KEY bins: - bash - curl anyBins: - python3 primaryEnv: MAXUN_API_KEY --- # Maxun Skill Maxun is a web scraping platform. The user has robots that scrape websites. ## INSTRUCTIONS FOR THE AI MODEL You have ONE job here: call the `exec` tool with the exact command strings below. Do not paraphrase. Do not guess. Copy the command string exactly. ### ACTION: List all robots When the user says anything like "list my robots", "show robots", "what robots do I have": Call the `exec` tool. The `command` parameter must be this exact string: ``` maxun list ``` IMPORTANT: Do NOT append any words from the user's message as arguments. The command is always exactly `maxun list` — nothing after `list`. After exec returns output, display it directly to the user as-is. The output IS the robot list. Do not interpret it, ask clarifying questions about it, or treat it as a new request. Just show it. ### ACTION: Run a robot When the user wants to run or scrape with a specific robot: Step 1 — First get the robot ID by calling `exec` with: ``` maxun list ``` Step 2 — Find the robot ID from the output, then call `exec` with: ``` maxun run <robotId> ``` Replace `<robotId>` with the actual ID string from step 1. ### ACTION: List past runs Call `exec` with: ``` maxun runs <robotId> ``` ### ACTION: Get a run result Call `exec` with: ``` maxun result <robotId> <runId> ``` ### ACTION: Get robot details Call `exec` with: ``` maxun get <robotId> ``` ### ACTION: Abort a run Call `exec` with: ``` maxun abort <robotId> <runId> ``` ## Error Handling - No robots found → tell user to create one at https://app.maxun.dev - Robot still running → call exec with `maxun result <robotId> <runId>` ## Setup (for new installations) Add to `~/.openclaw/openclaw.json`: ```json "tools": { "exec": { "host": "gateway", "security": "full", "ask": "off" } }, "env": { "MAXUN_API_KEY": "your-api-key-here" } ```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (CRITICAL)
Skill: q262045312-ui/openclaw-browser-automation-1-0-1 (version 1.0.0)

--- name: openclaw-browser description: Automate web browser interactions using natural language via CLI commands. Use when the user asks to browse websites, navigate web pages, extract data from websites, take screenshots, fill forms, click buttons, or interact with web applications. allowed-tools: Bash --- # Browser Automation Automate browser interactions using Stagehand CLI with Claude. ### First: Environment Selection (Local vs Remote) The skill automatically selects between local and remote browser environments: - **If Browserbase API keys exist** (BROWSERBASE_API_KEY and BROWSERBASE_PROJECT_ID in .env file): Uses remote Browserbase environment - **If no Browserbase API keys**: Falls back to local Chrome browser - **No user prompting**: The selection happens automatically based on available configuration ## Setup (First Time Only) Check `setup.json` in this directory. If `setupComplete: false`: ```bash npm install # Install dependencies npm link # Create global 'browser' command ``` ## Commands All commands work identically in both modes: ```bash browser navigate <url> # Go to URL browser act "<action>" # Natural language action browser extract "<instruction>" ['{}'] # Extract data (optional schema) browser observe "<query>" # Discover elements browser screenshot # Take screenshot browser close # Close browser ``` ## Quick Example ```bash browser navigate https://example.com browser act "click the Sign In button" browser extract "get the page title" browser close ``` ## Mode Comparison | Feature | Local | Browserbase | |---------|-------|-------------| | Speed | Faster | Slightly slower | | Setup | Chrome required | API key required | | Stealth mode | No | Yes | | Proxy/CAPTCHA | No | Yes | | Best for | Development | Production/scraping | ## Best Practices 1. **Always navigate first** before interacting 2. **View screenshots** after each command to verify 3. **Be specific** in action descriptions 4. **Close browser** when done ## Troubleshooting - **Chrome not found**: Install Chrome or use Browserbase mode - **Action fails**: Use `browser observe` to discover available elements - **Browserbase fails**: Verify API key and project ID are set For detailed examples, see [EXAMPLES.md](EXAMPLES.md). For API reference, see [REFERENCE.md](REFERENCE.md).


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: asaphko/hardcover (version 1.0.7)

--- name: hardcover description: Query reading lists and book data from Hardcover.app via GraphQL API. Triggers when user mentions Hardcover, asks about their reading list/library, wants book progress, searches for books/authors/series, or references "currently reading", "want to read", or "books I've read". Also use for syncing reading data to other systems (Obsidian, etc.) or tracking reading goals. homepage: https://hardcover.app metadata: { "openclaw": { "emoji": "📚", "requires": { "env": ["HARDCOVER_API_TOKEN"] }, }, } --- # Hardcover GraphQL API Query your reading library, book metadata, and search Hardcover's catalog. ## Configuration - **Env variable:** `HARDCOVER_API_TOKEN` from https://hardcover.app/settings - **Endpoint:** `https://api.hardcover.app/v1/graphql` - **Rate limit:** 60 req/min, 30s timeout, max 3 query depth ## Authentication All queries require `Authorization: Bearer {token}` header (token from settings, add `Bearer ` prefix): ```bash curl -X POST https://api.hardcover.app/v1/graphql \ -H "Authorization: Bearer $HARDCOVER_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{"query": "query { me { id username } }"}' ``` ## Workflow 1. **Get user ID first** — most queries need it: ```graphql query { me { id username } } ``` 2. **Query by status** — use `status_id` filter: - `1` = Want to Read - `2` = Currently Reading - `3` = Read - `4` = Paused - `5` = Did Not Finish 3. **Paginate large results** — use `limit`/`offset`, add `distinct_on: book_id` ## Common Queries ### Currently Reading with Progress ```graphql query { me { user_books(where: { status_id: { _eq: 2 } }) { user_book_reads { progress_pages } book { title pages image { url } contributions { author { name } } } } } } ``` ### Library by Status ```graphql query ($userId: Int!, $status: Int!) { user_books( where: { user_id: { _eq: $userId }, status_id: { _eq: $status } } limit: 25 offset: 0 distinct_on: book_id ) { book { id title pages image { url } contributions { author { name } } } } } ``` ### Search Books/Authors/Series ```graphql query ($q: String!, $type: String!) { search(query: $q, query_type: $type, per_page: 10, page: 1) { results } } ``` `query_type`: `Book`, `Author`, `Series`, `Character`, `List`, `Publisher`, `User` ### Book Details by Title ```graphql query { editions(where: { title: { _eq: "Oathbringer" } }) { title pages isbn_13 edition_format publisher { name } book { slug contributions { author { name } } } } } ``` ## Limitations - Read-only (no mutations yet) - No text search operators (`_like`, `_ilike`, `_regex`) - Access limited to: your data, public data, followed users' data - Tokens expire after 1 year ## Entity Reference For detailed field documentation on Books, Editions, Authors, Series, User Books, Activities, Lists, Goals, and other entities, see [references/entities.md](references/entities.md). ## Response Codes | Code | Meaning | |------|---------| | 200 | Success | | 401 | Invalid/expired token | | 429 | Rate limited |


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector:  ()
Skill: stperic/local-websearch (version 1.0.0)

--- name: searxng description: Search the web using a self-hosted SearXNG metasearch engine. Aggregates Google, Brave, DuckDuckGo, and more without API keys. homepage: https://docs.searxng.org metadata: {"moltbot":{"emoji":"🔍","requires":{"bins":["python3"],"env":["SEARXNG_URL"]}}} --- # SearXNG Web Search Privacy-respecting metasearch via your self-hosted SearXNG instance. ## When to use (trigger phrases) Use this skill when the user asks: - "search the web for..." - "look up..." / "find information about..." - "what is..." (when current info needed) - "research..." / "search for..." - "google..." (redirect to privacy-respecting search) ## Quick start ```bash python3 ~/.clawdbot/skills/searxng/scripts/searxng_search.py "your query" python3 ~/.clawdbot/skills/searxng/scripts/searxng_search.py "query" --count 10 python3 ~/.clawdbot/skills/searxng/scripts/searxng_search.py "query" --lang de ``` ## Setup Set `SEARXNG_URL` environment variable: ```bash export SEARXNG_URL="http://your-searxng-host:8888" ``` ## Flags | Flag | Default | Description | |------|---------|-------------| | `-n`, `--count` | 5 | Results to return (1-20) | | `-l`, `--lang` | auto | Language code (en, de, fr, es, etc.) | ## Output Returns JSON: ```json { "query": "search terms", "count": 5, "results": [ {"title": "...", "url": "...", "description": "...", "engines": ["google", "brave"], "score": 1.5} ] } ``` ## Notes - No API keys needed—SearXNG aggregates upstream engines - Results include source engines for transparency - Scores indicate relevance (higher = better) - For news, add "news" to query or use `--lang` for regional results


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ntriq-gh/ntriq-x402-compliance-check-batch (version 1.0.0)

--- name: ntriq-x402-compliance-check-batch description: "Batch compliance analysis for up to 500 texts. Flat $9.00 USDC via x402." version: 1.0.0 metadata: openclaw: primaryTag: data-intelligence tags: [compliance, legal, risk, batch, x402] author: ntriq homepage: https://x402.ntriq.co.kr --- # Compliance Check Batch (x402) Analyze up to 500 text inputs for compliance violations in one call. Flat $9.00 USDC. 100% local inference on Mac Mini. ## How to Call ```bash POST https://x402.ntriq.co.kr/compliance-check-batch Content-Type: application/json X-PAYMENT: <x402-payment-header> { "texts": [ "We collect user emails for marketing without explicit consent.", "All data is encrypted at rest using AES-256." ], "framework": "GDPR", "jurisdiction": "EU" } ``` ## Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `texts` | array | ✅ | Texts to analyze (max 500) | | `framework` | string | ❌ | `GDPR` \| `HIPAA` \| `SOX` \| `general` | | `jurisdiction` | string | ❌ | `US` \| `EU` \| `UK` etc. | | `language` | string | ❌ | Output language (default: `en`) | ## Payment - **Price**: $9.00 USDC flat (up to 500 texts) - **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: neckr0ik/anne-library-downloader (version 1.0.0)

# Anne's Library Downloader Download books, articles, and DOIs from academic libraries with full automation. ## What This Skill Does - Downloads PDFs from library databases - Extracts DOIs from URLs - Automates authentication for institutional access - Handles VitalSource, ProQuest, EBSCO, and other academic platforms ## Installation ```bash # Install dependencies pip install playwright requests beautifulsoup4 # Install browser for Playwright playwright install chromium ``` ## Usage ```bash # Download a book by title/author anne-download --book "Essential Biological Psychology" --author "Martin, G. Neil" # Download by DOI anne-download --doi "10.1037/0000092-000" # Download by URL anne-download --url "https://library.capella.edu/..." # Batch download from list anne-download --list ~/Downloads/my_reading_list.txt ``` ## Configuration Set up library credentials: ```bash # For Capella library export ANNE_LIBRARY_URL="https://capella.alma.exlibrisgroup.com" export ANNE_LIBRARY_USER="your_username" export ANNE_LIBRARY_PASS="your_password" ``` ## Supported Platforms - VitalSource Bookshelf - ProQuest - EBSCOhost - JSTOR - PubMed Central - ScienceDirect - Springer Link - Taylor & Francis Online ## Features - **Auto-authentication**: Handles institutional login automatically - **DOI extraction**: Pulls DOI from any academic URL - **Metadata preservation**: Saves citation info alongside PDF - **Batch processing**: Download entire reading lists - **Format conversion**: Convert to PDF, EPUB, or text ## Files - `scripts/download.py` — Main download script - `scripts/auth.py` — Authentication handlers - `scripts/doi_extractor.py` — DOI extraction - `references/config.json` — Library configurations --- *Skill created: March 8, 2026*


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: dashiming/pans-linkedin-outreach (version 1.0.0)

--- name: pans-linkedin-outreach description: | AI算力销售 LinkedIn 外联助手。批量生成个性化 LinkedIn 消息， 支持 Connection Note（连接邀请附言）、InMail（私信消息）、 Follow-up（跟进消息）三种类型，自动适配 300 字符限制。 触发词：LinkedIn消息, 连接邀请, InMail, 跟进消息, 外联文案, outreach, connection request, 领英外联 --- # pans-linkedin-outreach AI算力销售LinkedIn外联助手。批量生成个性化LinkedIn消息，支持Connection Note、InMail、Follow-up三种类型。 ## 功能 - **Connection Note** - 连接邀请附言（300字符限制） - **InMail** - LinkedIn私信消息 - **Follow-up** - 跟进消息 ## 使用方法 ```bash # 生成连接邀请附言 python3 scripts/outreach.py --profile "张三, CEO at ABC AI, 关注大模型训练" --type connection-note --purpose "介绍GPU云服务" # 生成InMail python3 scripts/outreach.py --profile "李四, CTO at XYZ Tech" --type inmail --purpose "邀请技术交流" # 生成跟进消息 python3 scripts/outreach.py --profile "王五, VP Engineering" --type follow-up --purpose "跟进上次讨论的H100需求" ``` ## 参数说明 - `--profile`: 目标人物信息（姓名、职位、公司、关注点等） - `--type`: 消息类型（connection-note, inmail, follow-up） - `--purpose`: 发送目的/核心诉求 ## 触发词 LinkedIn消息, 连接邀请, InMail, 跟进消息, 外联文案, outreach, connection request ## 示例输出 ``` === Connection Note (300字符限制) === Hi 张总，看到ABC AI在大模型训练方面的进展，我们的H100集群可能对您的团队有帮助。期待交流！ ```


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