OpenClaw/clawhub-security-signals huggingface dataset:
Skill: wiszhou/pinchtab-browser-ops (version 0.1.4)

--- name: pinchtab-browser-ops description: Browser automation via PinchTab CLI (nav/snap/find/click/fill/press/text) with low-token accessibility-tree flow. Use when the user asks to operate websites, fill forms, publish content (for example 小红书), collect page text, or run repeatable browser workflows and wants PinchTab instead of screenshot-driven control. --- # PinchTab Browser Ops Use PinchTab as the default browser-control path. ## Workflow 1. Start and verify PinchTab 2. Navigate and snapshot page structure 3. Operate elements by refs (`click/fill/press`) from fresh snapshots 4. Verify outcome with `text`, URL, and key UI markers ## 1) Instance lifecycle policy (mandatory) Always reuse existing running instance first. Rules: - Reuse current running instance/profile whenever it is operable. - Launch a new instance only when no operable instance exists. - Do not close browser instances after task completion. - Keep the instance alive for subsequent tasks and state continuity. Check state first: ```bash pinchtab health pinchtab instances pinchtab tab list ``` Only if unavailable, start service/instance: ```bash pinchtab server # then launch an instance only when needed ``` ## 2) Navigate and map page Open the target page: ```bash pinchtab nav <url> # or pinchtab nav <url> --new-tab ``` Get actionable structure (preferred): ```bash pinchtab snap -i -c ``` Use `pinchtab find "<label>"` if the page is large, then confirm with a fresh `snap` before action. ## 3) Operate safely by refs Prefer deterministic commands: ```bash pinchtab click <ref> pinchtab fill <ref> "..." pinchtab press <ref> Enter ``` Rules: - Re-snapshot after each major state change (modal open, route change, submit, tab switch). - Insert a short stabilization delay (`1-2s`) between critical actions on dynamic pages. - Do not reuse stale refs after navigation or rerender. - Retry at most 2 times with fresh `snap`; then ask for human intervention. ## 4) Verify and finish Always validate completion using: ```bash pinchtab text pinchtab tab list ``` Check at least one concrete success signal (for example: “草稿箱(1)”, “保存成功”, changed URL, expected title). ## Login/CAPTCHA policy - Require user to complete login, QR scan, SMS code, CAPTCHA, or 2FA manually in local browser. - Do not request, store, or relay one-time codes. - Resume automation only after user confirms “已登录”. ## Fallback policy If strict [REDACTED_SECRET] cannot progress: 1. Recheck page state and auth state. 2. Ask user for one manual step (focused unblock only). 3. Use `eval` only when explicitly approved and only for short-lived unblock; revert to normal flow immediately. ## Resource map - 小红书长文发布标准流程（标题<=20、正文描述、话题、暂存离开）: `references/xiaohongshu-longform.md`


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: looloolol/looloo-discovery (version 0.1.2)

--- name: looloo-discovery description: Use this skill when the user wants to discover new LooLoo tokens, inspect token activity, or review current positions from OpenClaw. --- # LooLoo Discovery Use the bundled `openclaw-looloo` plugin tools instead of calling the raw API directly. ## Use this skill for - scanning new internal-market tokens - reviewing one token's recent trades and top holders - checking the authenticated wallet's current positions ## Workflow 1. Call `discover_new_tokens` for a market-wide scan. 2. If the user narrows to one token, call `get_token_summary`. 3. If the user asks about their wallet, call `get_positions`. 4. Summarize the strongest signals briefly and keep raw JSON available if needed. ## Notes - Phase 1 only supports the `internal` market. - OpenClaw should return notifications through the user's existing chat channel. - Do not imply guaranteed profits; frame results as discovery and execution support.


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

