← 返回 Skills 市场
hanwenyolo-dot

geo-quickhook

作者 hanwenyolo-dot · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
231
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install geo-quick-hook
功能描述
GEO售前快速钩子。输入客户品牌+5-8个头部竞品+1-2个签约词,5引擎并行采集,输出一张对比卡:客户排名末尾红色高亮,竞品头部绿色领先,一眼制造焦虑触发签约。触发词:"售前钩子"、"快速分析"、"给销售出个报告"、"geo-quick-hook"、"客户现在多差"、"信源分析"、"竞品信源对比"。
使用说明 (SKILL.md)

GEO Pre-Sales Quick Hook

📌 Skill Overview

Pre-Sales Quick Hook is the first step in the GEO product sales pipeline, designed specifically for sales scenarios:

Sales rep has a target client + 1-2 target keywords → Quickly generate a competitive comparison card → Show the client how far behind they are → Create urgency → Trigger sign-up

Relationship with other tools:

  • geo-quick-hook (this tool) = Pre-sales hook (create urgency, trigger sign-up intent)
  • geo-brand-extractor = Pre-sales keyword selection (determine which keywords to target)
  • geo-visibility-tracker = Post-sign-up baseline (full 48 questions, establish comparison starting point)
  • geo-after-sale = Post-sale delivery (monthly progress reports)

Core visual: Competitive ranking chart with the client at the bottom, highlighted in red ⚠️ — instantly devastating.

Report naming convention: GEO_QuickHook_[BrandName]_5engines_[YYYYMMDD].html


🚀 Execution Flow (Three Questions + Sub-Agent Execution)

Rule: After all three questions are confirmed, you must spawn a sub-agent to execute — the Main Brain does not run scripts directly.

Step 1: First Question

Got it, launching pre-sales hook analysis! 🎯

① What is the target client's brand name?

⏸️ Wait for answer


Step 2: Second Question

Got it! ② Who are the competitors? We recommend 5-8 top industry names.
(The bigger the competitors, the more impactful the contrast!)

⏸️ Wait for answer


Step 3: Third Question

③ What are the target keywords? 1-2 is ideal — focus the firepower.
(These are the keywords the sales rep is pitching to this client.)

⏸️ Wait for answer, then spawn sub-agent to execute


Step 4: Spawn Sub-Agent

Sub-agent execution command:

python3 \x3Cskill_dir>/scripts/quick_hook.py \
  --brand "[BrandName]" \
  --competitors "[Comp1,Comp2,Comp3...]" \
  --keywords "[keyword1,keyword2]"

Environment variables must be set in advance:

export LLM_API_KEY="your-api-key-here"
export LLM_BASE_URL="https://api.openai.com/v1"
export LLM_MODEL="gpt-4o"

After the report is generated, screenshot and send via Feishu (html-to-feishu standard flow):

HTML_FILE=$(ls -t ~/Desktop/GEO_QuickHook_*.html | head -1)
ENCODED=$(python3 -c "import urllib.parse,os; print(urllib.parse.quote(os.path.basename('$HTML_FILE')))")
pkill -f "http.server 18899" 2>/dev/null
python3 -m http.server 18899 --directory ~/Desktop &
SERVER_PID=$!
for i in 1 2 3 4 5; do
  STATUS=$(curl -s -o /dev/null -w "%{http_code}" "http://localhost:18899/" 2>/dev/null)
  if [ "$STATUS" = "200" ]; then break; fi
  sleep 1
done
browser(action="open", profile="openclaw", url="http://localhost:18899/$ENCODED") → targetId
browser(action="screenshot", profile="openclaw", targetId=targetId, fullPage=True, type="jpeg") → img_path
local_path = img_path.replace("MEDIA:", "")  # strip prefix to get local path
message(action="send", channel="feishu", target="user:YOUR_FEISHU_OPEN_ID",
        message="⚡ [BrandName] Pre-Sales Hook Report — Competitive ranking at a glance!")
message(action="send", channel="feishu", target="user:YOUR_FEISHU_OPEN_ID",
        media=local_path)
kill $SERVER_PID 2>/dev/null

📊 Output Description

Module Content
Cover Brand name + 5 engines + date
Comparison card (per keyword) Brand × engine matrix + combined average bar chart + fatal conclusion
Citation comparison row Whether competitors appear as citations (✅ cited / - listed only) + citation warning text
Bottom hook "Want to learn how to change this?" (fixed copy)

🔧 Technical Details

Script path: skills/geo-quick-hook/scripts/quick_hook.py

5 engines: Qwen / Doubao / DeepSeek / Kimi / Ernie (parallel collection)

Note: In the open-source version, all engines share the same LLM_API_KEY / LLM_BASE_URL / LLM_MODEL environment variables. To connect each engine to its own independent API, configure separate environment variables in ENGINE_MAP.

Usage example:

export LLM_API_KEY="sk-xxxx"
export LLM_BASE_URL="https://api.openai.com/v1"
export LLM_MODEL="gpt-4o"

