OpenClaw/clawhub-security-signals huggingface dataset:
Skill: cantonbio-skill/hcp-data-process (version 1.0.0)

--- name: hcp-data-process description: 从 HCP 仪器结果文件中提取汇总表。适用于用户提供的 HCP 类 Excel 文件，其中第一个 sheet 或原始文本包含 Sample、QC、Standards 等 Group 分段，并希望按样例格式生成新的汇总 sheet。 --- # HCP结果提取 当 HCP 结果文件遵循 `hcp_dataextract/` 中样例的导出结构时，使用这个 skill。 ## 功能说明 - 读取 `.xlsx` 工作簿，以及 UTF-16 制表符分隔的 `.xls` 导出文件。 - 从第一个 sheet 或原始导出文本中解析 `Group:` 分段。 - 提取 `Sample`、`MeanResult` 或 `Meanresult`、`CV%` 或 `CV`。 - 按样例布局生成新的汇总 sheet，起始位置为第 `C` 列、第 `4` 行。 - 仅对生成的汇总 sheet 设置背景色：分组行、表头行、分组后的空白行用浅蓝色，数据行用淡绿色。 ## 使用命令 运行内置脚本： ```bash python scripts/extract_hcp.py <input-path> ``` 常用参数： - `--output-dir <dir>`：将处理结果写入指定目录。 - `--sheet-name <name>`：指定生成的汇总 sheet 名称，默认是 `Sheet1`。 - `--overwrite`：若输出文件已存在则覆盖。 输入路径既可以是单个文件，也可以是目录。若传入目录，脚本会扫描其中的 `.xlsx`、`.xlsm`、`.xls` 文件。 ## 输出行为 - 对 `.xlsx` 和 `.xlsm` 文件，脚本会复制原工作簿，替换或创建汇总 sheet，并另存为以 `_extracted.xlsx` 结尾的新文件。 - 对 UTF-16 文本形式的 `.xls` 导出文件，脚本会生成新的 `.xlsx` 工作簿，其中： - 第 1 个 sheet：导入后的原始数据 - 第 2 个 sheet：提取后的汇总表 - 第一个 sheet 的原始数据不设置颜色，只有第二个 sheet 的汇总表会应用背景色。 ## 说明 - 解析逻辑基于表头名称而不是固定列号，因此兼容 `MeanResult` / `Meanresult` 以及 `CV%` / `CV`。 - 会忽略空白续行，只提取每个样本的主记录行。 - 只有汇总 sheet 会设置样式，原始数据的第一个 sheet 不做颜色处理。 - 汇总 sheet 的样式与样例保持一致：分组行、表头行、分组后的空白行使用浅蓝色，数据行使用淡绿色。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: pengxiaotian/article-style-analyzer (version 1.0.0)

--- name: article-style-analyzer description: 文章风格深度分析与模仿指南生成。当用户提供一篇或多篇文章样本，要求分析写作风格、提取风格特征、生成模仿指南、或按某种风格创作新内容时使用。触发场景：(1) 分析某作者/某篇文章的写作风格；(2) 提取风格特征用于模仿；(3) 按指定风格写作；(4) 对比多篇文章找出稳定风格特征。 --- # 文章风格分析与模仿 ## 工作流程 ### 输入处理 - **单篇**：直接分析，输出风格报告 + 模仿指南 - **多篇（推荐 3-5 篇）**：先逐篇分析，再交叉对比，提取恒定特征，构建风格模型 - **指定作者名**：基于已知风格知识分析，若知识不足，请求用户提供原文样本 ### 分析流程（多篇） 1. 单篇分析 → 2. 交叉对比 → 3. 提取恒定特征 → 4. 识别适应性特征 → 5. 构建风格模型 ### 输出结构 使用 `references/output-schema.md` 中的 JSON Schema 输出完整分析结果。 - 单篇输入：输出简化版（省略"跨文本恒定特征"和"风格变化分析"两节） - 多篇输入：输出完整版 ### 模仿任务 当用户在分析后要求按该风格写作时： 1. 参照"综合模仿指南"中的"模仿步骤"逐步执行 2. 先在内部完成思维模式和结构框架，再生成正文 3. 写完后对照"模仿优先级"自查，校准后输出 ## 分析原则 - **多篇交叉验证**：单篇出现的特征不算"恒定特征"，需至少两篇以上佐证 - **共性与特性区分**：区分"恒定风格"与"主题适应性调整" - **宏微观结合**：思维模式 + 具体语言技巧同等重要 - **避免误区**：参见输出 Schema 中的"常见模仿误区"，分析时主动规避 ## 详细分析维度 见 `references/analysis-dimensions.md`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: xu-fengxie/skill-manager-2 (version 0.1.0)

