OpenClaw/clawhub-security-signals huggingface dataset:
Skill: shendingyi/tender-writer (version 1.0.0)

--- name: tender-writer version: 1.0.0 description: "光伏/弱电智能化投标技术方案生成器。根据招标文件自动生成Word格式投标技术方案。支持：光伏EPC、光伏EMC、光伏代运维、弱电智能化工程。触发词：投标、标书、技术方案、招标文件。" --- # 投标技术方案生成器 📋 专为光伏和弱电智能化行业定制的投标技术方案自动生成工具。 ## 🎯 支持的项目类型 | 类型 | 说明 | 典型内容 | |------|------|---------| | **光伏代运维** | 已建电站的运维服务投标 | 服务方案、安全管理、应急预案、合理化建议 | | **光伏EMC** | 合同能源管理投资建设运维 | 系统设计、设备选型、施工方案、25年运维、收益测算 | | **光伏EPC** | 总承包建设 | 设计方案、施工组织、进度控制、质量控制 | | **弱电智能化** | 安防/门禁/综合布线/楼宇自控 | 系统设计、设备选型、施工方案、调试方案 | ## 🔧 使用流程 ### 1. 接收招标文件 用户发来招标文件（PDF/Word），自动提取关键信息： - 项目名称、招标人、位置 - 项目规模和技术要求 - 评分规则和权重 - 资质要求和人员要求 - 设备参数要求 - 工期要求 ### 2. 分析评分重点 根据评分细则确定方案编写重点，高分值章节重点展开。 ### 3. 生成技术方案 使用 python-docx 生成规范的 Word 文档： - 封面（项目名称、投标人、日期） - 目录 - 各章节内容（根据项目类型和评分要求定制） - 表格（设备参数、进度计划、巡检计划等） ### 4. 输出与交付 - 保存到 `tender/` 目录 - 通过飞书发送给用户 ## 📐 文档格式标准 - 正文：宋体 12pt - 标题：黑体（一级22pt，二级16pt，三级14pt） - 页边距：上下2.5cm，左3cm，右2.5cm - 行间距：1.5倍 - 首行缩进：2字符 - 表格：宋体 10pt，表格线框 ## 📚 已有模板经验 ### 模板1：光伏代运维（京能BIPV案例） - 服务方案（组织架构、巡检计划、智能运维） - 质量/安全/进度保证措施（安全管理体系、两票三制） - 应急预案（触电、火灾、高空坠落、设备故障、自然灾害） - 合理化建议（提质增效、智能运维、降本措施） - 增值服务方案 ### 模板2：光伏EMC投资运维（濮院景区案例） - 项目概况分析（景区/工商业特点） - 产品选型方案（组件、逆变器、支架、电气、监控、消防） - 系统设计方案（电气设计、防雷接地、消防、并网） - 施工组织方案（流程、工艺、关键工序控制） - 进度控制方案（里程碑、甘特图、保障措施） - 质量控制方案（体系、过程控制、验收标准） - 应急方案（施工期+运营期） - 25年运维服务方案（巡检、数字化平台、备件、发电量保证） - 环保与景观保护 - 服务承诺与优惠措施 ## 🔑 关键知识库 ### 光伏设备品牌参考 - 组件：隆基、晶科、晶澳、天合、通威、阿特斯（前六） - 逆变器：华为、阳光电源、锦浪、固德威、上能电气 - 支架：中信博、迈贝特、安泰新能源 - 电气：正泰、良信、ABB - 监控：海康威视、大华 ### 行业标准引用 - GB 50797 光伏发电站设计规范 - GB/T 50796 光伏发电工程验收规范 - GB/T 38335 光伏发电站运行规程 - DL/T 596 电力设备预防性试验规程 - GB 26860 电力安全工作规程 - IEC 61215/61730 光伏组件标准 ### 弱电行业标准引用 - GB 50348 安全防范工程技术标准 - GB 50311 综合布线系统工程设计规范 - GB 50339 智能建筑工程质量验收规范 - GB 50314 智能建筑设计标准 ## ⚠️ 注意事项 1. 每次生成前仔细阅读招标文件的评分规则，高分值章节重点展开 2. 设备选型必须响应招标文件的品牌和参数要求 3. 人员配置必须满足招标文件的资质和数量要求 4. 工期安排必须满足招标文件的时间节点要求 5. 文档中"投标人"处留空，由用户填写公司名称


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: danbaranov/postproxy (version 0.1.0)

