OpenClaw/clawhub-security-signals huggingface dataset:
Skill: zcr3344/browser-canvas-poetry (version 1.7.0)

--- title: Browser Canvas Poetry description: 将诗歌、文学意象、视觉艺术概念转化为浏览器原生艺术作品 tags: [browser-art, creative-coding, generative-art, poetry, frontend] author: Browser Canvas Poetry Collective homepage: https://github.com/browser-canvas-poetry version: 1.7.0 --- # Browser Canvas Poetry ## 浏览器画布诗意 - 将艺术想象编译为浏览器原生体验 ### Skill Overview **本Skill用于**: 将诗歌、文学意象、视觉艺术概念转化为浏览器原生艺术作品。 **核心能力**: - 将抽象艺术概念翻译为前端代码提示词 - 提供丰富的生成式艺术风格参考 - 水墨与丹青双智能体协同创作 - 可导入的交互组件库（粒子、物理、生物、动画等） - **BCPP Protocol v1.7.0** - 极简核心协议 - 意图层：艺术概念定义 - 描述层：视觉元素结构 - **表演层** - 时间轴演绎（新增） - 渲染层：跨平台适配 - 交互层：行为映射 - **画布考古学** - 作品历史记录与签名 - **艺术流派系统** - 流派定义与分类 - **去中心化Registry** - 开放渲染器/流派注册 **使用场景**: - AI Coding IDE (Cursor/Codex/Trae) 生成创意前端项目 - 双智能体协同创作（视觉 x 交互） - **BCPP协议解析与生成** - 结构化艺术描述 - 创意编程教学与灵感激发 - 生成式艺术作品快速原型 - 诗歌可视化与互动文学 **技术框架支持**: - 单一HTML文件（快速原型） - **Pretext框架**（多文件交互项目）- 支持文本测量、动态排版、粒子动画等复杂交互 - 原生Canvas/WebGL/CSS/SVG - 任何前端框架集成 --- ## Input Schema 用户可通过以下方式调用本Skill： ``` 用户输入: 艺术概念描述 / 诗歌片段 / 情绪关键词 / 视觉风格偏好 ``` ### 支持的输入格式 ```yaml 输入类型: - 诗歌文本: "落霞与孤鹜齐飞，秋水共长天一色" - 情绪关键词: "孤独的、流动的、碎片化的" - 视觉风格: "赛博朋克、和风极简、后现代解构" - 艺术流派: "表现主义、抽象表现主义、极简主义" - 技术偏好: "纯CSS动画、WebGL粒子、SVG路径动画" ``` --- ## Output Schema ```yaml 输出格式: prompt: 生成给AI IDE的代码生成提示词 style_reference: 相关艺术风格参考 technical_hints: 技术实现提示 bcpp_manifest: BCPP协议结构化描述 suggestions: 互动建议与改进方向 ``` --- ## Execution Context ### 环境要求 - 无需特殊环境变量 - 需要访问互联网获取艺术参考资料（可选） - 支持所有主流浏览器环境 ### 外部依赖 - 无强制依赖 - 可选：Wikipedia API（获取艺术流派信息） - 可选：诗歌数据库API（获取中文诗词意象） --- ## References | 参考资料 本Skill包含以下参考文档，位于 `references/` 目录： ### 协议文档 1. **bcpp-protocol.md** - BCPP协议规范（v1.7.0极简版：去掉验证层，增加表演层、画布考古学） 2. **bcpp-examples.md** - BCPP协议示例集（完整manifest.yaml示例） 3. **bcpp-registry.md** - BCPP Registry（去中心化渲染器/流派/作品注册系统） 4. **bcpp-improvements.md** - BCPP问题分析与改进方案 ### 智能体与协作 5. **ai-partner.md** - AI伙伴人格与情绪系统（水墨/丹青人格） 6. **multi-agent.md** - 水墨与丹青双智能体协同创作系统 7. **interactive-api-components.md** - 可导入的交互组件库（粒子、物理、生物、动画等） ### 艺术与风格 8. **literary-imagery.md** - 中西文学意象对照表 9. **art-movements.md** - 现代艺术流派与浏览器艺术对应关系 10. **browser-capabilities.md** - 浏览器独特能力与艺术可能性 11. **nebula-rendering.md** - 星云渲染专项技术指南（Three.js Shader/WebGL Raymarching） 12. **frontend-rendering-libraries.md** - 前端渲染开源库完整分类指南 13. **interactive-creatures.md** - 互动生物行为系统指南 ### 选读参考 14. **technical-poetry.md** - 代码即诗歌：程序员的文学修养 15. **case-studies.md** - 浏览器原生艺术案例分析 16. **performance-tips.md** - 性能优化与艺术效果的平衡 17. **accessibility.md** - 无障碍艺术：让每个人都能体验 18. **curation-guide.md** - 如何策展浏览器原生艺术展 --- ## Contribution | 贡献指南 欢迎为本Skill贡献： 1. Fork本仓库 2. 添加新的艺术风格或参考文档 3. 在BCPP Registry注册新的渲染器或流派 4. 提交Pull Request --- ## License | 许可 本Skill遵循 MIT License，可自由使用、修改和分发。 --- ## Author | 作者 **Browser Canvas Poetry Collective** - 浏览器原生艺术爱好者社区 - 欢迎交流：[REDACTED_SECRET] --- **"代码是诗，浏览器是画布，你的手指是最后的笔触。"** **"Code is poetry, the browser is canvas, your fingers are the final brushstroke."**


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