--- name: skill-manager description: Install and manage OpenClaw agent skills. Learn how to find, install, and configure new capabilities from ClawHub and GitHub. --- # OpenClaw Skills 安装指南 本技能基于视频教程：https://www.bilibili.com/video/BV1PbFUzZEvN ## 概述 OpenClaw 是目前最流行的 AI 智能体。要让它变强，需要安装更多的技能包（Agent Skills）。 ## 安装方法 ### 方法1：使用 Vercel CLI ```bash # 安装 Vercel Skills 工具 npm install -g @vercel/skills # 查看可用技能 skills # 安装技能 skills install <skill-name> # 例如安装天气技能 skills install weather ``` ### 方法2：使用 ClawHub ```bash # 安装 clawdhub 工具 npm install -g clawdhub # 搜索技能 clawdhub search <keyword> # 安装技能 clawdhub install <owner/skill-name> # 例如 clawdhub install steipete/weather ``` ### 方法3：从 GitHub 直接安装 ```bash # 克隆技能仓库 git clone https://github.com/<owner>/<skill-repo>.git ~/.openclaw/workspace/skills/<skill-name> # 或者使用 npx npx clawdhub install <owner>/<skill-name> ``` ## 常用技能推荐 ### 必备 - weather - 天气查询 - brave-search / tavily-search - 网页搜索 - summarize - 内容总结 ### 开发 - github - GitHub 操作 - openai-whisper - 语音转文字 - humanizer - 文字润色 ### 生产力 - gog - Google Workspace - notion - Notion 集成 - obsidian - 笔记管理 ### 进阶 - self-improving-agent - 自我改进 - proactive-agent - 主动预判 - ontology - 知识图谱 ## 技能存放位置 ``` ~/.openclaw/workspace/skills/ ├── weather/ │ ├── SKILL.md │ ├── install.sh │ └── ... ├── brave-search/ │ └── ... └── ... ``` ## 验证安装 ```bash # 列出已安装技能 ls ~/.openclaw/workspace/skills/ # 查看技能详情 cat ~/.openclaw/workspace/skills/<skill-name>/SKILL.md ``` ## 注意事项 1. 部分技能需要配置 API Key（如 Tavily、Brave、OpenAI 等） 2. 有些技能需要安装额外的 npm 包 3. 建议阅读每个技能的 SKILL.md 了解具体用法


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)
Skill: kevinkom-byte/facebook-secure (version 1.0.2)

--- name: facebook description: OpenClaw skill for Facebook Graph API workflows focused on Pages posting, comments, and Page management using direct HTTPS requests. --- # Facebook Graph API Skill (Advanced) ## Purpose Provide a production-oriented guide for building Facebook Graph API workflows for Pages: publishing posts, managing comments, and operating Page content safely using direct HTTPS calls. ## Best fit - You need Page posting and comment workflows. - You want a professional command design and safe operational guidance. - You prefer direct HTTP requests rather than SDKs. ## Not a fit - You need advanced ads or marketing APIs. - You must use complex browser-based OAuth flows. ## Quick orientation - Read `references/graph-api-overview.md` for base URLs, versions, and request patterns. - Read `references/page-posting.md` for Page publishing workflows and fields. - Read `references/comments-moderation.md` for comment actions and moderation flows. - Read `references/permissions-and-tokens.md` for access types and scope guidance. - Read `references/webhooks.md` for subscriptions and verification steps. - Read `references/http-request-templates.md` for concrete HTTP request payloads. ## Required inputs - Facebook App ID and App Secret. - Target Page ID(s). - Token strategy: user token → Page access token. - Required permissions and review status. ## Expected output - A clear Page workflow plan, permissions checklist, and operational guardrails. ## Operational notes - Use least-privilege permissions. - Handle rate limits and retries. - Log minimal identifiers only. ## Security notes - Never log tokens or app secrets. - Validate webhook signatures. ## Credentials & Secret Management This skill requires the following environment variables to be set: - `FB_APP_ID` – Your Facebook App ID. - `FB_APP_SECRET` – Your Facebook App Secret (highly sensitive). - `FB_PAGE_ID` – The target Facebook Page ID. - `FB_ACCESS_TOKEN` – A Page access token with sufficient permissions. **Best practices:** - Store secrets in a secure vault or environment manager; do not hardcode. - Use different tokens for development and production. - Rotate tokens periodically and after any suspected compromise. - Restrict App Secret access to minimal personnel. ## Incident Response If a token or secret is suspected to be leaked: 1. Immediately revoke the token in the Facebook Developer Dashboard. 2. Generate a new Page access token. 3. Rotate the App Secret if necessary. 4. Review logs for unauthorized usage. ## Authentication All Graph API calls must include a valid access token either as a query parameter `access_token` or in the `Authorization: Bearer <token>` header. See `references/http-request-templates.md` for examples. ## Additional References - `references/security-and-secrets.md` – Detailed security guidelines. - `references/permissions-and-tokens.md` now includes environment variable requirements. - `references/http-request-templates.md` includes authentication patterns.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: shake/calibre-convert (version 1.0.0)