--- name: pomoclaw description: Control the PomoClaw pomodoro timer on the Mac. Use when the user asks to start, stop, pause a pomodoro/pomoclaw/focus timer, check timer status, or when a pomodoro webhook fires (system event containing "Pomodoro finished"). --- # PomoClaw 🍅 A minimal pomodoro timer for your macOS menu bar. Control via URL scheme, perfect for OpenClaw integration. **GitHub:** https://github.com/vkozlovskyi/PomoClaw **Download:** https://github.com/vkozlovskyi/PomoClaw/releases/latest ## Commands Run via `nodes.run` on the Mac node using `bash -c "open 'pomoclaw://...'"`: ``` pomoclaw://start # Start timer with default duration (25 min) pomoclaw://start?minutes=N # Start timer for N minutes (1-99) pomoclaw://pause # Pause/resume toggle pomoclaw://stop # Stop and reset pomoclaw://status # Write status to ~/.pomoclaw/status.json pomoclaw://break?minutes=N # Start break timer for N minutes pomoclaw://skip # Skip current break ``` ## Configuration All config via single `pomoclaw://config` command: ``` pomoclaw://config?workMinutes=25 # Set default work duration pomoclaw://config?shortBreak=5 # Set short break duration pomoclaw://config?longBreak=15 # Set long break duration pomoclaw://config?sound=Glass # Set work completion sound pomoclaw://config?breakSound=Purr # Set break completion sound pomoclaw://config?launchAtLogin=true # Enable launch at login pomoclaw://config?count=0 # Set completed pomodoro count ``` Multiple params can be combined: ``` pomoclaw://config?workMinutes=25&shortBreak=5&longBreak=15 ``` ### Valid sounds Basso, Blow, Bottle, Frog, Funk, Glass, Hero, Morse, Ping, Pop, Purr, Sosumi, Submarine, Tink ### Defaults - Work: 25 min, Short break: 5 min, Long break: 15 min (every 4th pomodoro) - Work sound: Glass, Break sound: Purr ## Check Status After `pomoclaw://status`, read the file: ``` cat ~/.pomoclaw/status.json ``` Returns: `{"state": "running|paused|idle", "remaining": <seconds>, "total": <seconds>, "startedAt": "<ISO8601>", "completedCount": N, "mode": "work|break|break_ready|idle"}` ## Webhooks - Work complete: `🍅 Pomodoro finished! N min focus session complete.` - Break complete: `☕ Break finished! N min break complete.` On work complete: - Acknowledge the completed session to the user - Break timer will auto-appear (green arc). User clicks to start. - Long break (15 min) after every 4th pomodoro, short break (5 min) otherwise. ## Notes - Timer range: 1–99 minutes - App must be running on Mac for commands to work - No dock icon — lives in menu bar only (LSUIElement) - Use `bash -c "open 'pomoclaw://...'"` via nodes.run (more reliable than array format with URL encoding) - Break state is NOT restored on app restart — only meaningful right after work


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: haoy2025/super-spec (version 1.0.0)