--- name: postproxy description: Call PostProxy API to create and manage social media posts allowed-tools: Bash --- # PostProxy API Skill Call the PostProxy API to manage social media posts across multiple platforms (Facebook, Instagram, TikTok, LinkedIn, YouTube, X/Twitter, Threads). ## Setup API key must be set in environment variable `POSTPROXY_API_KEY`. Get your API key at: https://app.postproxy.dev/api_keys ## Base URL ``` https://api.postproxy.dev ``` ## Authentication All requests require Bearer token: ```bash -H "Authorization: Bearer $POSTPROXY_API_KEY" ``` ## Endpoints ### List Profiles ```bash curl -X GET "https://api.postproxy.dev/api/profiles" \ -H "Authorization: Bearer $POSTPROXY_API_KEY" ``` ### List Posts ```bash curl -X GET "https://api.postproxy.dev/api/posts" \ -H "Authorization: Bearer $POSTPROXY_API_KEY" ``` ### Get Post ```bash curl -X GET "https://api.postproxy.dev/api/posts/{id}" \ -H "Authorization: Bearer $POSTPROXY_API_KEY" ``` ### Create Post (JSON with media URLs) ```bash curl -X POST "https://api.postproxy.dev/api/posts" \ -H "Authorization: Bearer $POSTPROXY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "post": { "body": "Post content here" }, "profiles": ["twitter", "linkedin", "threads"], "media": ["https://example.com/image.jpg"] }' ``` ### Create Post (File Upload) Use multipart form data to upload local files: ```bash curl -X POST "https://api.postproxy.dev/api/posts" \ -H "Authorization: Bearer $POSTPROXY_API_KEY" \ -F "post[body]=Check out this image!" \ -F "profiles[]=instagram" \ -F "profiles[]=twitter" \ -F "media[]=@/path/to/image.jpg" \ -F "media[]=@/path/to/image2.png" ``` ### Create Draft Add `post[draft]=true` to create without publishing: ```bash curl -X POST "https://api.postproxy.dev/api/posts" \ -H "Authorization: Bearer $POSTPROXY_API_KEY" \ -F "post[body]=Draft post content" \ -F "profiles[]=twitter" \ -F "media[]=@/path/to/image.jpg" \ -F "post[draft]=true" ``` ### Publish Draft ```bash curl -X POST "https://api.postproxy.dev/api/posts/{id}/publish" \ -H "Authorization: Bearer $POSTPROXY_API_KEY" ``` Profile options: `facebook`, `instagram`, `tiktok`, `linkedin`, `youtube`, `twitter`, `threads` (or use profile IDs) ### Schedule Post Add `scheduled_at` to post object: ```bash curl -X POST "https://api.postproxy.dev/api/posts" \ -H "Authorization: Bearer $POSTPROXY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "post": { "body": "Scheduled post", "scheduled_at": "2024-01-16T09:00:00Z" }, "profiles": ["twitter"] }' ``` ### Delete Post ```bash curl -X DELETE "https://api.postproxy.dev/api/posts/{id}" \ -H "Authorization: Bearer $POSTPROXY_API_KEY" ``` ## Platform-Specific Parameters For Instagram, TikTok, YouTube, add `platforms` object: ```json { "platforms": { "instagram": { "format": "reel", "first_comment": "Link in bio!" }, "youtube": { "title": "Video Title", "privacy_status": "public" }, "tiktok": { "privacy_status": "PUBLIC_TO_EVERYONE" } } } ``` ## User Request $ARGUMENTS


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (CRITICAL)
Skill: zhangyanbo2007/video-vocal-remover (version 1.0.0)