python3 quick_hook.py \
  --brand "Brand X" \
  --competitors "CompA,CompB,CompC,CompD,CompE" \
  --keywords "keyword1,keyword2"
安全使用建议
This skill implements the advertised pre-sales report, but there are some mismatches and missing declarations you should address before running it: - The SKILL.md and script require LLM_API_KEY, LLM_BASE_URL, and LLM_MODEL, but the package metadata lists no required environment variables — set these yourself only in a safe/testing environment and confirm where they are stored. - The Python script uses the OpenAI client; install and audit Python dependencies (e.g., pip install openai) before running. - SKILL.md assumes the generated HTML will be on ~/Desktop and runs a local http.server plus pkill and browser/screenshot actions. Verify the script's output location and consider running it in an isolated directory or sandbox to avoid accidental exposure of other files. - The Feishu send step uses a placeholder open-id (YOUR_FEISHU_OPEN_ID) and expects the agent/platform to have Feishu messaging configured — confirm what credentials are used and where they are stored before enabling send actions. - Because the script reuses the same LLM API key across multiple 'engines', be aware this concentrates access to a single credential; if you expect per-engine keys, configure ENGINE_MAP explicitly. Recommended actions: review the full quick_hook.py (complete file), install dependencies in a virtualenv, run locally on non-production credentials first, and request that the author update the skill metadata to declare required env vars and dependencies to remove ambiguity.
功能分析
Type: OpenClaw Skill Name: geo-quick-hook Version: 1.0.0 The skill bundle is designed for competitive brand visibility analysis but contains a high-risk procedural vulnerability in its report delivery flow. In SKILL.md, the instructions command the agent to launch a Python HTTP server (`python3 -m http.server`) directly on the user's `~/Desktop` directory to facilitate a screenshot. This action unnecessarily exposes the entire contents of the user's Desktop to the local network on port 18899. While the core logic in `scripts/quick_hook.py` appears benign and aligned with the stated sales-enablement purpose, the broad directory exposure via a network socket is a significant security flaw.
能力评估
Purpose & Capability
The skill claims to query multiple AI 'engines' and produce a competitive HTML card — the included Python script implements that flow and requires an LLM API (LLM_API_KEY/LLM_BASE_URL/LLM_MODEL), which is consistent with the stated purpose. However, the skill metadata declares no required environment variables while SKILL.md and the script clearly require an LLM API key and related vars.
Instruction Scope
SKILL.md instructs spawning a sub-agent to run a local Python script, launching a local HTTP server, reading ~/Desktop for the generated HTML, opening it in a browser, taking screenshots, and sending images to Feishu. These steps involve local process control (pkill), file-system assumptions (Desktop path), and external messaging that are broader than a simple API query flow and are not fully justified or documented (e.g., no Feishu credentials declared).
Install Mechanism
There is no install spec (instruction-only), so nothing will be written automatically — lower install risk. However the code imports the OpenAI client (openai.OpenAI) but the skill does not declare Python package dependencies or provide an install step; users must manually install Python dependencies (e.g., openai package).
Credentials
The runtime explicitly requires LLM_API_KEY, LLM_BASE_URL, and LLM_MODEL, but the skill metadata lists no required env vars. The SKILL.md also expects Feishu messaging (a target open-id) but does not declare any Feishu credentials or how those are supplied. The LLM key will be reused for all 'engines' unless the user configures an ENGINE_MAP, which may be unexpected.
Persistence & Privilege
always:false and no special platform privileges are requested. The skill asks the agent to spawn a sub-agent and to use browser/file actions to post a screenshot to Feishu — this is normal for a user-triggered tool but increases the blast radius if used with real credentials. The skill does not request permanent/always-on installation.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install geo-quick-hook
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /geo-quick-hook 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
geo-quick-hook v1.0.0 - Initial release of the GEO售前快速钩子 (Pre-Sales Quick Hook) tool. - Guides users through client brand, competitor, and keyword input to auto-generate a competitive comparison card. - Integrates parallel data collection from 5 engines (Qwen, Doubao, DeepSeek, Kimi, Ernie). - Outputs an HTML report, highlights client ranking, and automates report delivery via Feishu with screenshot. - Designed to quickly create urgency in pre-sales scenarios by visualizing brand vs. competitor gaps.
元数据
Slug geo-quick-hook
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

geo-quickhook 是什么?

GEO售前快速钩子。输入客户品牌+5-8个头部竞品+1-2个签约词,5引擎并行采集,输出一张对比卡:客户排名末尾红色高亮,竞品头部绿色领先,一眼制造焦虑触发签约。触发词:"售前钩子"、"快速分析"、"给销售出个报告"、"geo-quick-hook"、"客户现在多差"、"信源分析"、"竞品信源对比"。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 231 次。

如何安装 geo-quickhook?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install geo-quick-hook」即可一键安装,无需额外配置。

geo-quickhook 是免费的吗?

是的,geo-quickhook 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

geo-quickhook 支持哪些平台?

geo-quickhook 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 geo-quickhook?

由 hanwenyolo-dot(@hanwenyolo-dot)开发并维护,当前版本 v1.0.0。

💬 留言讨论