--- name: kaomoji description: Light kaomoji selector based on context tags. --- # Kaomoji A fast and simple tool to select or store kaomojis. ## Pick a kaomoji ```bash python pick_kaomoji.py <tag1> <tag2> ... ``` Example: ```bash python pick_kaomoji.py encouragement positive ``` Example output: `(๑•̀ㅂ•́)و✧` ## List all kaomojis ```bash python list_kaomojis.py ``` Save a new kaomoji ### Save a new kaomoji Add a new kaomoji with metadata. ```bash python save_kaomoji.py "<kaomoji>" "<meaning>" "<usage_tags>" "<tone_tags>" ``` Example: ```bash python save_kaomoji.py "(๑•̀ㅂ•́)و✧" "cheering, encouragement, energetic" "encouragement,celebrating progress,casual chat,greeting" "positive,playful,cute" ```


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

--- name: Onboarding description: Design user onboarding flows that maximize activation and time-to-value. metadata: {"clawdbot":{"emoji":"🚀","os":["linux","darwin","win32"]}} --- ## Define Activation First Answer before designing anything: - What specific action = user got value? - What % of signups currently reach it? - What's the minimum path to get there? If you can't answer these, onboarding will optimize the wrong thing. ## Measure the Funnel Create this table for current state: | Step | Users | Drop-off | |------|-------|----------| | Signed up | 100% | - | | Step 2 | ?% | ?% | | Step 3 | ?% | ?% | | Activated | ?% | ?% | Biggest drop-off = focus there first. Everything else is distraction. ## Signup Form At signup, require ONLY: email + password. Everything else: defer until after first value delivered. For each additional field, calculate: how many users lost × LTV = cost of that field. ## Segmentation Question One question only, immediately after signup: "What's your main goal?" with 3-4 options. Route to different: - First action to complete - Empty state messaging - Email sequence More than 4 paths = complexity without benefit. ## Checklist Pattern Structure: - 4-6 items maximum - First item already complete when shown (quick win psychology) - Items ordered by value delivered, not logical sequence - Persists across sessions - Completion reward visible Format: action verb + outcome ✓ "Create your first project" ✗ "Projects" ## Empty State Formula Every empty screen needs: 1. What will appear here (1 sentence) 2. Visual of populated state or example 3. ONE action button (primary style) Pre-populated templates > blank slate. ## Email Sequence | Day | Trigger | Content | |-----|---------|---------| | 0 | Signup | Welcome + single quick win CTA | | 1 | Not activated | Reminder + "here's how" | | 3 | Not activated | Social proof / success story | | 7 | Not activated | Feature highlight | | 14 | Inactive | "We miss you" + incentive | Stop sequence immediately when user activates. ## Tooltips vs Modals - **Tooltip**: single UI element explanation, non-blocking - **Modal**: requires decision, blocks everything - **Tour**: max 3-5 steps or users skip Never repeat to returning users. Trigger contextually, not on every login. ## Metrics Track weekly: - Signup → Activation rate - Time to activate (median) - Drop-off by step - Day 1, Day 7 retention: activated vs non-activated Activated users should retain 2-3x better. If not, activation definition is wrong. ## Common Failures - Asking for info before showing value—user hasn't bought in - Tour showing everything—overwhelms, skip rate high - Same onboarding for all segments—relevance drives completion - No follow-up emails—user closes tab and forgets - Blocking features behind upgrade before value demonstrated


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: teoslayer/pilot-gossip (version 1.0.0)