--- name: video-vocal-remover description: 从视频中去除人声但保留机械声/环境声。当用户要求去掉视频里的人声、消除说话声、保留机器声、视频静音但保留环境音、去除语音保留噪声时使用。也适用于用户说"视频里有说话声想去掉"、"只保留机械声音"、"去掉录音里的人声"等场景。不要用于完全去除所有音频（那是去音轨，用 ffmpeg -an 即可），此技能专门用于频率分离——削弱人声频段而保留其他声音。 --- # 视频人声去除技能 从视频文件中削弱人声频段（300Hz–3400Hz），同时保留低频机械声（如电机、齿轮运动声）和高频环境声（如碰撞、摩擦噪声）。 ## 原理 人声的能量集中在 300Hz–3400Hz 频段，而机器人/机械运动的声音主要分布在低于 300Hz 的低频段和高于 3400Hz 的高频段。通过 ffmpeg 的 equalizer 滤波器对这些中频段做大幅衰减，可以有效削弱人声，保留机械声。 ## 前置条件 需要 ffmpeg。如果未安装： ```bash # Ubuntu/Debian sudo apt-get install -y ffmpeg # macOS brew install ffmpeg # Conda conda install -y ffmpeg ``` ## 处理单个视频 ```bash ffmpeg -i "INPUT.mp4" \ -c:v copy \ -af "equalizer=f=500:t=q:w=1:g=-25,equalizer=f=1000:t=q:w=1:g=-25,equalizer=f=2000:t=q:w=1:g=-25,equalizer=f=3000:t=q:w=1:g=-20" \ -c:a aac -b:a 128k \ -y "INPUT_novoice.mp4" ``` 参数说明： - `-c:v copy` — 视频流直接复制，不重新编码，速度极快 - `-af` — 音频滤波链，4 个 equalizer 分别在 500/1000/2000/3000Hz 做 -25dB/-20dB 衰减 - `t=q` — 滤波器类型为 Q 值（带宽参数） - `w=1` — 带宽系数，1 表示中等宽度 - `g=-25` / `g=-20` — 衰减增益，-25dB 对 500-2000Hz（人声核心频段），-20dB 对 3000Hz（人声高频边缘，衰减稍弱以避免过度影响高频机械声） - `-c:a aac -b:a 128k` — 音频重新编码为 AAC 128kbps ## 批量处理文件夹内所有视频 对指定文件夹下所有 mp4 文件（不含已处理的 `_novoice` 文件）批量去除人声： ```bash find "FOLDER_PATH" -type f -name "*.mp4" ! -name "*_novoice.mp4" -print0 | while IFS= read -r -d '' f; do echo "Processing: $f" ffmpeg -i "$f" \ -c:v copy \ -af "equalizer=f=500:t=q:w=1:g=-25,equalizer=f=1000:t=q:w=1:g=-25,equalizer=f=2000:t=q:w=1:g=-25,equalizer=f=3000:t=q:w=1:g=-20" \ -c:a aac -b:a 128k \ -y "${f%.mp4}_novoice.mp4" 2>&1 | tail -3 echo "Done: ${f%.mp4}_novoice.mp4" done ``` 也支持其他视频格式（avi, mkv, mov, webm 等），修改 `find` 的 `-name` 匹配规则即可。 ## 调整参数 如果效果不理想，可以根据实际情况微调： | 场景 | 调整方式 | |---|---| | 人声仍然明显 | 增大衰减值，如 g=-30 或 g=-35 | | 机械声也被削弱了 | 降低衰减值，如 g=-15 或 g=-20；或减小带宽 w=0.5 | | 只想去除说话声保留所有其他声 | 增大带宽 w=2 让滤波更精准集中在人声核心频段 | | 视频里人声很低沉（男声为主） | 增加低频衰减：加一个 `equalizer=f=300:t=q:w=1:g=-20` | | 视频里人声很尖锐（女声/儿童为主） | 增加高频衰减：加一个 `equalizer=f=3500:t=q:w=1:g=-20` | ## 输出文件命名 输出文件在原始文件名后追加 `_novoice`，放在同一目录下。例如： - `抓取测试-1.mp4` → `抓取测试-1_novoice.mp4` 如果用户要求原地替换（覆盖原文件），先生成 `_novoice` 文件确认效果后，再执行替换： ```bash mv "INPUT_novoice.mp4" "INPUT.mp4" ``` ## 局限性 - 这是基于频率滤波的方法，不是 AI 人声分离。如果人声和机械声在同一频段重叠，无法完全分离。 - 对于背景音乐中的低频人声（如哼唱），效果可能有限。 - 如果需要更高质量的人声分离，可以考虑使用 demucs 等 AI 模型，但那需要 Python 环境和 GPU。


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

