成員 3 · 迴圈的規劃端

點子進。
排序好的計劃出。

AI 規劃大師 · MK PLAN MASTER

mk-plan-master 讀 Markdown / Linear / JIRA / Notion 裡的點子,做 idea triage、跑 RICE / Impact-Effort 排序,產一份能直接餵 mk-spec-master.parse_spec 的 spec draft。analyze_initiative 是核心——強制 AI 走資深 PM 分析 SOP,不再用兩段話亂猜 RICE。內建決策歷史 + 簽名 + telemetry,把 mk-spec-master v0.4 的自我強化模式套到上游。

讀取點子來源
Markdown Linear JIRA Notion
為什麼這支存在

把 Idea → Plan → Spec → Code → Test 的迴圈補上游那一格

mk-spec-master 和 mk-qa-master 已經顧到右半邊。上游那個「30~200 個點子怎麼變成排序好的季度 roadmap、再吐成 spec draft」的缺口,沒有人做 MCP-native。mk-plan-master 把那一格補起來——而且 generate_spec_draft 的輸出 verbatim 餵進 mk-spec-master.parse_spec,沒有手動 reformat、沒有 copy-paste 脆弱性。

範圍

這「」是什麼

mk-plan-master 站在點子來源跟 spec 之間。它不是 web crawler、不是 code writer、不是 LLM、不是 SaaS UI。

Web crawler
→ AI client 自己用 WebFetch / chat 蒐集,再呼叫 add_initiative 寫成 markdown
Code writer
→ spec_draft 進 mk-spec-master → 程式碼留給 IDE(Claude Code / Cursor / Copilot)
LLM
→ 推理交給你的 AI client(Claude / Cursor / Codex / Gemini)。analyze_initiative 只 scaffold prompt、不呼叫 LLM
Productboard / Aha! 替代 UI
→ MCP-native,住在 AI client 裡。直接讀你原本就在用的 Linear / JIRA / Notion
Spec 編輯器
→ mk-spec-master + 你原本就用的 Linear / JIRA / Notion / Markdown
Tool 表

15 個 tool、分 9 個角色

按角色分組。每組是 idea → plan → spec → memory 流水線的一層。

Meta — 暖機
  • get_plan_source_info目前用哪個 adapter、有哪些可用、版本——session 第一個叫
Discovery — 找跟讀點子
  • list_initiatives依 status / label / limit 過濾。Linear: triage / backlog / unstarted;JIRA: To Do;Notion: Triage / Backlog / Idea
  • fetch_initiative依 id 拉單一 initiative,回傳含 raw_metadata(RICE 輸入:reach / impact / confidence / effort / okr)
Capture — chat / WebFetch 接手
  • add_initiative把 AI 透過 WebFetch / chat / 通話筆記蒐集到的點子寫成 initiatives/.md。**家族不爬 URL**——你 summarize、這支寫。自動產 IDEA-NNN
Analysis — 資深 PM SOP
  • analyze_initiative**核心 meta-tool**。強制 AI 跑資深 PM 分析 SOP——target users / competition / market signal / risks / MVP scope / out-of-scope / RICE rationale。三個 framework:default(7 段)/ lite(4 段)/ lean_canvas(9 格)。不呼叫 LLM,只 scaffold prompt
Scoring — 排序 backlog
  • score_initiativeRICE 或 Impact-Effort 打分。Tier:P0 > 25、P1 10..25、P2 3..10、P3 < 3。寫一筆 scored decision 到 index.json
  • rank_backlog全 backlog 打分、回 top-N。**自動 archive snapshot**(debounce 5 分鐘)餵 get_planning_history / get_decision_signature 算 trend
Bridge — 家族鎖鏈
  • generate_spec_draft**家族橋接 tool**。產出 markdown spec draft,shape 成 mk-spec-master.parse_spec(raw_text=...) 能 verbatim 吃。三個 template:default / lite / detailed
Roadmap — 季度規劃
  • generate_roadmap把排序後 backlog 塞進季度 markdown roadmap,吃 capacity envelope(engineer-months × 4 person-weeks)扣 buffer(預設 20%)。Greedy score-per-effort packer
  • analyze_roadmap_balance把 top-N 分 feature / tech_debt / strategic / unlabeled 桶子,回 ratio + score-share + heuristic 建議。「roadmap 平衡嗎?tech debt 餓死了嗎?」
Knowledge — 方法論
  • init_plan_knowledge起 plan-knowledge.md:RICE / WSJF / Impact-Effort / OKR / INVEST / personas + 待填 OKR / strategic bets / tech-debt / glossary 段落。idempotent
  • get_plan_context讀 plan-knowledge.md(內建 fallback),可選 section 過濾。session 開頭叫,後續每個 score 都吃到同一份方法論
