skills/parallel-evaluation/SKILL.md
多視角審核/code review 工具。派發三人組(含常駐委員 linux)並行掃描程式碼品質、架構設計、重構評估。Use for: 程式碼審查, 架構評估, 重構掃描, 結論審查, 系統設計變更審查, 功能規劃審查。Use when: Phase 3b 完成後 PR 前, Phase 4 重構評估前, 重大架構決策前, ANA Ticket 結論審查, 任何分析報告產出後, 規則/Skill/方法論變更後, Wave 完成審查, 規格設計完成後
npx skillsauth add tarrragon/claude parallel-evaluationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
方法論: .claude/methodologies/parallel-evaluation-methodology.md
Phase 1 → 收集標的(確定掃描範圍) Phase 2 → 並行視角掃描(2-4 Agent 同時掃描)
Phase 2 預算檢查:
reference_tokens + (N x avg_target_tokens) + (N x output_tokens) < 100,000。超過則減少 N 或拆分標的。
Phase 3 → 彙整 + Worth-It Filter + 建立 Ticket + 錯誤模式記錄(決定執行方式,所有發現必須追蹤)
Phase 3 強制步驟:(1) 彙整發現 → (2) Worth-It Filter 分類 → (3) 對每個「延後執行」項目執行
ticket create→ (4) 將 Ticket ID 填入報告表格 → (5) 結構性發現→錯誤模式記錄(見下方判斷標準)→ (6) 輸出報告。步驟 3-5 不可省略,報告中不可出現沒有 Ticket ID 的「延後追蹤」行。 Phase 3 步驟 5 判斷標準:發現是否為結構性模式(跨專案可重現的錯誤類型,而非單次的專案 bug)?若是,執行/error-pattern add記錄到.claude/error-patterns/。判斷方式:將發現中的專案名稱和檔案路徑替換為通用描述,如果仍然有意義 → 是結構性模式。 Phase 3 衝突處理:視角間有衝突時,依衝突分類策略處理(加法vs減法預設減法,linux 品味否決權)。詳見 multi-perspective-analysis-methodology.md「衝突處理策略」。
parallel-evaluation 的常駐委員分兩類,加入規則與 opt-out 條件不同:
| 類型 | 代理人 | 加入情境 | 可 opt-out |
|------|--------|---------|-----------|
| universal_lens | linux | 所有情境(A-G)無條件加入(Good Taste / 架構複雜度為所有產出的元維度) | 否 |
| default_lens_per_scenario | basil-writing-critic | 情境 C / D / F / G 預設加入(書面文字產出量最高的場景);情境 A / B / E 不加入 | 是(--skip-basil) |
linux 常駐說明:linux 評分對應 Worth-It Filter:Garbage = 高幅度、Acceptable = 中幅度、Good taste = 無發現。Wave 完成審查時,除了標準的多視角代理人外,必須額外派發 linux 代理人作為常駐審查委員,與 code-reviewer(Bug/安全)和 code-explorer(架構/設計)組成固定三人組(見 parallel-dispatch.md 多視角審查固定三人組章節)。
basil opt-out 機制(--skip-basil):PM 在以下任一條件成立時可宣告 --skip-basil,略過本次 basil 加入:
| 條件 | 判斷依據 | |------|---------| | Context 使用率 > 70% 或 session 後段 | 剩餘 token 預算不足以同時承載 basil 審查輸出 | | 審查標的為已知非文字密集產出 | 例如:schema 定義、YAML 設定、程式碼變更(僅情境 C/D/F/G 意外含大量程式碼) | | 本 session 已完成一次 basil 審查且標的無重大變更 | 同一文件短期內重複審查,邊際收益低 |
Why:basil 在 C/D/F/G 預設加入是保護書面文字品質的必要機制;但強制無 opt-out 會在 token 緊張的 session 後段單方面增加 +33% 派發成本,違反「Never break userspace」(W17-066 linux L-W1 共識)。opt-out 讓 PM 在資源受限時能主動降低摩擦,同時保留預設強制的保護效果。
Consequence:未宣告 --skip-basil 即代表 basil 必然加入情境 C/D/F/G;濫用 --skip-basil(在非緊急條件下略過)會使文字品質防護缺失,後期需要更高成本的人工修正。
Action:PM 在 parallel-evaluation 情境判斷時,先確認情境屬 C/D/F/G,若是則 basil 預設加入;若任一 opt-out 條件成立,可宣告 --skip-basil 並在 Ticket append-log 記錄原因。
| 情境 | 適用時機 | 視角 | Agent 數 | basil 預設 |
|------|---------|------|---------|-----------|
| A: 程式碼審查 | Phase 3b 後、PR 前 | Reuse + Quality + Efficiency | 3 | 否 |
| B: 重構評估 | Phase 4 前、TD 清理 | Redundancy + Coupling + Complexity | 3 | 否 |
| C: 架構評估 | SA 審查、新架構決策 | Consistency + Impact + Simplicity | 3+1 | 是(--skip-basil 可 opt-out)|
| D: 功能評估 | Phase 1 後、需求確認 | Overlap + Fit + Scope | 3+1 | 是(--skip-basil 可 opt-out)|
| E: 冗餘偵測 | 版本規劃、系統清理 | Duplication + State + Interface | 3 | 否 |
| F: 結論審查 | 任何分析報告產出後 | Evidence + Alternatives + Scope | 3+1 | 是(--skip-basil 可 opt-out)|
| G: 系統設計 | 規則/Skill/方法論變更後 | Consistency + Completeness + CogLoad | 3+1 | 是(--skip-basil 可 opt-out)|
各視角詳細檢查項目: references/lens-configurations.md
語言代理人加入規則:當審查標的涉及語言/框架專屬的基礎設施或開發流程時,將對應語言代理人作為額外審查委員加入標準三人組:
| 審查標的涉及 | 加入代理人 | 常見場景 | |-------------|-----------|---------| | Flutter/Dart | parsley-flutter-developer | Widget 架構、Riverpod 設計、Dart 慣例 | | Python | thyme-python-developer | Hook 系統、腳本設計、Python 慣例 | | Go | fennel-go-developer | 後端服務、Go 慣例 |
此規則對情境 C(架構評估)和 D(功能評估)尤為重要,因為規劃階段的決策深受語言/框架限制影響。語言代理人可提供框架專業知識,避免產出不符合實際開發慣例的方案。
核心原則:Worth-It Filter 只決定「是否立即執行」,不決定「是否追蹤」。所有發現都必須建 Ticket 或寫入 todolist。發現技術債是一個問題,修復成本是否值得是另一個問題——兩者不在同一時刻決策。
| 改善幅度 | 風險低 | 風險高 | 追蹤方式 | |---------|--------|--------|---------| | 高(bug/安全) | 立即執行 | 立即執行 | 建 Ticket(P0/P1) | | 高(簡化) | 立即執行 | 延後執行 | 建 Ticket(P1) | | 中(維護性) | 立即執行 | 延後執行 | 建 Ticket(P2) | | 低(風格) | 延後執行 | 延後執行 | 建 Ticket(P2) |
Why:本表的「延後執行」是合法狀態(b)——延後決策必須綁 ticket trigger(見 .claude/rules/core/decision-trigger-binding.md 規則 1 / 1.5)。表格右欄的「建 Ticket」就是 trigger 綁定,缺一即退化為無 trigger 延後。
Consequence:報告中出現「延後」但 Ticket 欄為空,等同未追蹤;該發現會在「以後」與「永不」之間累積為死議題(PC-093 反模式)。
Action:執行有疑慮就延後,但追蹤不可省略。Phase 3 產出報告前,必須對所有延後項目執行 ticket create,並在報告表格的 Ticket 欄填入實際 ID。禁止行為:報告中出現「延後」但 Ticket 欄為空。
量化標準和案例: references/worth-it-filter-details.md
Phase 1: git diff --name-only 取得變更檔案
Phase 2: 並行派發 3 Agent
- Explore: 掃描是否有可重用的既有 utility
- code-reviewer #1: 掃描冗餘狀態和 copy-paste
- code-reviewer #2: 掃描不必要的工作和效能問題
Phase 3: 彙整發現 → Worth-It Filter → 行動清單
Phase 1: 收集分析報告/結論
Phase 2: 並行派發 3 Agent
- Explore #1: 驗證結論是否有程式碼佐證
- Plan: 檢查是否遺漏替代方案
- Explore #2: 評估影響範圍估計是否合理
Phase 3: 任一視角發現問題 → 回到分析階段補充
## 並行評估報告
**標的**: [範圍] **情境**: [A-G]
### 值得行動
| # | 視角 | 發現 | 幅度 | 風險 | 決策 |
|---|------|------|------|------|------|
### 延後追蹤(建 Ticket,不立即執行)
> **強制**:此表格每一行的 Ticket 欄必須填入實際 Ticket ID(格式如 `{version}-W{wave}-{seq}`)。空白 Ticket 欄 = 未追蹤 = 違反 quality-baseline 規則 5。
| # | 視角 | 發現 | 延後原因 | Ticket |
|---|------|------|---------|--------|
### 結構性錯誤模式(已記錄到 error-patterns/)
> 此區段僅在有結構性發現時出現。判斷標準:將發現中的專案名稱和檔案路徑替換為通用描述,如果仍然有意義 → 記錄。
| # | Pattern ID | 標題 | 來源發現 |
|---|-----------|------|---------|
### 結論
[總結]
/bulk-evaluate 的區別| 維度 | /parallel-evaluation | /bulk-evaluate |
|------|----------------------|--------------------|
| 並行軸 | N 個視角 x 1 組標的 | 1 個標準 x N 個單位 |
| 產出物 | 彙整報告(回到主線程) | N 個子 Ticket(不回主線程) |
| 適用 | 多角度快速評估 | 批量處理 + context 卸載 |
選擇原則:需要多角度掃描同一標的 → 本工具;需要用同一標準掃描 N 個獨立目標 → /bulk-evaluate
Last Updated: 2026-05-04
Version: 1.2.0 — 套用 compositional-writing 改寫(W17-135):Worth-It Filter 段「核心原則 / 強制規則」改寫為三明示 Why / Consequence / Action,明示連結至 .claude/rules/core/decision-trigger-binding.md 規則 1 / 1.5;負向「禁止行為」保留並加正向錨點
Version: 1.1.0 - 新增 basil-writing-critic 常駐委員機制(情境 C/D/F/G 預設加入)+ --skip-basil opt-out 機制 + 常駐委員概念拆分(universal_lens / default_lens_per_scenario)(W17-069 / W17-066 R-3)
development
Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.
development
Claude Code release notes 框架影響評估工具。比對 last-reviewed 版本篩出新版本,逐項分類(對框架有幫助 / 需評估 / 無影響 / 不適用),對採用項引導建 ANA + WRAP + spawn 落地。Use when: 執行 /release-notes 看到新版本、定期檢查 CC 更新、評估新功能對專案框架的影響時。Triggers: release notes, release-notes, CC 更新, claude code 更新, 版本更新評估, 新功能評估, 框架影響評估。
development
Assertion design judgment framework for flaky and design-quality issues. Use when writing tests, reviewing assertions, diagnosing flaky tests, or deciding if a timing/float/cache assertion is appropriate. Do NOT use for API syntax or refactoring.
tools
Chrome Extension 實機測試與 debug 工作流,以 chrome-devtools-mcp 為核心工具。Use when: (1) 完成功能後實機驗證 / manual test / 試看看 / 跑看看 / verify feature, (2) extension debug / popup 不作動 / content script 不注入 / service worker 報錯 / background 出問題, (3) 安裝 unpacked extension / load unpacked / 載入未封裝, (4) 看 console / 看 network / 看 log / view console / inspect requests, (5) 功能更新後重新載入 extension / rebuild reload / reload extension。涵蓋 Manifest V3 service worker / content script / popup / options page 的 chrome-devtools-mcp 工具呼叫流程。不取代 Puppeteer / Playwright 自動化 E2E(CI 用),定位為開發期手動驗證與 LLM-assisted debug。