Product Spec Harness
HomeTrang chủ GuidesHướng dẫn critiquecritique
An opinion, not a pass/failMột quan điểm, không phải pass/fail

product-spec-critique

v1.3.0

--validate says the spec is sound. Critique says whether it is any good — a brutal-but-grounded tear-down across four lenses that reuses validate's findings as ammo, then says what validate cannot: why it would die, where it sits in the market, whether the writing holds up. It never edits your spec and is never in a CI gate.--validate nói spec vững. Critique nói nó có tốt không — một bản mổ xẻ gắt-nhưng-có-căn-cứ qua bốn lăng kính, tái dùng phát hiện của validate làm "đạn", rồi nói điều validate không nói: vì sao chết, đứng đâu trên thị trường, chữ nghĩa có vững không. Nó không bao giờ sửa speckhông bao giờ vào cổng CI.

✓ Reach for it when✓ Dùng khi

  • --validate passes but the spec still feels weak--validate qua rồi mà spec vẫn thấy yếu
  • you want the why-it-dies + market + craft readbạn muốn cái nhìn vì-sao-chết + thị trường + chữ nghĩa
  • before committing real build budget to an epictrước khi rót ngân sách build thật vào một epic

✗ Not for✗ Không dùng để

  • a CI gate — it's an opinion, non-deterministiccổng CI — đây là quan điểm, không tất định
  • structural checks — that's --validate's jobkiểm tra cấu trúc — đó là việc của --validate
  • editing the spec — it only reportssửa spec — nó chỉ báo cáo
Worked exampleVí dụ thật

One real finding, six voice levelsMột phát hiện thật, sáu mức giọng

Step through the levels. The evidence and the fix never move — only the voice sharpens. This is verbatim output from critiquing examples/acme-shop. real output Bấm qua từng mức. Bằng chứng và cách sửa không đổi — chỉ giọng gắt dần. Đây là đầu ra nguyên văn khi phản biện examples/acme-shop. đầu ra thật

Levels 7–9 are opt-inMức 7–9 phải opt-in
These contain real work-targeted profanity (Vietnamese). The line attacks the work, never a person — but it's hidden by default.Có chửi thề thật nhắm-công-việc (tiếng Việt). Lằn ranh nhắm vào công việc, không nhắm con người — nhưng mặc định ẩn đi.

Output is plain Vietnamese — that's the language the skill speaks. The same finding also renders in English via --lang en. Đầu ra là tiếng Việt thuần — đúng ngôn ngữ skill nói. Cùng phát hiện cũng render được tiếng Anh qua --lang en.

Four lenses, four read-only sub-agentsBốn lăng kính, bốn sub-agent chỉ-đọc

ProductSản phẩm

JTBD · Value-Prop · Kano · RICE · riskiest-assumption

TechKỹ thuật

INVEST · Given-When-Then · NFR gaps · hidden deps

MarketThị trường

Lean Canvas · Porter · Blue Ocean · me-too? +web

CraftChữ nghĩa

CSI-4Cs · plain-language · term drift · show-don't-tell
⚙️
How a critique is built: critique_scan.py assembles one evidence bundle → four read-only lens agents fan out in parallel → an opus consolidator dedups, ranks, picks the top-3, flags repeat-offenders → a sonnet humanizer strips AI/translation tells while keeping the bite → the main agent writes one markdown report. Re-runs are cheap: unchanged spec reuses cached lens arrays; a bare level bump only re-renders the voice. Một bản phản biện được dựng thế nào: critique_scan.py ráp một bundle bằng chứng → bốn lens agent chỉ-đọc chạy song song → một opus consolidator khử trùng, xếp hạng, chọn top-3, gắn cờ tái phạm → một sonnet humanizer bóc dấu vết AI/dịch máy mà giữ độ "gắt" → main agent ghi một báo cáo markdown. Chạy lại rẻ: spec không đổi thì tái dùng mảng lens đã cache; chỉ tăng mức thì chỉ render lại giọng.

The voice dial — what each level meansNúm chỉnh giọng — mỗi mức nghĩa là gì

Drag from gentle to brutal. Default is 5. Levels 1–4 only ever attack the artifact. 6–9 are dangerous, opt-in, and 9 re-confirms on every run.Kéo từ nhẹ tới gắt. Mặc định 5. Mức 1–4 chỉ công kích hiện vật. 6–9 nguy hiểm, phải opt-in, và mức 9 hỏi lại mỗi lần chạy.

123456789
Universal-harm floor — at every level, even 9, even with consent.Lằn ranh universal-harm — ở mọi mức, kể cả 9, kể cả khi bạn đồng ý. The line is the target, not the harshness: it attacks the work, never you. No real-violence threats, no protected-characteristic slurs, no family-targeted profanity, no self-harm or sexual content. Every line always keeps an evidence ID and a fix. Lằn ranh là đối tượng, không phải độ gắt: nó nhắm công việc, không nhắm bạn. Không đe dọa bạo lực thật, không miệt thị đặc điểm con người, không chửi nhắm gia đình, không tự hại/tình dục. Mỗi dòng luôn giữ mã bằng chứng và một cách sửa.

Scope & lensesPhạm vi & lăng kính

allPRD-AUTH…-E1-S1--product--tech--market--craft--interactive

Reuse, web & cross-critiqueTái dùng, web & liên-phản-biện

--fresh--refresh-web--no-web--no-inherit--no-rollup--inherit nearest|deep