--- name: clawops description: The orchestration tool for OpenClaw, managing and coordinating all your skills seamlessly. --- # ClawOps — OpenClaw Skill ClawOps acts as the central brain for OpenClaw, intelligently managing all installed skills and ensuring they work together harmoniously. It discovers available skills, resolves dependencies, and schedules actions across multiple skills based on triggers and conditions. With centralized monitoring, logging, and health checks, ClawOps can detect failures, restart stuck skills, and maintain smooth operation. By unifying configuration, secrets management, and event handling, it enables users to automate complex workflows effortlessly, transforming a collection of individual skills into a coordinated, intelligent system.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: roykingw/aliyun-image-generator (version 1.0.0)

--- name: aliyun-image-generator version: 1.0.0 description: 【专属触发指令：千问画个图】调用阿里云通义万相生成高质量图片。仅当用户的指令以“千问画个图”开头时，才允许路由到此技能。 author: 楼兰 metadata: { "openclaw": { "emoji": "🎓", "requires": {} } } --- # Aliyun Image Generator **🚨 严格触发条件：** 你必须且只能在用户的输入明确包含或以 **“千问画个图：”** 或 **“千问画个图”** 开头时，才触发并使用本技能。 如果用户只是说“画个图”或“生成图片”而没有带上“千问”字眼，**请勿**使用本技能（请使用你系统默认的画图工具）。 ## 工作流程 1. **创意扩写**：将用户的简短提示扩写为 50-100 字的详细画面描述。 2. **执行生成**：调用本地 Python 脚本。 ## 命令格式 默认调用格式（如果已经配置过 Key）： ```bash python3 scripts/generate_image.py "你扩写后的详细画面描述" ``` 【重要：API Key 处理逻辑】 如果你执行上述命令后，终端返回 [NEED_KEY] 的错误信息，说明本地尚未配置阿里云 API Key。 此时，你必须： 中断画图任务，在聊天中礼貌地回复：“我需要您的阿里云百炼 API Key 才能使用通义万相为您画图。请直接将 Key 发送给我（以 sk- 开头）。” 当用户回复了 API Key 后，使用带 Key 的命令重新执行： ```bash python3 scripts/generate_image.py "你扩写后的详细画面描述" "sk-xxxxxxxxxxxx" ``` (注：Python 脚本接收到后会自动将其永久保存到本地，下次就不需要再传了) ## 结果反馈 脚本执行完成后，会输出图片的本地保存路径（如 downloads/generated_img_xxx.png）。 请直接将这个文件路径和名称告诉用户。


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: wxd9199/jetson-tools (version 1.0.0)

# jetson-tools NVIDIA Jetson 开发板工具集。提供系统监控、性能分析、GPU状态查看等功能。 ## 功能 - tegrastats 实时监控 - Jetson 设备信息查询 - GPU/内存/CPU 状态 - 温度监控 - JetPack 版本信息 ## 命令 ```bash # 监控系统状态 jetson-stats # 查看设备信息 jetson-info # GPU 状态 jetson-gpu # 温度监控 jetson-temp ``` ## 依赖 - tegrastats - jetson_release


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: xueyetianya/resignation-letter (version 3.0.0)