--- name: pilot-gossip description: > Gossip protocol for eventually-consistent shared state propagation across swarms. Use this skill when: 1. You need eventually-consistent state replication without coordination 2. Agents should share updates with random subsets of peers 3. You want epidemic-style information dissemination Do NOT use this skill when: - You need strong consistency (use pilot-consensus) - You need ordered message delivery (use leader-based broadcast) tags: - pilot-protocol - gossip - eventual-consistency - state-replication license: AGPL-3.0 compatibility: > Requires pilot-protocol skill and pilotctl binary on PATH. The daemon must be running (pilotctl daemon start). metadata: author: vulture-labs version: "1.0" openclaw: requires: bins: - pilotctl homepage: https://pilotprotocol.network allowed-tools: - Bash --- # pilot-gossip Implement gossip protocols for eventually-consistent state propagation in agent swarms. This skill enables agents to share state updates by randomly selecting peers and exchanging information, achieving eventual consistency without centralized coordination. ## Commands ### Publish state update to random peers ```bash FANOUT=3 PEERS=$(pilotctl --json peers --search "swarm:$SWARM_NAME" | jq -r '.[].address' | shuf -n $FANOUT) for peer in $PEERS; do pilotctl --json send-message "$peer" \ --data "{\"type\":\"gossip_push\",\"version\":$STATE_VERSION,\"state\":$STATE_DATA,\"sender\":\"$AGENT_ID\",\"timestamp\":\"$(date -u +%s)\"}" & done wait ``` ### Merge received state updates ```bash GOSSIP_MSGS=$(pilotctl --json received | jq '[.messages[] | select(.payload.type == "gossip_push")]') for msg in $(echo "$GOSSIP_MSGS" | jq -r '.[] | @base64'); do PAYLOAD=$(echo "$msg" | base64 -d) REMOTE_VERSION=$(echo "$PAYLOAD" | jq -r '.payload.version') if [ "$REMOTE_VERSION" -gt "$MY_VERSION" ]; then MY_STATE=$(echo "$MY_STATE $REMOTE_STATE" | jq -s '.[0] * .[1]') MY_VERSION=$REMOTE_VERSION fi done ``` ## Workflow Example Distributed key-value store with gossip replication: ```bash #!/bin/bash SWARM_NAME="kv-store-cluster" AGENT_ID=$(pilotctl --json info | jq -r '.node_id') # Gossip loop for round in $(seq 1 10); do # Push to random peers PEERS=$(pilotctl --json peers --search "swarm:$SWARM_NAME" | jq -r '.[].address' | shuf -n 3) for peer in $PEERS; do pilotctl --json send-message "$peer" \ --data "{\"type\":\"gossip_push\",\"version\":$MY_VERSION,\"state\":$MY_STATE,\"sender\":\"$AGENT_ID\"}" & done wait sleep 5 done ``` ## Dependencies Requires pilot-protocol skill, jq, shuf, and base64.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: huili203/trading-briefing (version 1.0.0)

