Claude Code 實用功能與產品策略研究

← 首頁

目錄

一、Session Forking(/fork)立刻可用

你的 Claude Code 版本 2.1.89 已支援,不需要額外設定,直接輸入 /fork 即可使用。

概念

就像 git branch — 從當前對話分出一條新路線。新 session 帶著之前所有的 context,但原本的對話完全不受影響。

使用方式

在 Claude Code 對話中直接輸入:

/fork

適用場景

實用技巧:聊到一半想試大改但怕搞壞 → 先 /fork → 在新 session 大膽嘗試 → 成功就用新的,失敗就回原本的。

二、Playwright 自動化 QA 測試 鯤航適用

你的環境已安裝 Playwright,可以直接對 kunhang.com.tw 跑自動化測試。

能做什麼

測試項目說明
首頁載入確認 HTTP 200、頁面有內容
導覽列連結自動點擊所有連結,檢查沒有 404
手機版 RWD模擬 iPhone 12 截圖,檢查排版
師資頁面自動截圖,確認內容正確
漢堡選單手機版選單展開測試

最佳實踐

測試腳本

以下腳本可直接執行,會自動檢查 kunhang.com.tw 並存截圖到 screenshots/ 資料夾:

"""
kunhang.com.tw 自動化 QA 測試
執行:python3 test_kunhang.py
截圖存在 screenshots/ 資料夾
"""
import os
from playwright.sync_api import sync_playwright

SITE = "https://kunhang.com.tw"
SCREENSHOT_DIR = "screenshots"

def setup():
    os.makedirs(SCREENSHOT_DIR, exist_ok=True)

def test_homepage_loads(page):
    """測試 1:首頁能正常載入"""
    resp = page.goto(SITE, wait_until="networkidle", timeout=30000)
    assert resp.status == 200, f"首頁回應碼異常:{resp.status}"
    assert page.title(), "首頁標題為空"
    page.screenshot(path=f"{SCREENSHOT_DIR}/01_homepage_desktop.png", full_page=True)
    print(f"[PASS] 首頁載入成功,標題:{page.title()}")

def test_nav_links(page):
    """測試 2:導覽列所有連結都能點且不是 404"""
    page.goto(SITE, wait_until="networkidle", timeout=30000)
    nav_links = page.locator("nav a, .elementor-nav-menu a, header a").all()
    results = []
    for link in nav_links:
        href = link.get_attribute("href")
        text = link.inner_text().strip()
        if not href or href.startswith("#") or href.startswith("tel:") or href.startswith("mailto:"):
            continue
        results.append({"text": text, "href": href})
    print(f"  找到 {len(results)} 個導覽連結,逐一檢查...")
    for item in results:
        resp = page.goto(item["href"], wait_until="domcontentloaded", timeout=20000)
        status = resp.status if resp else "無回應"
        passed = resp and resp.status < 400
        mark = "PASS" if passed else "FAIL"
        print(f"  [{mark}] {item['text']} → {item['href']} (HTTP {status})")
    page.goto(SITE, wait_until="networkidle")

def test_mobile_rwd(page, browser, pw):
    """測試 3:手機版 RWD 截圖"""
    iphone = pw.devices["iPhone 12"]
    context = browser.new_context(**iphone)
    mobile_page = context.new_page()
    mobile_page.goto(SITE, wait_until="networkidle", timeout=30000)
    mobile_page.screenshot(path=f"{SCREENSHOT_DIR}/02_homepage_mobile.png", full_page=True)
    print("[PASS] 手機版首頁截圖完成")
    hamburger = mobile_page.locator(
        ".elementor-menu-toggle, .eicon-menu-bar, [aria-label='Menu'], .fa-bars"
    ).first
    if hamburger.is_visible():
        hamburger.click()
        mobile_page.wait_for_timeout(1000)
        mobile_page.screenshot(path=f"{SCREENSHOT_DIR}/03_mobile_menu_open.png", full_page=True)
        print("[PASS] 手機版選單展開截圖完成")
    else:
        print("[INFO] 未找到漢堡選單按鈕")
    context.close()

def test_teacher_page(page):
    """測試 4:師資頁面截圖"""
    page.goto(SITE, wait_until="networkidle", timeout=30000)
    teacher_link = page.locator("a:has-text('師資')").first
    if teacher_link.is_visible():
        teacher_link.click()
        page.wait_for_load_state("networkidle")
        page.screenshot(path=f"{SCREENSHOT_DIR}/04_teacher_page.png", full_page=True)
        print(f"[PASS] 師資頁面截圖完成,URL:{page.url}")
        return
    print("[WARN] 找不到師資頁面")