--- name: "resignation-letter" version: "3.0.0" description: "Generate professional resignation letters from templates. Use when preparing to resign." author: "BytesAgain" homepage: "https://bytesagain.com" --- # resignation-letter Generate professional resignation letters from templates. Use when preparing to resign. ## Commands ### `create` ```bash scripts/script.sh create <name company last_day> ``` ### `template` ```bash scripts/script.sh template <style> ``` ### `checklist` ```bash scripts/script.sh checklist ``` ### `timeline` ```bash scripts/script.sh timeline <last_day> ``` ### `formal` ```bash scripts/script.sh formal <name company> ``` ### `casual` ```bash scripts/script.sh casual <name company> ``` ## Data Storage Data stored in `~/.local/share/resignation-letter/`. --- *Powered by BytesAgain | bytesagain.com | [REDACTED_SECRET]*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: yikai123456/cli-anything-xingyue (version 1.0.2)

--- name: cli-anything description: 基于 HKUDS/CLI-Anything 仓库重构的 OpenClaw Skill。为任意软件生成 CLI 工具，让 AI Agent 可以控制它。通过分析软件源代码，自动生成可被 AI 调用的命令行接口。支持 GIMP、Blender、LibreOffice、OBS 等软件。 version: 1.0.0 author: HKUDS homepage: https://github.com/HKUDS/CLI-Anything commands: - /cli-list - 列出所有可用的 CLI 工具 - /cli-install <名称> - 安装预生成的 CLI（如 gimp, blender） - /cli-build <路径> - 为新软件构建 CLI（需要 Claude Code/Codex） - /cli-refine <路径> - 优化已构建的 CLI - /cli-validate <路径> - 验证生成的 CLI metadata: {"clawdbot":{"emoji":"🔧","requires":{"bins":["git","python3","pip"],"env":[]},"install":[{"id":"git","kind":"system","label":"Git"},{"id":"python","kind":"system","label":"Python 3.10+"},{"id":"pip","kind":"system","label":"pip"}]}} --- # CLI-Anything for OpenClaw > 🔧 基于 [HKUDS/CLI-Anything](https://github.com/HKUDS/CLI-Anything) 仓库重构 让任意软件都能被 AI Agent 驱动。 ## 什么是 CLI-Anything？ **今天的软件为人而生，明天的用户是 Agent。** CLI-Anything 连接 AI Agent 与全世界软件的桥梁，通过一行命令让任意软件变成 Agent 可控的工具。 ### 核心特性 - 🌍 **通用性** - 任何软件都可以变成 CLI 工具 - 📦 **开箱即用** - 11+ 预生成的 CLI（GIMP, Blender, LibreOffice 等） - 🔗 **无缝集成** - 无需 API、无需 GUI 重建 - 📝 **自描述** - `--help` 自动生成文档 - 🤖 **Agent 优先** - 结构化 JSON 输出 ## 快速命令 ### 查看可用 CLI ``` /cli-list ``` **当前可用的 CLI：** - gimp - 图像编辑 - blender - 3D 建模/渲染 - libreoffice - 办公套件 - obs-studio - 屏幕录制/直播 - kdenlive - 视频编辑 - shotcut - 视频编辑 - audacity - 音频编辑 - inkscape - 矢量图形 - drawio - 流程图 - zoom - 视频会议 - anygen - AI 内容生成 ### 安装 CLI ``` /cli-install gimp /cli-install blender ``` 安装后即可使用： ```bash cli-anything-gimp --help cli-anything-blender --help ``` ### 构建新 CLI（高级） ``` /cli-build ./my-software /cli-build https://github.com/user/repo ``` ⚠️ 完整构建需要在 **Claude Code** 或 **Codex** 环境中进行。 ### 优化 CLI ``` /cli-refine ./gimp /cli-refine ./gimp "添加图像批处理功能" ``` ### 验证 CLI ``` /cli-validate ./gimp ``` ## 使用示例 ### GIMP 图像编辑 ```bash # 查看帮助 cli-anything-gimp --help # 创建新项目 cli-anything-gimp project new --width 1920 --height 1080 -o poster.json # 添加图层 cli-anything-gimp --json layer add -n "Background" --type solid --color "#1a1a2e" # 导出 cli-anything-gimp export png -o output.png # 交互式 REPL cli-anything-gimp ``` ### Blender 3D ```bash # 创建场景 cli-anything-blender scene new -o scene.json # 添加立方体 cli-anything-blender object add cube --location 0 0 0 # 渲染 cli-anything-blender render output.png --samples 128 ``` ### LibreOffice 文档 ```bash # 打开文档 cli-anything-libreoffice document open report.odt # 添加内容 cli-anything-libreoffice text add "Hello World" # 导出 PDF cli-anything-libreoffice export pdf -o report.pdf ``` ## 工作原理 CLI-Anything 自动执行 7 阶段流水线： 1. 🔍 **分析** — 扫描源码，将 GUI 操作映射到 API 2. 📐 **设计** — 规划命令分组、状态模型 3. 🔨 **实现** — 构建 Click CLI（REPL、JSON、撤销/重做） 4. 📋 **规划测试** — 生成测试计划 5. 🧪 **编写测试** — 实现测试套件 6. 📝 **文档** — 更新使用文档 7. 📦 **发布** — 生成 setup.py ## 注意事项 - 首次使用 `/cli-list` 会自动克隆 CLI-Anything 仓库 - 预生成的 CLI 无需额外配置，安装后可直接使用 - 构建新软件 CLI 需要 Claude Code 或 Codex 环境 - 已安装的 CLI 可通过 `pip uninstall` 卸载


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: dreadterror/merso-integration (version 1.0.5)