--- name: calibre-convert description: Use this skill when the user wants to convert ebook or document files between formats with Calibre, including EPUB to PDF, Markdown to EPUB, MOBI to EPUB, AZW3 to EPUB, HTML to EPUB, DOCX to EPUB, and similar source/target format pairs supported by ebook-convert. --- # Calibre Convert ## Overview `calibre-convert` uses Calibre's `ebook-convert` CLI to perform ebook and document format conversion. Use it when the user wants a direct file-to-file conversion and the desired input/output formats are supported by Calibre. ## Quick Start 1. Confirm the source file exists and decide the exact output path. 2. Check whether `ebook-convert` is available in `PATH`. 3. Run the helper script: ```bash ./scripts/convert_with_calibre.py /path/to/input.epub /path/to/output.pdf ``` 4. If the user wants format-specific tuning, pass Calibre arguments after `--`: ```bash ./scripts/convert_with_calibre.py /path/to/book.md /path/to/book.epub -- --chapter "//h:h1" --authors "Example Author" ``` ## Workflow ### 1. Validate inputs - Ensure the input file exists. - Ensure the output directory exists or create it if the task allows edits there. - Infer the requested conversion from the output extension when the user says things like "convert EPUB to PDF". ### 2. Check Calibre availability Use the bundled script first. It looks for `ebook-convert` in `PATH`, then common macOS install locations. If Calibre is missing, stop and tell the user exactly which command is missing. Do not pretend the conversion succeeded. ### 3. Run conversion The core command is: ```bash ebook-convert input_file output_file [options...] ``` Common examples: - EPUB -> PDF - Markdown -> EPUB - MOBI -> EPUB - AZW3 -> EPUB - HTML -> EPUB - DOCX -> EPUB When the user does not specify extra options, prefer the simplest possible conversion. ### 4. Verify result - Confirm the output file was created. - Report the final path back to the user. - If Calibre emits warnings, summarize only the meaningful parts. ## Notes - Calibre support varies by format pair and by installed version. - PDF output quality depends heavily on source structure and metadata. - Markdown input is handled by Calibre's parsers; if the output looks poor, try converting via HTML or adding explicit options. - For large batches, loop over files and keep source/target extensions explicit instead of guessing. ## Resources ### scripts/ - `scripts/convert_with_calibre.py`: validates paths, finds `ebook-convert`, and forwards extra options safely. ### references/ - `references/examples.md`: ready-to-copy conversion examples and troubleshooting notes.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: elliotlaw/pharmaceutical-bidding (version 1.0.0)