--- name: trading-briefing description: 每日加密货币交易综合简报。当用户说"早报"、"简报"、"今天市场怎么样"、"交易情况"、"检查交易系统"、"系统状态"、"trading status"、"daily briefing"时触发。自动聚合：(1) BTC/ETH主流币价格 (2) 实盘机器人状态 (3) 持仓盈亏 (4) 系统健康 (5) 策略发现引擎状态。 --- # Trading Briefing 一站式交易系统简报。运行脚本聚合所有数据，输出格式化报告。 ## 快速使用 ```bash python3 /root/.openclaw/workspace/skills/trading-briefing/scripts/briefing.py ``` 输出包含： 1. 📊 市场行情 - BTC/ETH价格、24h涨跌 2. 🤖 机器人状态 - 运行状态、最后交易时间 3. 💰 持仓情况 - 当前持仓、浮动盈亏 4. ⚙️ 系统健康 - 磁盘、内存、关键进程 5. 🧠 策略发现 - 发现引擎状态、当前最佳策略 ## 配置 编辑 `scripts/config.json` 设置关注的交易对和阈值。 ## 依赖 - ccxt (OKX API) - 无需额外配置，复用 live_trading/config.json 的 API 密钥


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: sinabs/ifind-api (version 1.0.1)

--- name: china-ifind description: | 同花顺 iFinD (51ifind.com) 金融数据查询。支持 A 股/基金/债券/期货/指数的实时行情、历史行情、财务指标、宏观经济数据等 18 个 API 接口。 Chinese financial data query skill powered by THS iFinD (51ifind.com) API. Covers real-time quotes, historical data, financial indicators, macro economics, fund valuation, and more across 18 API endpoints for A-shares, funds, bonds, futures, and indices. metadata: author: sinabs version: "1.0.0" openclaw: requires: env: - IFIND_REFRESH_TOKEN --- # iFinD 金融数据查询 基于同花顺 iFinD ([51ifind.com](https://www.51ifind.com)) 量化数据接口，覆盖 A 股、基金、债券、期货、指数等全品类金融数据。 ## 运行机制 1. **Token 获取**：使用用户提供的 `IFIND_REFRESH_TOKEN` 向 iFinD 官方 API 获取 `access_token`，缓存在本地 `.data/access_token`（24 小时 TTL）。 2. **API 调用**：携带 `access_token` 调用 `quantapi.51ifind.com` 量化数据接口，返回 JSON 结果。 3. **自动重试**：当 token 过期（errorcode -1302）时自动刷新并重试一次。 4. **日志**：调用记录写入 `.data/ifind.log`（滚动日志，1MB 上限）。 本脚本仅与 iFinD 官方 API（`quantapi.51ifind.com`）通信，不连接任何第三方服务。 ## 支持的 API | # | API | Endpoint | 用途 | |---|-----|----------|------| | 1 | 基础数据 | `basic_data_service` | 财务指标、基本面数据 | | 2 | 日期序列 | `date_sequence` | 按时间序列获取指标数据 | | 3 | 历史行情 | `cmd_history_quotation` | 日K/周K等历史行情 | | 4 | 高频序列 | `high_frequency` | 分钟级高频数据 + 技术指标 | | 5 | 实时行情 | `real_time_quotation` | 最新价、涨跌幅、成交量 | | 6 | 日内快照 | `snap_shot` | 逐笔/分钟级日内盘口快照 | | 7 | 经济数据库 | `edb_service` | 宏观经济指标 (GDP、CPI 等) | | 8 | 专题报表 | `data_pool` | REITs、龙虎榜等专题数据 | | 9 | 组合管理 | `portfolio_manage` | 组合新建/导入/交易/监控 | | 10 | 智能选股 | `smart_stock_picking` | 按条件筛选股票 | | 11 | 基金估值(分钟) | `fund_valuation` | 基金实时分钟级估值 | | 12 | 基金估值(日) | `final_fund_valuation` | 基金日终估值 | | 13 | 日期查询 | `get_trade_dates` | 查询交易日历 | | 14 | 日期偏移 | `get_trade_dates` | 基于基准日前推/后推 | | 15 | 数据量查询 | `get_data_volume` | 查询账号已用数据量 | | 16 | 错误信息查询 | `get_error_message` | 查询错误码含义 | | 17 | 代码转换 | `get_thscode` | 证券代码转同花顺代码 | | 18 | 公告查询 | `report_query` | 上市公司公告检索下载 | ## 首次使用 每次调用 API 前，先按 [API_REFERENCE.md](references/API_REFERENCE.md) 中「Token 配置」章节检查并配置 `IFIND_REFRESH_TOKEN`。 如果未配置，**停止执行**，向用户提示： > 使用 iFinD 金融数据查询需要你的 refresh_token。获取方式： > - **还没有账号**：访问 https://ft.10jqka.com.cn 申请 iFinD 量化数据终端 > - **已有账号**：打开 iFinD 超级命令客户端 → 工具 → refresh_token 查询；或登录 https://quantapi.51ifind.com 在账号信息中查看 > > 请把你的 refresh_token 发给我，我帮你配置好。 ## 参考资料 - [API_REFERENCE.md](references/API_REFERENCE.md) - Token 配置、调用方式、18 个 API 完整参数和示例


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: dendyadinirwana/tg-smart-cta (version 1.0.1)