--- name: merso-integration description: > Integrate Merso PNPL (Play Now, Pay Later) payments into games or digital goods platforms. Use when a user wants to: (1) add Merso installment payments to a game or app, (2) understand how Merso works technically or commercially, (3) set up the Merso API, webhooks, or payment flow, (4) troubleshoot an existing Merso integration. Covers API endpoints, full integration flow, Node.js configuration, webhook handling, DB schema, and real-world case studies. Requires MERSO_GAME_ID and MERSO_API_KEY env vars (provided by Merso). MERSO_ENV sets the target environment (production or development). metadata: {"clawdbot":{"requires":{"env":["MERSO_GAME_ID","MERSO_API_KEY","MERSO_ENV"]}}} --- # Merso Integration Skill Merso is a PNPL (Play Now, Pay Later) platform for digital goods for games like NFTs, web2 in-game assets and virtual currency packs. It is not a credit product. It issues software licenses that grant immediate access; the license expires automatically if installment payments stop. Zero KYC, zero underwriting, zero credit risk for the merchant. ## Key references - **Full API + integration guide:** See `references/api.md` - **Commercial context, case studies, and pitch info:** See `references/commercial.md` ## When to load references - Load `references/api.md` for any technical integration task (endpoints, webhooks, DB schema, Node.js config, flow) - Load `references/commercial.md` for pitch preparation, case studies, GMV metrics, or partner context ## Integration checklist 1. Set env vars: `MERSO_ENV`, `MERSO_GAME_ID`, `MERSO_API_KEY` 2. Authenticate → cache Bearer token (auto-renew 30 min before expiry) 3. Implement `POST /merso-buy-item` with a **unique `itemId` per purchase** 4. Register webhook URL via `POST /set-webhook-url` 5. Handle webhook events idempotently (check payment status before crediting) 6. Add fallback: `GET /verify-payment-intent/:id` if webhook doesn't arrive 7. Apply Node.js TLS config (SNI) when connecting through Cloudflare — see `references/api.md` ## Minimum item price: $5


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: igorganapolsky/thumbgate (version 1.5.0)