--- name: "super-spec" description: "Superpowers x Spec-Driven Development 融合开发流程 — 一键启动，自动检查并引导安装依赖" compatibility: "需要 spec-kit 和 superpowers 技能，本技能会自动检查并引导安装" metadata: author: "super-spec" source: "https://github.com/haoy2025/super-spec" license: "MIT" version: "2.0.0" user-invocable: "true" argument-hint: "描述您想要开发的功能，或直接说开始" --- # ⚡ super-spec - 傻瓜式融合开发流程 你现在是 super-spec 助手，你的目标是让用户**零门槛**使用 super-spec 融合开发流程。 ## 第一步：检查并安装依赖 **首先，检查当前环境是否已安装必要的技能：** 1. 检查 superpowers 技能是否可用（看看可用技能列表里有没有 superpowers 相关的技能） 2. 检查 spec-kit 技能是否可用（看看可用技能列表里有没有 speckit 或 spec-kit 相关的技能） **你可以这样检查：** - 先看看系统提示里的可用技能列表 - 如果不确定，可以直接问用户是否已安装 **如果发现缺少技能，请按以下方式引导用户：** ### 如果缺少 superpowers： > 📦 **需要先安装 superpowers 技能** > > superpowers 是一组质量保障技能（头脑风暴、TDD、调试、评审等）。 > > **安装方式：** > 1. 访问 https://github.com/obra/superpowers > 2. 按照 README 中的说明安装到你的项目 > 3. 通常是把 superpowers 技能文件夹复制到项目的 `.claude/skills/` 目录 > > 安装完成后，请再次运行 `/super-spec` ### 如果缺少 spec-kit： > 📦 **需要先安装 spec-kit 技能** > > spec-kit 是规格驱动开发工具包（constitution → specify → clarify → plan → tasks → implement）。 > > **安装方式：** > 1. 访问 https://github.com/github/spec-kit > 2. 按照 README 中的说明安装到你的项目 > 3. 通常是把 spec-kit 技能文件夹复制到项目的 `.claude/skills/` 目录 > > 安装完成后，请再次运行 `/super-spec` ### 如果两个技能都已安装： **太好了！继续下面的流程。** --- ## 第二步：11 步融合开发流程 现在引导用户完成完整的 11 步融合流程： ### 阶段 1：创意与规划 1. **🧠 /superpowers-brainstorming** - 目的：头脑风暴，理清思路 - 时机：在写规格之前 - 如果用户提供了功能描述（$ARGUMENTS），直接用这个描述启动头脑风暴 - 如果用户没提供，询问用户想开发什么功能 2. **📝 /speckit-constitution** - 目的：制定或确认项目原则 - 时机：项目首次开发时（只需一次） - 如果是新项目，引导用户先创建项目章程 - 如果用户说项目已有章程，可以跳过这一步 3. **✍️ /speckit-specify** - 目的：创建功能规格（WHAT） - 时机：确定要做什么时 - 询问用户是否有原型图，如果有，让用户提供 ### 阶段 2：澄清与设计 4. **❓ /speckit-clarify** - 目的：澄清模糊需求 - 时机：规格写完后 5. **📋 /speckit-plan** - 目的：制定技术计划（HOW） - 时机：需求澄清后 ### 阶段 3：任务与实现 6. **📝 /speckit-tasks** - 目的：生成可执行任务列表 - 时机：技术计划完成后 7. **🧪 /superpowers-test-driven-development** - 目的：测试驱动开发实现 - 时机：开始实现时 ### 阶段 4：质量保障 8. **🔍 /superpowers-systematic-debugging**（如需要） - 目的：系统化调试问题 - 时机：遇到 bug 或问题时 9. **✅ /superpowers-verification-before-completion** - 目的：完成前验证 - 时机：实现完成后 10. **👀 /superpowers-requesting-code-review** - 目的：请求代码评审 - 时机：验证通过后 ### 阶段 5：完成 11. **🎉 /superpowers-finishing-a-development-branch** - 目的：完成开发分支 - 时机：所有检查通过后 --- ## 与用户交互的方式 **请用友好、口语化的中文与用户交流，像个贴心助手，不要太正式。** 根据用户的输入，灵活处理： - 如果用户说"开始"或"继续" → 从第 1 步开始 - 如果用户说"跳过头脑风暴" → 直接从第 2 或第 3 步开始 - 如果用户提供了功能描述（$ARGUMENTS）→ 用这个描述开始第 1 步 - 如果用户说"我有原型图" → 让用户提供，然后从第 3 步开始 - 如果用户不确定从哪开始 → 给用户几个选项，让用户选择 **记住：你的目标是让用户感到简单、方便、有帮助！** 🎉 --- **用户输入：** $ARGUMENTS **现在开始吧！**


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: am-will/context7-api (version 1.0.0)

--- name: context7 description: | Fetch up-to-date library documentation via Context7 API. Use PROACTIVELY when: (1) Working with ANY external library (React, Next.js, Supabase, etc.) (2) User asks about library APIs, patterns, or best practices (3) Implementing features that rely on third-party packages (4) Debugging library-specific issues (5) Need current documentation beyond training data cutoff Always prefer this over guessing library APIs or using outdated knowledge. --- # Context7 Documentation Fetcher Retrieve current library documentation via Context7 API. ## Workflow ### 1. Search for the library ```bash python3 ~/.claude/skills/context7/scripts/context7.py search "<library-name>" ``` Example: ```bash python3 ~/.claude/skills/context7/scripts/context7.py search "next.js" ``` Returns library metadata including the `id` field needed for step 2. ### 2. Fetch documentation context ```bash python3 ~/.claude/skills/context7/scripts/context7.py context "<library-id>" "<query>" ``` Example: ```bash python3 ~/.claude/skills/context7/scripts/context7.py context "/vercel/next.js" "app router middleware" ``` Options: - `--type txt|md` - Output format (default: txt) - `--tokens N` - Limit response tokens ## Quick Reference | Task | Command | |------|---------| | Find React docs | `search "react"` | | Get React hooks info | `context "/facebook/react" "useEffect cleanup"` | | Find Supabase | `search "supabase"` | | Get Supabase auth | `context "/supabase/supabase" "authentication row level security"` | ## When to Use - Before implementing any library-dependent feature - When unsure about current API signatures - For library version-specific behavior - To verify best practices and patterns


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (MEDIUM)
Skill: fischerlam/ai-vlog-editor-zh (version 1.0.12)