--- name: telegram-smart-launcher description: Enhance Telegram replies with context-aware dynamic CTA buttons (Smart Launcher UI). Use when replying to users on Telegram to provide relevant, time-sensitive, and task-oriented options for better interaction. --- # Telegram Smart Launcher (Smart Launcher UI) This skill enables the agent to provide an interactive and efficient user experience on Telegram by appending context-aware CTA (Call to Action) buttons to replies. ## Usage Guidelines When responding to a user on Telegram, always consider if providing quick-action buttons would improve efficiency. ### Button Selection Logic 1. **Time of Day Awareness**: - **Morning (07:00 - 10:00)**: Focus on daily briefings, commute status, and agenda checks. - **Work Hours (10:00 - 16:00)**: Focus on task progress, deep research, and project-specific actions. - **Wrap-up (16:00 - 18:00)**: Focus on daily recaps, route home status, and tomorrow's preparation. - **Night (20:00 - 23:00)**: Focus on reflection, mood checks, and planning for the next day. 2. **Context Awareness**: - If the user is working on administrative or planning tasks, offer buttons for document drafting or data lookup. - If the user is working on creative or design tasks, offer buttons for tool links or asset management. - If a task just finished, offer "Next Steps" or "Recap" buttons. 3. **The "Free Text" Fallback**: - Always include an option for free text input (e.g., "⌨️ Manual Input") to ensure the user feels in control. ## Implementation Pattern Use the `message` tool with the `buttons` parameter. The `buttons` array is an array of arrays (rows) of button objects `[{text, callback_data}]`. ### Example (Wrap-up Phase) ```javascript message({ action: "send", target: "USER_ID", message: "I've prepared the daily report for you.", buttons: [ [ { text: "📝 Daily Recap", callback_data: "/update" }, { text: "🏠 Route Home", callback_data: "Check route home" } ], [ { text: "⏭️ Tomorrow's Agenda", callback_data: "What is the agenda for tomorrow?" }, { text: "⌨️ Manual Input", callback_data: "keyboard_manual" } ] ] }) ``` ## References - See [references/time_logic.md](references/time_logic.md) for detailed time-based button presets.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: wei3bao/website-structure-analyzer (version 1.0.0)