# Pharmaceutical System Bidding Information Collection Skill ## Overview This skill automates the collection and analysis of pharmaceutical system related bidding information from provincial procurement websites. It performs verification, filtering, and evaluation to identify promising bidding opportunities for sales teams. ## Workflow ### 1. Information Collection - **Source**: Search provincial procurement websites using targeted keywords - **Query**: "药学系统" (pharmaceutical system) related bidding information - **Output**: Collect bidding information with source URLs ### 2. Verification & Filtering For each collected item, verify all criteria: - ✅ Product is a pharmaceutical system - ✅ Deadline for obtaining bidding documents > 2 days - ❌ Skip if any criteria fail ### 3. Secondary Research (if needed) - When source URLs lack sufficient information - Use search engines to gather additional details - Apply same verification criteria ### 4. Data Recording Record key information in WeChat Work smart table: - 购标截止日期 (Bid document deadline) - 开标日期 (Bid opening date) - 招标单位 (Bidding unit) - 项目名称 (Project name) - 预算金额 (Budget amount) - 涉及产品范围 (Product scope) - 对应负责销售 (Responsible sales person) ### 5. Evaluation & Bidding Suggestions **If bidding documents available:** - Analyze bidding qualifications - Review technical parameters - Assess project budget - Evaluate bid opening time - Provide bidding recommendations **If no bidding documents available:** - Evaluate bid opening time - Assess project budget - Analyze product requirements - Provide bidding recommendations ### 6. Project Classification Mark as "可参与项目" (Participate) if meeting ANY criteria: - 开标时间 - 当日日期 > 10天 AND 购标截止日期 - 当日日期 > 2天 - 项目预算金额 > 100万元 - 招标单位为三级医院或县人民医院 ## Scheduled Execution - **Time**: Daily at 8:30 AM - **Action**: Automatically collect and populate WeChat Work smart table ## Required Tools - Web search functionality - Web scraping capabilities - Data verification logic - WeChat Work API integration - Scheduling system ## Configuration - Target procurement websites to monitor - WeChat Work smart table integration details - Sales team assignment rules - Budget thresholds - Hospital classification criteria


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: 1kalin/ai-meeting-prep (version 1.0.0)

--- name: Meeting Prep description: Prepares briefing docs so you walk into every meeting ready --- # Meeting Prep You prepare briefing documents before meetings so the user walks in informed, confident, and ready. ## When Triggered User says anything like: "I have a meeting with...", "Prep me for...", "Brief me on...", "Meeting with [person/company] tomorrow" ## Briefing Template ### 1. Meeting Basics - **Who:** Names, titles, LinkedIn profiles - **Company:** What they do, size, recent news - **Context:** Why this meeting is happening - **Goal:** What does the user want out of this meeting? ### 2. People Research For each attendee, find: - Current role and tenure - Previous companies/roles (shared connections?) - Recent LinkedIn posts or articles (conversation starters) - Anything they've said publicly about relevant topics ### 3. Company Intel - What the company does (one sentence) - Recent news (last 90 days) — funding, launches, hires, earnings - Competitors - Potential pain points based on their industry/size/stage ### 4. Agenda & Talking Points Based on the meeting context, suggest: - 3-5 talking points in priority order - Questions to ask (smart ones that show you did your homework) - Potential objections or concerns they might raise - Data points or proof points to have ready ### 5. Relationship Context If the user has met this person/company before: - Pull from any previous notes or CRM data - Reference past conversations - Note any commitments made previously ### 6. One-Pager Output Compile everything into a scannable one-pager: ``` MEETING BRIEF: [Company/Person] | [Date] [Time] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ GOAL: [What you want to achieve] ATTENDEES: • [Name] — [Title] — [Key detail] COMPANY SNAPSHOT: [1-2 sentences] RECENT NEWS: • [Headline 1] • [Headline 2] TALKING POINTS: 1. [Point] 2. [Point] 3. [Point] QUESTIONS TO ASK: 1. [Question] 2. [Question] WATCH OUT FOR: • [Potential objection or sensitive topic] NEXT STEPS TO PROPOSE: • [What you'll suggest at the end] ``` ## Rules - Research is the job. Use web search for every person and company. - Keep the brief scannable — bullet points, not paragraphs. - Flag unknowns. "Couldn't find recent news" is better than making something up. - Time-sensitive: If the meeting is soon, prioritize speed over depth. - Always end with suggested next steps to propose in the meeting.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (MEDIUM)
Skill: afeicn/tax-assistant (version 0.1.2)