--- name: thumbgate description: Stop your AI from making the same mistake twice. Pre-Action Gates that block repeat hallucinations, retry loops, and known-bad tool calls before they reach the model — zero tokens spent on mistakes you've already corrected. Works with Claude Code, Cursor, Codex, Gemini CLI, Amp, OpenCode, and any MCP-compatible agent. homepage: https://thumbgate-production.up.railway.app metadata: {"clawdbot":{"emoji":"🧰","requires":{"bins":["thumbgate"]},"install":[{"id":"npm","kind":"npm","module":"thumbgate","bins":["thumbgate"],"label":"Install ThumbGate (npm)"}]}} --- # ThumbGate — Pre-Action Gates for AI Agents **Stop your AI from making the same mistake twice.** Repeated AI mistakes cost real money in tokens. Thumbs-down once — ThumbGate blocks that exact pattern on every future call, across every agent you use. - **npm:** `thumbgate` - **Dashboard:** https://thumbgate-production.up.railway.app/dashboard - **Repo:** https://github.com/IgorGanapolsky/ThumbGate (MIT) ## Quick Start ```bash npx thumbgate init ``` Bootstraps `.thumbgate/` and wires `PreToolUse` hooks into your agent. Works out-of-the-box with Claude Code, Cursor, Codex, Gemini CLI, Amp, OpenCode, and any MCP-compatible agent. ## Core Commands ```bash thumbgate capture "Never run --force push to main" # create a rule thumbgate gates list # see active gates thumbgate feedback down "agent ignored file paths" # capture a thumbs-down thumbgate lessons search "DROP TABLE" # recall prior lessons thumbgate dashboard # open the local dashboard ``` ## What ThumbGate Does 1. **Capture** — every thumbs-down on a bad agent action becomes a structured lesson. 2. **Distill** — lessons merge into prevention rules via history-aware synthesis. 3. **Enforce** — `PreToolUse` hooks physically block matching tool calls before the model is invoked. Zero tokens spent on the repeat. 4. **Measure** — live "tokens saved" counter in the dashboard puts a dollar number on every block. ## When to Use This Skill - The agent keeps hallucinating the same wrong import, wrong file path, or wrong command. - You want destructive operations (`DROP TABLE`, `git push --force`, etc.) blocked at the tool-call layer, not the prompt layer. - You need an audit trail of *what the agent tried to do and was prevented from doing* for compliance / review. - You want DPO-ready preference pairs exported from your real feedback for fine-tuning. ## Pricing - **Free CLI** — 3 captures/day, 1 rule, 1 agent. MIT open source. - **Pro ($19/mo or $149/yr)** — unlimited captures + rules, personal local dashboard, DPO export. - **Team ($49/seat/mo)** — shared hosted lesson DB, org dashboard, workflow governance. Dashboard + live tokens-saved counter: https://thumbgate-production.up.railway.app/dashboard


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ianzheng001/dcf-valuation (version 1.0.0)