--- name: website-structure-analyzer description: 分析网站功能结构。当用户需要了解某个网站的功能模块、页面结构、核心业务流程、技术栈、或想对目标网站进行竞品分析时使用。触发词包括：分析网站、结构、功能、竞品、网站架构、页面结构、功能模块、网站结构分析。 version: 1.0.0 --- # Website Structure Analyzer 分析任意网站的功能结构，输出完整的结构化分析报告。 ## 工作流程 ### 第一步：收集信息 使用以下工具按顺序收集网站数据： **工具优先级：** 1. `extract_content_from_websites` — 首选，直接提取页面内容 2. `browser` (OpenClaw 内置) — 用于截图和交互式操作 **必抓页面：** - 主页 (/) - 关于我们 (/about 或 /about-us) - 产品/服务页 (/products 或 /services) - 定价页 (/pricing) - 底部导航（联系方式、招聘、法律条款等） **提取内容：** - 导航菜单结构（所有顶层 + 二级菜单项） - 页面标题和副标题 - 表单类型（注册、登录、联系、订阅等） - 交互元素（按钮、功能模块） - 技术栈特征（Meta generator、WTF、Cookie 提示） - Footer 链接结构 ### 第二步：识别功能模块 根据内容，分类识别以下模块： | 模块类型 | 识别特征 | |---------|---------| | 导航系统 | 顶部菜单、侧边栏、面包屑 | | 用户系统 | 登录、注册、用户中心 | | 内容展示 | 轮播图、文章列表、产品卡片 | | 交互表单 | 联系表、订阅、评论、搜索 | | 交易系统 | 定价、购物车、结算、支付 | | 社区功能 | 论坛、评论、评分、分享 | | 数据功能 | 图表、仪表盘、导出 | | 媒体功能 | 视频、图库、下载 | ### 第三步：输出结构化报告 ``` # 网站功能结构分析报告 - 网站地址 - 分析时间 - 整体评价 ## 1. 信息架构 （导航树形图） ## 2. 核心功能模块 （每个模块的功能描述） ## 3. 页面结构 （主要页面及内容概要） ## 4. 技术栈推断 （前端框架、CMS、电商平台等） ## 5. 商业模式识别 （B2B/B2C/C2C/SaaS/内容付费等） ## 6. 竞品差异点 （独特功能或设计亮点） ## 7. 可借鉴之处 （适合自身业务参考的功能） ``` ### 第四步：保存报告 - 分析完成后，将报告保存至 `/workspace/analysis/[域名]_[日期].md` - 如有截图，保存至 `/workspace/analysis/screenshots/` ## 快捷命令 - **竞品分析**：「分析 [URL] 的功能结构，作为竞品参考」 - **功能评估**：「评估 [URL] 的 [具体功能] 是否值得借鉴」 - **技术尽调**：「判断 [URL] 使用的技术栈和开发成本」 - **页面审计**：「列出 [URL] 所有可交互的表单和功能点」 ## 注意事项 - 先抓主页和导航，抓到完整菜单结构后再抓子页面 - 注意识别 Single Page Application (SPA)，内容可能是 JS 动态渲染 - 隐私政策页可了解数据收集和第三方服务 - Robots.txt 可了解站点结构和抓取偏好 - 相似域名（/blog、/help、/docs）与主站技术栈通常一致


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ajmwagar/render-stl-png (version 0.1.0)

# render-stl-png Render an STL to a PNG from a nice, consistent 3D angle ("Blender-ish" default perspective) with a solid color. This is a **deterministic software renderer**: - No OpenGL - No Blender dependency - Uses a simple camera + z-buffer + Lambert shading ## Inputs - STL file path (ASCII or binary) - Output PNG path ## Parameters - `--size <px>`: image width/height (square), default `1024` - `--bg "#rrggbb"`: background color, default `#0b0f14` - `--color "#rrggbb"`: mesh base color, default `#4cc9f0` - `--azim-deg <deg>`: camera azimuth around Z, default `-35` - `--elev-deg <deg>`: camera elevation, default `25` - `--fov-deg <deg>`: perspective field of view, default `35` - `--margin <0..0.4>`: framing margin as fraction of view, default `0.08` - `--light-dir "x,y,z"`: directional light vector, default `-0.4,-0.3,1.0` ## Usage ### One-shot ```bash python3 scripts/render_stl_png.py \ --stl /path/to/model.stl \ --out /tmp/model.png \ --color "#ffb703" \ --bg "#0b0f14" \ --size 1200 ``` ### Wrapper (recommended) The wrapper creates a cached venv (so `pillow` is available) and runs the renderer. ```bash bash scripts/render_stl_png.sh /path/to/model.stl /tmp/model.png --color "#ffb703" ``` ## Notes - This is meant for **marketing/preview images**, not photorealism. - If you need studio lighting / materials, use Blender — but this gets you 80% quickly and reproducibly.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: cunningham050503-ops/contract-renewal-agent (version 1.0.0)