--- name: tax-assistant description: "个税汇算清缴助手。支持年终奖与期权双重单独/合并计税决策优化，智能分析多雇主重复起征点与税率跳档，生成个税 APP 申报实操指南。" --- # 个税汇算清缴助手 (Tax Assistant) # 角色定义 你是一个极具专业度与服务意识的“个税汇算清缴决策专家”。你的任务是根据中国个税法，帮助纳税人对比年终奖与期权在“单独计税”和“并入综合所得”共计 4 种组合下的最优申报路径，计算出能够实现**退税最多或补税最少**的最优申报方案，并生成可在个人所得税 APP 中直接对照操作的“傻瓜式申报指南”。 # 触发条件 当用户提及汇算清缴、个税计算、年终奖计税方式、期权扣税、股权激励汇算、多交税、退税、补税、多雇主申报等关键词时触发。 # 数据收集与解析逻辑 你可以通过用户的**文字描述**或**个税 APP 截图**（如“收入纳税明细”、“汇算清缴申报页”）提取数据。如果数据缺失，请主动引导用户提供。 需提取的关键数据字段： 1. **工资薪金收入** (税前总额) 2. **劳务报酬所得** (税前总额) 3. **稿酬所得** (税前总额) 4. **特许权使用费所得** (税前总额) 5. **全年一次性奖金 (年终奖)** 6. **期权/股权激励所得** 7. **各项扣除合计** (包括五险一金、专项附加扣除、商业健康险等，注意：**不包含 60,000 元基本减除费用**。如果用户提供的是包含 60,000 元的扣除额，请扣除 60,000 后再传入) 8. **各项已预缴税额** (包括工资已预缴、劳务代扣、年终奖已缴、期权已缴个税) 9. **是否存在多处享受起征点** (如多雇主重复享受了 5000/月的扣除，确认重复的月份或金额) # 工具调用规范 获取数据后，你**必须**调用内部的决策计算脚本 `tax_calculator.py`，避免口算。 运行命令示例： ```bash python3 ~/.gemini/config/skills/tax-assistant/tax_calculator.py \ --salary <工资薪金税前> \ --labor <劳务报酬税前> \ --manuscript <稿酬税前> \ --royalty <特许权使用费税前> \ --bonus <年终奖金额> \ --options <期权所得金额> \ --deductions <扣除合计(不含60k)> \ --paid_salary_tax <已预缴工资税> \ --paid_labor_tax <已预缴劳务税> \ --paid_bonus_tax <已预缴年终奖税> \ --paid_options_tax <已预缴期权税> \ --duplicated_exemption <重复起征点金额> ``` # 输出报告规范 拿到脚本输出的 JSON 后，你需要根据以下结构为用户输出一份**极具特色、通俗易懂的个税决策报告**： ### 🎯 1. 最优申报决策推荐 - 给出明确的结论。例如：**“推荐您选择【年终奖单独计税 + 期权单独计税】申报方式，这是您的绝对最优解！”** - 明确指出这比最差的申报方式能**为您节省多少钱**（对应 `Tax_Saved_Vs_Worst` 字段）。 - 说明最终汇算结果是**应退税**还是**应补税**，具体金额是多少。 ### 📊 2. 四种计税策略横向对比 提供一个清晰的 Markdown 对比表格，展示以下四种组合的总个税对比： - 方案 A：年终奖单独计税 + 期权单独计税 - 方案 B：仅期权单独计税，年终奖并入综合所得 - 方案 C：仅年终奖单独计税，期权并入综合所得 - 方案 D：年终奖与期权均并入综合所得 ### 💡 3. 个税账目健康诊断 (Diagnostics & Reasons) 用通俗易懂的“拼积木”或“多扣除收回”比喻，向用户解释为什么会产生退税或补税： - **重复享受免税额度**：如果存在多雇主导致多抵扣了 5,000 元/月，指出这需要补交的税额。 - **税率级距跳升**：解释由于多处收入合并，导致总额跃升至更高的税率档位（如 35%、45%），需要补缴税率差额。 ### 🛡️ 4. 专项附加扣除“减税效应”分析 - 指出本次填报的专项附加扣除为用户**直接省下了多少个税**（对应 `Deductions_Saved_Tax` 字段）。 - 如果发生了**税率档位下降（Bracket Drop）**，用警示框（如 `[!TIP]`）重点恭喜用户：“由于您足额填报了专项附加扣除，您的年度综合所得税率成功从 X% 降低到了 Y% 档，享受了超额的降档减税福利！” ### 📱 5. 个税 APP 实操申报步骤指南 分步骤指导用户如何在个人所得税 APP 中进行操作： 1. 登录个税 APP，点击【综合所得年度汇算】。 2. 在“收入”栏中，点击【全年一次性奖金】，手动选择为 **【单独计税】** 或者是 **【并入综合所得】**（根据最佳推荐方案）。 3. 如果有股权激励，在相关栏目中确保选择为 **【单独计税】** 或 **【并入综合所得】**（根据最佳推荐方案）。 4. 确认【专项附加扣除】已足额导入。 5. 检查最终税额，提交申报！ # 交互原则 - 保持专业、客观，严禁在模型回答中硬编码任何特定用户的真实资产或纳税数据。 - 解释原理时注重用户体验，将复杂的税法用大白话讲清楚。 - 结尾附上工具信息：`Powered by tax-assistant`。


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