if __name__ == "__main__":
    setup()
    with sync_playwright() as p:
        browser = p.chromium.launch(headless=True)
        page = browser.new_page(viewport={"width": 1920, "height": 1080})
        print("=" * 50)
        print("kunhang.com.tw 自動化 QA 測試")
        print("=" * 50)
        test_homepage_loads(page)
        test_nav_links(page)
        test_mobile_rwd(page, browser, p)
        test_teacher_page(page)
        browser.close()
        print("=" * 50)
        print(f"測試完成!截圖存放於 {SCREENSHOT_DIR}/")

執行方式

cd /Users/wt/PyCharmMiscProject/鯤航網站優化
python3 test_kunhang.py

三、gstack 工作流套件 值得研究

Y Combinator 總裁 Garry Tan 開源的 Claude Code 工作流套件,GitHub 兩天破萬星。

核心概念

把一個 Claude Code 拆成多個「角色」,每個角色用一個自訂 slash command 啟動:

指令角色用途
/ceo產品經理評估功能優先級、產品方向
/eng工程師寫程式碼
/reviewCode Reviewer找 bug 和安全問題
/qaQA 測試自動化測試和品質保證
/ship部署管理發布和部署
/docs文件撰寫寫文件

安裝方式

# 克隆 gstack
git clone https://github.com/garrytan/gstack.git

# 進入目錄,執行安裝
cd gstack
./install.sh

安裝後在任何專案中都能用 /ceo/qa 等指令。本質上是一組精心設計的 system prompt + slash commands,不是獨立軟體。

鯤航適用場景:/qa 搭配 Playwright 腳本,讓 Claude 幫你規劃和執行 QA 測試。/review 可以幫你檢查 WordPress 外掛設定有沒有安全疑慮。

四、100M Offers 產品定位 — 車險 App 策略 值得研究

為什麼朋友沒在用?Hormozi 價值方程式診斷

核心公式:價值 = (夢想結果 x 成功可能性) / (時間延遲 x 努力與犧牲)

你的 App 目前提供的是「管理工具」(增加努力),而不是「夢想結果」。業務員的夢想結果是「續保率提高 → 賺更多佣金」,不是「有一個地方輸入保單資料」。

用 Grand Slam Offer 重新包裝

不要賣「車險管理工具」,要賣「車險續保率提升系統」。

維度目前改成
夢想結果管理保單資料每月自動抓到即將到期客戶,續保率提升 30%
降低努力手動填表拍一張行照就全部搞定,不用手動填欄位
降低時間延遲要從零建檔第一天就能用,支援匯入 Excel / 通訊錄
提高成功可能性只有工具附送到期前 LINE 通知範本、話術腳本、跟進 SOP

Dotcom Secrets 價值階梯

層級內容目的
免費層車險到期日計算器(LINE Bot 或網頁)吸引業務員進入
入門層免費版 App,限 50 筆客戶體驗核心功能
核心層付費版:無限客戶 + 自動 LINE 提醒 + 報表主要營收
高價層團隊版 + 客製化 + 一對一輔導高價值客戶

立刻可做的 3 件事

  1. 回去問那兩個朋友「為什麼沒在用」 — 是不知道怎麼開始?覺得沒必要?操作太麻煩?這比任何框架都重要
  2. 把定位從工具改成結果 — 所有文案改成「幫你多留住 X 個續保客戶」而非「管理你的保單」
  3. 最低摩擦啟動 — 拍一張行照就能開始用,不要有空白首頁要求從零建檔
核心洞察:產品功能沒問題,但包裝成了「工具」而非「結果」。業務員不缺工具,他們缺的是「更多續保 = 更多錢」的解決方案。先去問朋友真正不用的原因,再決定下一步。

五、鯤航網站可用功能整理 鯤航適用

功能用途優先度
Playwright QA 測試師資頁面改完後,自動截圖確認桌面版和手機版排版正確、連結沒壞高 — 改完就跑
gstack /qa讓 Claude 用 QA 角色系統性地測試網站,找出遺漏中 — 裝好就能用
/fork師資頁面做到一半想試不同排版方案,fork 出去試,不怕搞壞中 — 隨時可用
HTTP header Agent 偵測判斷是不是 AI Agent 在看網站,給 Agent 專用的 markdown 格式加速讀取低 — SEO 加分但不急
caffeinate 自動防睡眠Claude Code 已內建,你電腦 24/7 不關機,跑長時間任務不會中斷已有 — 不用額外設定
建議順序:師資頁面做完 → 跑 Playwright 測試截圖確認 → 裝 gstack 用 /qa 做完整 QA → 上線。