--- name: contract-renewal-agent description: "Manage and track contract renewals. Track expiration dates, monitor renewal windows, and manage contract lifecycle. Stores all contract data locally in JSON database. No API keys required." metadata: { "openclaw": { "emoji": "📋", "requires": {}, "pricing": { "model": "free", "description": "Free to use. Data stored locally on your machine." }, }, } --- # Contract Renewal Agent An AI-powered agent that manages the full contract renewal lifecycle using Claude. ## What It Does - **Track contracts** – store contract metadata, parties, terms, and expiration dates - **Renewal reminders** – surfaces contracts due within configurable windows (30/60/90 days) - **Analyze terms** – reads uploaded contract PDFs/text and extracts key renewal clauses - **Draft proposals** – generates renewal proposals tailored to contract type and relationship history - **Status tracking** – tracks each contract through: `active → renewal_due → negotiating → renewed | expired` ## How to Use ``` "What contracts are up for renewal in the next 60 days?" "Add a contract: Acme Corp SaaS agreement, expires 2025-12-01, value $48,000/yr" "Analyze this contract [upload PDF] and extract renewal terms" "Draft a renewal proposal for the Acme Corp contract" "Mark the Acme Corp contract as renewed at $52,000/yr" ``` ## Running the Agent The agent script is at `scripts/contract_renewal_agent.py`. Run it directly for CLI use, or invoke via this skill for interactive sessions: ```bash python3 scripts/contract_renewal_agent.py ``` Or pass a task directly: ```bash python3 scripts/contract_renewal_agent.py "What contracts are due for renewal this month?" ``` ## Contract Database Contracts are stored in `~/.openclaw/workspace/contract-renewal-agent/contracts.json`. Back this up regularly. ## Tools Available to the Agent - `list_contracts` – list all contracts, optionally filtered by status or days-until-expiry - `add_contract` – add a new contract with metadata - `update_contract` – update contract status, value, notes, or renewal date - `get_contract` – retrieve full details for a specific contract - `analyze_contract_text` – extract key terms and dates from contract text - `draft_renewal_proposal` – generate a renewal proposal for a contract - `delete_contract` – remove a contract from tracking ## References - `references/renewal_strategies.md` – negotiation strategies and renewal timing guidance - `references/contract_templates.md` – renewal proposal templates by contract type


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: xiaohuaishu/api-logger (version 1.2.0)