Self-reinforcement — 跨時間自我強化
  • get_planning_historyTrend 差:當下 vs ~7d / ~30d 的 top-10 churn + 平均分數。「有進步嗎?同一個點子永遠最頂?」
  • get_decision_signatureChronic pattern:**ghost**(top-10 出現 >50% 但從沒 spec_generated)、**whiplash**(RICE 分數震盪 >50%)、**orphan OKR**(index 有但 top-10 沒對應 initiative)
  • get_telemetry聚合 telemetry.jsonl(只記 name + duration + ok,**永遠不記**參數內容):top tools、error rate、p50 / p95 / p99、dead surface
來源 adapter

4 個來源、共用一組 tool

PLAN_SOURCE 環境變數切。同樣的工具,四種後端。

markdown_local
auth: 不用
since 0.1.0
linear
auth: LINEAR_API_KEY (+ PLAN_PROJECT_KEY 選用)
since 0.1.0
jira
auth: JIRA_BASE_URL + JIRA_EMAIL + JIRA_API_TOKEN (+ PLAN_PROJECT_KEY 選用)
since 0.1.0
notion
auth: NOTION_TOKEN + database id 當 PLAN_PROJECT_KEY
since 0.1.0
工作流程

四個 prompt 涵蓋 ~90% 的真實用法

一句話給 AI client,工具自動串。

1.

"我從客戶 call 整理了一個 feature idea——capture 成 initiative、跑 analyze_initiative、score、再產一份 detailed spec draft 餵 mk-spec-master。"

add_initiative → analyze_initiative → add_initiative(overwrite=true) → score_initiative → generate_spec_draft(template='detailed') → mk-spec-master.parse_spec
2.

"每週一把我的 Linear triage backlog 用 RICE 排序,秀對上週、上月的 trend。"

rank_backlog(method='rice', limit=10) → get_planning_history(window_days=30)
3.

"對 IDEA-014 跑資深 PM 分析 SOP——我要 target users / competition / market signal / risks / MVP scope / out-of-scope / RICE 理由,分完才打分。"

get_plan_context → fetch_initiative('IDEA-014') → analyze_initiative('IDEA-014', framework='default') → add_initiative(overwrite=true) → score_initiative
4.

"把 Notion Triage view 的點子全部拉出來、RICE 排序、4 個工程師 20% buffer 包成 Q3 2026 roadmap,再告訴我 feature/tech-debt/strategic 比例健不健康。"

list_initiatives(status='triage') → rank_backlog → generate_roadmap(capacity_engineer_months=12, period='Q3 2026') → analyze_roadmap_balance
範例輸出

為什麼 analyze_initiative 存在 — 一個真實 case

同一個 idea、兩次 pass。AI 預設會用兩段 blurb 亂猜 RICE,產出一個看起來很自信的 P0。analyze_initiative 強制走資深 PM SOP,數字變誠實。

Pass 1 — 沒有 analyze_initiative(AI 直接猜)

IDEA-001  ·  自助式新手引導精靈
  reach        500
  impact         2
  confidence   0.5
  effort        12  人週
  out_of_scope  []  (無)
  RICE         (500 × 2 × 0.5) / 12  =  41.7   →   P0

漂亮的 P0。看起來是「下季就 ship」的 no-brainer。

Pass 2 — 走完 analyze_initiative(資深 PM SOP)

IDEA-002  ·  自助式新手引導精靈(深度分析後)
  reach        250                    ← 收斂到「每季新增付費 SMB 註冊數」、
                                          不是月活訪客總數
  impact         2                    ← 不變
  confidence   0.4                    ← 下調:activation lift 是抄競品 blog 的
                                          假設,沒做自家 funnel cohort、
                                          沒有 holdout 實測
  effort        18  人週               ← 上調:wizard UI 3w + AI 步驟產生器 4w
                                          + analytics & A/B 3w + 多語 2w
                                          + accessibility audit 2w + observability
                                          + feature flag rollout 2w + 法務 2w
  out_of_scope  8 項明列              ← 企業 SSO、品牌客製、multi-tenant theming、
                                          手機原生 onboarding、從競品 import 設定、
                                          影片導覽、角色權限自動分派、SCIM
  RICE         (250 × 2 × 0.4) / 18  =  11.1   →   P1

同一個 idea、兩種深度——score 掉 3.8 倍、P0 → P1。「下季就 ship」跟「先驗證」的差別。analyze_initiative 就是讓 AI 走完資深 PM SOP 的那條 SOP,不用真的請一個資深 PM 進會議。

加進 MCP client config

重啟 client,然後就用你平常跟 AI 對話的方式講就好。

{
  "mcpServers": {
    "mk-plan-master": {
      "command": "uvx",
      "args": ["mk-plan-master"],
      "env": {
        "PLAN_SOURCE": "markdown_local",
        "PLAN_PROJECT_ROOT": "/path/to/your/project"
      }
    }
  }
}