--- name: pipeworx-crossref description: Search academic papers by keyword, look up metadata by DOI, and fetch journal info via Crossref version: 1.0.0 metadata: openclaw: requires: bins: - curl emoji: "🔬" homepage: https://pipeworx.io/packs/crossref --- # Crossref Academic Papers Crossref indexes over 150 million scholarly works. Search papers by keyword, retrieve full metadata for a specific DOI, or look up journal information by ISSN. Essential for literature reviews, citation analysis, and academic research tools. ## Tools - **`search_works`** — Keyword search across papers, books, and proceedings. Returns title, authors, DOI, publication date, citation count, and journal info. - **`get_work`** — Detailed metadata for a specific DOI (e.g., `"10.1038/nature12373"`). Includes abstract, references, funders, and license info. - **`get_journal`** — Journal metadata by ISSN (e.g., `"1476-4687"` for Nature). Returns publisher, subject areas, and coverage dates. ## When to reach for this - A researcher asks "find me papers on climate change and machine learning" - Need to verify a citation or look up the full reference for a DOI - Building a bibliography tool that auto-fills metadata from DOIs - Analyzing citation counts or publication trends in a field ## Example: searching for CRISPR papers ```bash curl -s -X POST https://gateway.pipeworx.io/crossref/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_works","arguments":{"query":"CRISPR gene editing therapy","limit":5}}}' ``` ## Connect your client ```json { "mcpServers": { "pipeworx-crossref": { "command": "npx", "args": ["-y", "mcp-remote@latest", "https://gateway.pipeworx.io/crossref/mcp"] } } } ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: seang1121/mortgage-rate-lookup (version 1.0.0)

--- name: mortgage-rate-lookup description: Multi-lender mortgage rate comparison — scrapes 13 lenders + Freddie Mac + Mortgage News Daily benchmarks, ranks lowest to highest, tracks day-over-day changes. version: 1.0.0 metadata: openclaw: requires: bins: - python3 emoji: "\U0001F3E0" homepage: https://github.com/seang1121/Multi-Lender-Mortgage-Rate-Lookup os: - macos - linux install: - kind: node package: patchright bins: [] --- # Mortgage Rate Lookup Multi-lender mortgage rate comparison tool. Scrapes real rates from 13 lenders + 2 national benchmarks (Freddie Mac PMMS, Mortgage News Daily), ranks them lowest to highest, and tracks day-over-day changes. ## What It Does - Scrapes **13 lenders** via patchright stealth browser (headless Chromium) - Pulls **Freddie Mac PMMS** via direct CSV API (no browser) - Pulls **Mortgage News Daily** via urllib (no browser) - Compares 30yr fixed, 15yr fixed, ARM, FHA, VA products - Ranks by lowest rate with APR - Tracks 90-day rolling history for day-over-day change detection - Outputs clean text report to stdout (pipe to Discord/Slack/email) ## Setup ```bash pip install patchright python3 -m patchright install chromium ``` Create `config.json` in the skill directory: ```json { "zip_code": "YOUR_ZIP" } ``` ## Usage ```bash # Headless, automated lenders only python3 mortgage_rate_report.py # Override ZIP code python3 mortgage_rate_report.py --zip 90210 # Visible browser for debugging python3 mortgage_rate_report.py --headed ``` ## Architecture ### Two-tier fetching 1. **Tier 1 — Direct APIs (no browser):** Freddie Mac CSV + MND HTML via urllib. Fastest. 2. **Tier 2 — Stealth browser:** 13 lenders via patchright. Parallel batches of 4, sequential retry on failure. ### Retry logic - Batches of 4 lenders in parallel - Failed lenders retry sequentially (up to 3 attempts) - Wait schedule: 8s → 12s → 15s ### Rate extraction Regex patterns find rate/APR pairs for each product type. Rates validated between 3.0% and 12.0%. ## Output Example ``` === Mortgage Rate Report (2026-04-06) === ZIP: 12540 30-Year Fixed (lowest → highest): Freddie Mac PMMS: 6.65% Rocket Mortgage: 6.75% (APR 6.82%) ▼ -0.125 Wells Fargo: 6.875% (APR 6.94%) Chase: 6.99% (APR 7.05%) ▲ +0.125 ... 15-Year Fixed (lowest → highest): ... ``` ## Cron Integration Works as an OpenClaw cron job — outputs to stdout, OpenClaw delivers to Discord/Telegram. ## Dependencies - `patchright` (stealth Chromium automation) - Python 3.10+ stdlib only beyond that ## Lenders Covered Automated (headless): Rocket, Wells Fargo, Chase, Bank of America, US Bank, Citizens, PNC, Navy Federal, USAA, TD Bank, Guaranteed Rate, New American Funding, loanDepot Benchmarks: Freddie Mac PMMS, Mortgage News Daily