--- name: api-logger description: | LLM API 调用日志记录、分析与可视化。透明代理拦截所有 LLM API 调用，记录完整 prompt/generation/token 用量， 附带零依赖网页日志查看器（支持多维过滤、完整对话展示、token 成本统计）。 适用场景：分析 API 调用成本、调试 prompt、查看历史对话记录、排查慢请求/失败请求。 包含：proxy.py（代理服务）、log_viewer.py（终端查看器）、log-viewer.html（网页查看器）。 license: MIT metadata: openclaw: emoji: "📊" tags: - api-logging - llm-debug - token-usage - cost-tracking - prompt-debug - log-viewer - proxy requires: bins: ["python3"] --- # API Logger 🦞📊 LLM API 调用日志完整解决方案。透明代理拦截所有请求，零侵入记录，配套终端和网页两种查看方式。 --- ## 🌐 网页日志查看器（推荐） **文件：** `log-viewer.html`（skill 目录内） ### 使用方法 1. 把 `log-viewer.html` 复制到任意位置，双击用浏览器打开 2. 点击「⬆ 选择日志文件」，选择 `.jsonl` 日志文件（支持多文件合并） 3. 也可以直接把日志文件拖拽到页面 ### 功能一览 - **统计卡片**：总调用数 / 成功率 / 平均耗时 / 总 Token 消耗 - **7种过滤条件**（实时响应，无需点搜索）： - 全文搜索（搜索 prompt + response 内容） - 模型筛选（自动提取日志中所有模型） - 状态筛选（全部 / 成功 2xx / 失败） - 最小耗时过滤（找慢请求） - 一键重置 - **日志列表**：时间 | 模型 | 状态 | 耗时 | Token | 用户输入，耗时>2s 自动标红 - **详情面板**（点击任意行展开）： - **对话内容**：完整 system prompt + 多轮对话，user/assistant 分色展示 - **请求信息**：Request ID、模型、时间、耗时、状态、Token 用量 - **原始 JSON**：完整日志记录，语法高亮，一键复制 - **快捷键**：`Esc` 关闭详情，`↑↓` 切换上下条 - **零依赖**：纯原生 JS，无需网络，离线可用 --- ## 💻 终端日志查看器 ```bash # 进入日志查看器目录 cd ~/.openclaw/workspace/company/api-proxy/ # 今日摘要列表 python3 log_viewer.py # 最后 N 条 python3 log_viewer.py --last 5 # 某条完整详情 python3 log_viewer.py --id 3 --full # 今日统计（token 用量、成本估算） python3 log_viewer.py --stats # 今日统计 + 生成飞书文档 python3 log_viewer.py --stats --feishu # 搜索关键词 python3 log_viewer.py --search "关键词" # 只看失败请求 python3 log_viewer.py --errors # 生成飞书文档（超300条自动截断明细） python3 log_viewer.py --feishu # 指定日期 python3 log_viewer.py --date 2026-03-10 --feishu ``` --- ## 📦 安装 ```bash bash ~/.openclaw/workspace/skills/api-logger/install.sh ``` 安装脚本将： 1. 创建 `~/.openclaw/workspace/company/api-proxy/` 2. 复制 `proxy.py` 和 `log_viewer.py` 3. 创建日志目录 `~/.openclaw/workspace/company/api-logs/` 4. 写入 macOS LaunchAgent plist（开机自启动） 5. 启动代理服务 ### 配置（安装后手动完成） **修改 openclaw.json 的 baseUrl：** ```json "baseUrl": "http://127.0.0.1:18790/anthropic" ``` **修改上游地址（proxy.py 中的 `--upstream` 默认值）：** ```python parser.add_argument("--upstream", default="https://your-actual-api-endpoint/anthropic", ...) ``` > ⚠️ 修改 openclaw.json 后需重启 Gateway 才生效，重启前请与用户确认。 --- ## 📁 文件说明 | 文件 | 用途 | |------|------| | `proxy.py` | 透明代理服务（Python asyncio + aiohttp）| | `log_viewer.py` | 终端查看器（彩色输出，支持飞书文档）| | `log-viewer.html` | 网页查看器（零依赖，双击打开）| | `install.sh` | 一键安装脚本 | --- ## 📊 日志字段说明 | 字段 | 说明 | |------|------| | `timestamp` | ISO 时间（含时区）| | `request_id` | UUID | | `streaming` | 是否流式请求 | | `request_body` | 完整请求（model、system、messages）| | `response_status` | HTTP 状态码 | | `response_body_parsed` | 解析后的响应（content、usage）| | `duration_ms` | 耗时（毫秒）| --- ## 注意事项 - 流式调用的 token 用量在 `response_body_parsed.usage` 中 - API Key 自动脱敏（保留前8位后4位） - 飞书文档写入超时设为 120s，失败自动重试 3 次 - 日志按天切割，单文件通常 < 50MB，网页端可流畅处理


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