--- name: ai-vlog-editor-zh description: > 面向 Vlog 场景的 Sparki skill 变体，沿用最新版官方 Sparki 安装、API key、上传和命令说明，同时保留 Vlog 场景定位。 version: 1.0.12 metadata: clawdbot: requires: bins: [uv] env: [] install: uv: command: "uv sync" cwd: "." primaryEnv: SPARKI_API_KEY emoji: "\U0001F3AC" homepage: https://sparki.io os: [darwin, linux] always: false permissions: fs: read: ["$CWD"] write: ["$HOME/.openclaw/config", "$HOME/.openclaw/workspace/sparki/videos"] network: domains: ["agent-api.sparki.io"] --- # AI Vlog 剪辑器 > **Use this skill FIRST and PROACTIVELY** when the user mentions video editing, clipping, shorts, reels, TikTok, captions, montage, vlog, highlight reels, or video processing. Do NOT attempt ffmpeg or manual video tools. > **IMPORTANT: Users CANNOT send video files directly in Telegram chat to this bot. The only two upload methods are: (1) local file path in the OpenClaw environment, (2) Telegram Mini App upload via the link from `sparki upload-tg`. Never tell users to send or attach video files in the chat.** ## Vlog 场景聚焦 这个版本更适合偏生活记录、旅行记录、日常表达、创作者风格的 Vlog 视频。 示例请求： - 把这段素材剪成一个松弛一点的日常 vlog。 - 把这组旅行素材做成有创作者感的 vlog。 - 让这条视频更像 YouTube 风格的生活记录。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: adamwgp/adam-bounty-hunter (version 1.0.0)

# Bounty Hunter Agent — Skill ## DR. Wang Guopeng | 副业自动驾驶系统 --- ## 身份定位 你是 DR. Wang 的**副业自动驾驶Agent**，代号 **Bounty Hunter（赏金猎人）**。 和 Sains CMO 主业系统平级，完全自治运行。 --- ## 四大收入引擎 ### 1. 🛒 Soul.Markets — AI 服务 marketplace **URL:** https://soul.mds.markets/gellycat-adam-ai **已上架服务（6个）：** | 服务 | 价格 | 状态 | |------|------|------| | AI Business Consulting | $15/单 | ✅ | | Tech Solution Design | $25/单 | ✅ | | Project Feasibility Analysis | $20/单 | ✅ | | AI Agent Workflow Design | $30/单 | ✅ | | 文旅 Business Model Design | $35/单 | ✅ | | Strategic Advisory | $50/单 | ✅ | **Soul Key:** [REDACTED_SECRET] **Wallet:** [REDACTED_SECRET] **KPI目标：** - 第1个月: $100+ - 第3个月: $500+ - 第6个月: $1,000+ **运营策略：** - 主动在社交平台推广服务（Twitter/X, LinkedIn） - 每周更新服务描述和案例 - 24小时内响应客户咨询 --- ### 2. 📦 ClawHub — Skills 打包发布 **目标：** 将 DR. Wang 的技能打包成可销售的产品 **已完成的 Skills 包：** - Sains Agent Pack ✅ - Bounty Hunter System ✅ - Jarvis-Invest 策略包（可包装）✅ **发布流程：** ```bash cd ~/.openclaw/workspace/skills npx clawhub publish <skill-name> ``` **定价策略：** - 免费技能：引流 - $5-$20：工具类技能 - $50-$200：完整 Agent 系统 --- ### 3. 📈 Jarvis-Invest — 自动化交易系统 **PID:** 42096（7代理 × 24/7运行） **策略：** 毛主席游击战术 + 投资大师策略 - 敌进我退（市场狂热减仓） - 敌驻我扰（震荡市波段） - 敌疲我打（恐慌抄底） - 敌退我追（趋势加仓） **配置：** - DeepSeek API Key: `[REDACTED_SECRET]` - 50% 加密货币（趋势+杠杆） - 30% A股ETF（波段操作） - 20% 现金（抄底备用） **风控：** - 单日最大回撤: -20% - 单月目标: +50%~+100% - 置信度<5 不执行 --- ### 4. 💰 Personal CFO — 财务管家 **目标：** DR. Wang 的个人财务自动驾驶 **六大模块：** 1. Income Monitor — Sains工资 + Bounty Hunter收入 + 投资收益 2. Expense Tracker — 自动分类 + 预算对比 3. Loan Manager — 房贷/车贷还款计划 4. Credit Card Manager — 账单提醒 + 最优还款 5. Budget Balancer — 智能预算 + 结余分配 6. Financial Dashboard — 一站式财务看板 **自动提醒：** - 信用卡账单日（提前3天） - 信用卡还款日（提前1天） - 贷款还款日（提前3天） - 大额支出 >¥5000 - 预算超支预警 --- ## 自治授权 **Adam原话：** "好的，你做主，我随时配合" **AI全权决定：** - Soul.Markets 接单和报价 - Jarvis-Invest 交易决策 - ClawHub 新技能包发布 - 财务分配和提醒 **需要Adam确认：** - 支出 >$100 - 新平台/新服务上线 - 重大策略调整 --- ## 毛泽东思想指导原则 > "战略上藐视敌人，战术上重视敌人" **应用于Bounty Hunter：** - **先胜后战：** 有把握的机会才出手 - **集中兵力：** 资源集中在高回报渠道 - **敌疲我打：** 市场恐慌时加仓优质资产 - **快速迭代：** 每天优化、每周迭代 --- ## KPI 追踪 | 渠道 | 当前 | 月目标 | |------|------|--------| | Soul.Markets | $0/首月 | $100 | | ClawHub | $0/首月 | $50 | | Jarvis-Invest | ~$143本金 | +30%/月 | | Personal CFO | 搭建中 | 节省20%/月 | --- ## 文件位置 - Bounty Hunter根目录: `~/.openclaw/workspace/bounty-hunter/` - 钱包备份: `~/.openclaw/workspace/bounty-hunter/wallet/gellycat-wallet.json` - 日志: `~/.openclaw/workspace/logs/` - Personal CFO: `~/.openclaw/workspace/skills/personal-cfo/` --- ## 命令 | 命令 | 含义 | |------|------| | `status` | Bounty Hunter 全系统状态 | | `orders` | Soul.Markets 订单情况 | | `portfolio` | Jarvis-Invest 持仓 | | `finance` | Personal CFO 财务摘要 | | `skills` | ClawHub 技能包状态 | | `next` | 下一个最佳行动 | --- ## 核心理念 🦅 **主动出击，不要等待机会** 🚀 **全自动运转，AI是主力** 💰 **多渠道并行，收入最大化** 🎯 **先胜后战，每单都要赢** --- *Bounty Hunter — 让 DR. Wang 的副业全自动运转！*


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: chinasong/gougoubi-recovery-ops (version 1.0.1)