--- name: dcf description: 十年DCF估值工具，支持两种方法：传统DCF折现(Gordon永续模型)和段永平式PE退出法。触发词：估算DCF、DCF估值、内在价值、十年估值、自由现金流折现、PE退出、段永平式估值。 --- # DCF估值工具 从定性+定量两个维度评估公司价值，支持**两种估值方法**并行计算。 ## 工作流程 1. **搜集数据**：搜索目标公司的财务数据（近5年营收、净利润、净利率、经营现金流、货币资金、负债、市值、股本、分红） 2. **数据时效校验**：确认使用最新年报数据（基准年必须是最新报告期），若已有旧分析报告需检查年份是否过期 3. **定性分析**：按 `references/qualitative.md` 框架分析商业模式、行业空间、竞争格局、财务质量 4. **定量计算**：运行 `scripts/dcf_calc.py --method both` 同时计算两种方法 5. **输出报告**：定性结论 + 传统DCF三情景 + PE退出法三情景 + 综合判断 6. **文件生成校验**：写文件后立即检查文件是否真实存在指定目录 7. **通知用户**：告知本地文件路径 ## 两种估值方法 ### 方法一：传统DCF（Gordon永续模型） **原理**：10年FCF折现 + 永续终值折现 ``` 内在价值 = Σ(FCF_t / (1+r)^t) + TV/(1+r)^10 + 净现金 TV = FCF_10 × (1+g) / (r-g) # Gordon永续模型 ``` **适用场景**：成熟稳定企业、现金流可预测、愿意给永续假设 **参数**： | 参数 | 保守 | 中性 | 乐观 | |------|------|------|------| | 折现率(r) | 9-10% | 8-9% | 7-8% | | 永续增长率(g) | 3% | 3-4% | 4% | | FCF/净利润 | 85-90% | 88-92% | 90-95% | --- ### 方法二：段永平式PE退出法 **原理**：不依赖永续折现，直接问"10年后能赚多少？给多少PE？" ``` 内在价值 = (净利润_10年 × 退出PE + 分红累计折现 + 净现金) / (1+r)^10 ``` **核心逻辑**： - 折现率(r) = **机会成本** = 你拿着现金存银行能赚多少（国债/定存利率，当前约1.5%） - 不做永续假设，终值 = 10年后净利润 × 合理PE - 段永平认为：参数越少，错的概率越小 **优势**：不依赖永续增长率假设，参数直观易验证 **风险**：对10年后PE和增速判断依赖主观 **适用场景**：高确定性、现金流稳定、有分红习惯的优质企业 --- ## 定性分析要点 见 `references/qualitative.md` ### 财务质量检查 - 经营现金流/净利润 > 80% → 真金白银 - FCF/净利润 → 资本开支大不大 - 净现金 = 货币资金 - 有息负债 - 分红率+分红绝对额是否稳定 ## 定量计算参数 ### 必需参数 | 参数 | 说明 | 来源 | |------|------|------| | base_revenue | 基准年营收（亿） | 最新年报 | | base_profit | 基准年净利润（亿） | 最新年报 | | net_cash | 净现金（亿） | 货币资金-有息负债 | | total_shares | 总股本（亿股） | F10 | | current_market_cap | 当前市值（亿） | 实时行情 | | current_price | 当前股价（元） | 实时行情 | | dividend_ratio | 分红比例 | 近3年平均 | ### 传统DCF三情景 | 参数 | 保守 | 中性 | 乐观 | |------|------|------|------| | revenue_growth | 低增速 | 中增速 | 高增速 | | net_margin | 净利率下限 | 净利率中枢 | 净利率上限 | | fcf_ratio | 85-90% | 88-92% | 90-95% | | discount_rate | 9-10% | 8-9% | 7-8% | | terminal_growth | 3% | 3-4% | 4% | ### PE退出法三情景 | 参数 | 保守 | 中性 | 乐观 | |------|------|------|------| | profit_growth | 年均5% | 年均8% | 年均10%+ | | exit_pe | 15x | 20x | 25x | | discount_rate | 3%（稳健机会成本） | 1.5%（国债利率） | 1.5%（机会成本） | | dividend_ratio | 70% | 75% | 80% | ## 两种方法的核心差异 | | 传统DCF | 段永平PE退出法 | |---|--------|--------------| | 折现率 | 7-10%（含股权风险溢价） | 1.5-3%（机会成本） | | 终值依赖 | Gordon永续（占60-80%） | 10年后PE（可控） | | 本质 | 数学模型 | 商业判断 | | 适用 | 任何企业 | 高确定性+稳定分红 | | 风险 | 永续增长率微调导致结果剧变 | 10年增速+PE主观 | ## 保存路径 默认保存到用户本地工作目录：`{user_workspace}/投资/` 可由用户自定义配置。 文件命名：`{股票名称}_DCF估值_{YYYY-MM-DD}.md` ## 使用示例 ```bash python3 scripts/dcf_calc.py --json '{ "stock_name": "贵州茅台", "base_revenue": 1720.5, "base_profit": 823.2, "net_cash": 1500, "total_shares": 12.52, "current_market_cap": 17219, "current_price": 1375, "dividend_ratio": 0.75, "scenarios": { "保守": { ... }, "中性": { ... }, "乐观": { ... } }, "pe_exit_scenarios": { "保守": { "profit_growth": [...], "exit_pe": 15, "discount_rate": 0.03 }, "中性": { "profit_growth": [...], "exit_pe": 20, "discount_rate": 0.015 }, "乐观": { "profit_growth": [...], "exit_pe": 25, "discount_rate": 0.015 } } }' ```


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