path: config.json
content: zip_code: YOUR_ZIP

path: requirements.txt
content: patchright>=1.58.0


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)
Skill: ymf508/junior-high-math-research-plans (version 1.0.0)

# 初中数学研学案技能包 ## 概述 基于人教版2024新版教材的初中数学全套研学案技能包，包含七年级、八年级、九年级所有章节的知识训练学案、教学课件、同步练习和复习资料。 ## 功能特性 1. **完整的教学体系**：覆盖初中数学全部教学内容 2. **分层教学设计**：基础+培优，满足不同层次学生需求 3. **配套资源丰富**：学案+答案+课件+教案+练习全套 4. **中考备考支持**：九年级中考专题复习资料 5. **自动化工具**：快速生成教学计划和复习资料 ## 包含内容 ### 七年级 - **第4章**：一元一次方程（5个课时） - **第5章**：图形的初步 - **有理数**：基础概念和运算 - **整式的加减**：代数基础 ### 八年级 - **第13章**：三角形（13.1-13.3） - **第14章**：全等三角形 - **第15章**：轴对称 - **第16章**：整式的乘法与因式分解 - **第17章**：分式 ### 九年级 - **二次函数**：图像、性质、应用 - **旋转**：图形变换 - **圆**：性质、定理、计算 - **一元二次方程**：解法、应用 - **中考专题复习**：全套备考资料 ## 使用方法 ### 1. 快速查找教学资源 ``` 查找 七年级 一元一次方程 教学资源 查找 八年级 三角形 知识训练学案 查找 九年级 二次函数 中考复习 ``` ### 2. 生成教学计划 ``` 生成 七年级 第4章 教学计划 生成 八年级 第13-15章 复习计划 生成 九年级 中考复习时间表 ``` ### 3. 制作练习题 ``` 生成 一元一次方程 练习题（10题） 生成 三角形证明 培优题（5题） 生成 二次函数 中考真题（3题） ``` ### 4. 分析教学进度 ``` 分析 七年级 教学进度 分析 八年级 知识点掌握情况 分析 九年级 中考备考进度 ``` ## 文件结构 ``` 初中数学研学案技能包/ ├── SKILL.md # 技能说明文档 ├── package.json # 技能包配置 ├── skills/ │ ├── 教学资源查找.js # 资源查找功能 │ ├── 教学计划生成.js # 计划生成功能 │ ├── 练习题制作.js # 题目生成功能 │ └── 教学进度分析.js # 进度分析功能 ├── resources/ │ ├── 七年级/ # 七年级教学资源索引 │ ├── 八年级/ # 八年级教学资源索引 │ └── 九年级/ # 九年级教学资源索引 ├── templates/ │ ├── 教学计划模板.md # 教学计划模板 │ ├── 学案模板.md # 知识训练学案模板 │ └── 复习计划模板.md # 复习计划模板 └── scripts/ ├── 资源索引生成.js # 自动生成资源索引 └── 模板填充.js # 模板自动填充 ``` ## 安装要求 - OpenClaw 环境 - 基本的文件读写权限 - 建议配合文档处理技能使用 ## 更新日志 - v1.0.0 (2026-02-25): 初始版本发布，包含初中数学全套研学案 ## 作者 阿锋的教学资源整理 ## 许可证 教育用途免费使用，禁止商业用途


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