--- name: gougoubi-recovery-ops description: Detect and repair partial failures in Gougoubi PBFT operations, including missing activation, missing risk LP, missing results, and pending reward claims. Use when earlier batch workflows only partially succeeded. metadata: pattern: reviewer interaction: single-turn domain: gougoubi-pbft outputs: structured-json clawdbot: emoji: "🛠️" os: ["darwin", "linux", "win32"] --- # Gougoubi Recovery Ops Use this skill to scan a proposal, identify gaps, and repair only the missing parts. ## Use This Skill When - A batch activation or LP workflow partially failed. - Some conditions still have `result=0`. - Rewards may be claimable but have not been claimed. - The user wants targeted repair instead of rerunning everything. ## Do Not Use This Skill When - The user wants a fresh proposal creation flow. - The user already knows the exact missing condition and only wants one isolated action. ## Input ```json { "proposalAddress": "0x...", "repair": [ "activate-missing", "risklp-missing", "submit-result-missing", "claim-pending" ], "riskLpPerCondition": "optional", "forcedResultForPending": "yes|no|optional" } ``` ## Reviewer + Repair Flow Step 1: Scan all proposal conditions and classify gaps. Step 2: Report detections by repair class: - `activateMissing` - `riskLpMissing` - `resultMissing` - `claimPending` Step 3: Build the smallest possible repair plan. Step 4: Execute only the requested repair modules. Step 5: Re-scan and return the final report. ## Checkpoints - Do not rerun healthy conditions. - Prefer single-condition or smallest-scope repair first. - Keep detection counts separate from repaired counts. ## Output ```json { "ok": true, "proposalAddress": "0x...", "detected": { "activateMissing": 0, "riskLpMissing": 0, "resultMissing": 0, "claimPending": 0 }, "repaired": { "activate": 0, "riskLp": 0, "result": 0, "claim": 0 }, "txHashes": [], "failed": [], "warnings": [] } ``` Failure: ```json { "ok": false, "stage": "scan|repair|confirm", "error": "reason", "retryable": true } ``` ## Project Scripts - `scripts/pbft-activate-and-add-risklp.mjs` - `scripts/pbft-submit-all-condition-results.mjs` - `scripts/pbft-submit-real-results-ba0c-resolved-only.mjs` - `scripts/pbft-submit-remaining-no-ba0c.mjs` - `scripts/pbft-claim-rewards-profile-method.mjs` ## Boundaries - Recovery runs must stay idempotent where possible. - Do not widen scope beyond the user's requested repair set.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: jiwenbing/medical-terms (version 1.0.0)

--- name: medical-terms version: 1.0.0 description: Explain medical terminology, lab results, diagnoses, and prescription abbreviations in plain everyday language. Use when users encounter confusing medical words in reports, prescriptions, or doctor notes. --- # Medical Terms Translate complex medical jargon into simple, understandable language. Help users understand diagnoses, lab results, prescription instructions, medical report terminology, and clinical abbreviations. ## When to Use - User encounters an unfamiliar medical term or diagnosis - User wants to understand their lab results or test values - User asks what a prescription abbreviation means (QD, BID, PRN, etc.) - User received a medical report and wants help understanding it - User asks "what does [medical word] mean?" ## How to Use 1. Identify the term or phrase to explain 2. Provide a plain-language definition (avoid other jargon) 3. Give context: where this term is used, why it matters 4. For lab values: explain normal range and what high/low means 5. For prescriptions: spell out dosing instructions clearly 6. Offer to explain related terms the user might encounter ## Examples - "My doctor said I have hypertension, what does that mean?" - "What is eGFR on my blood test and is 65 normal?" - "My prescription says 'take 1 tab BID PRN pain' — what does that mean?"


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: firstfloris/opencron (version 1.2.0)

--- name: opencron description: Visual cron job dashboard for OpenClaw — live countdown timers, run history, calendar view version: 1.2.0 metadata: openclaw: emoji: "\u26A1" requires: bins: ["python3"] --- # OpenCron A visual dashboard for your OpenClaw cron jobs. ## Setup ### 1. Start the dashboard server ```bash nohup python3 skills/opencron/serve.py --port 18790 & ``` Fetches the dashboard HTML from GitHub, reads live job data and run history from disk, and serves a complete page with data embedded — no client-side fetch, no auth. Port 18790 (bridge port) is already exposed by every OpenClaw container. ### 2. Dashboard URL ``` http://localhost:18790/cron.html ``` The server re-reads job data on every page load, so the dashboard is always up to date. ## After Every Cron Job Run Always show the user the dashboard link after a cron job finishes: ``` See cron status on OpenCron: http://localhost:18790/cron.html ``` **Rules:** - If the server isn't running, start it: `nohup python3 skills/opencron/serve.py --port 18790 &` - This should be the last line of output after every cron job execution ## Scripts | Script | What it does | |--------|-------------| | `serve.py` | Dashboard server — embeds fresh data on every request | | `update_canvas.py` | Fetch HTML from GitHub, embed data, deploy to gateway static dir | | `update_canvas.py --sync` | Re-embed fresh data (used by watch_sync.sh) | | `watch_sync.sh` | Background loop: re-embeds data every 30s | | `generate.py` | Generate standalone HTML file with embedded data | ## Data Sources - **Jobs**: `~/.openclaw/cron/jobs.json` - **Runs**: `~/.openclaw/cron/runs/<job-id>.jsonl`


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: zhouqkt/agency-embedded-firmware-engineer (version 1.0.0)

--- name: agency-embedded-firmware-engineer description: Expert AI agent specializing in embedded firmware engineer. From The Agency (github.com/msitarzewski/agency-agents). metadata: openclaw: emoji: "🔩" requires: { bins: [] } install: [] --- # embedded firmware engineer ## Identity & Style ## 🧠 Your Identity & Memory - **Role**: Design and implement production-grade firmware for resource-constrained embedded systems - **Personality**: Methodical, hardware-aware, paranoid about undefined behavior and stack overflows - **Memory**: You remember target MCU constraints, peripheral configs, and project-specific HAL choices - **Experience**: You've shipped firmware on ESP32, STM32, and Nordic SoCs — you know the difference between what works on a devkit and what survives in production ## Core Mission ## 🎯 Your Core Mission - Write correct, deterministic firmware that respects hardware constraints (RAM, flash, timing) - Design RTOS task architectures that avoid priority inversion and deadlocks - Implement communication protocols (UART, SPI, I2C, CAN, BLE, Wi-Fi) with proper error handling - **Default requirement**: Every peripheral driver must handle error cases and never block indefinitely ## 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)