Product Spec Harness
HomeTrang chủ GuidesHướng dẫn product-specproduct-spec
For non-technical product ownersCho Product Owner không chuyên kỹ thuật

product-spec

v2.4.0

Runs a phased interview, captures your product as a strictly-traceable hierarchy, validates it deterministically (structure) and by judgment (LLM), and visualizes it — all in plain language. Output lives under docs/product/; it never writes prose anywhere else.Chạy một cuộc phỏng vấn theo giai đoạn, ghi sản phẩm của bạn thành cây có truy vết chặt, kiểm tra cả về cấu trúc (script) lẫn nhận định (LLM), và trực quan hóa — tất cả bằng ngôn ngữ bình thường. Đầu ra ở docs/product/; không bao giờ ghi văn ra ngoài.

✓ Reach for it when✓ Dùng khi

  • a non-technical PO needs to capture a product as a real specmột PO không-kỹ-thuật cần ghi sản phẩm thành spec thật
  • you want traceability Vision → Story with acceptance criteriabạn muốn truy vết Vision → Story kèm tiêu chí chấp nhận
  • starting a product from scratch, no code yetkhởi tạo sản phẩm từ đầu, chưa có code

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

  • writing code — it specs, the build team buildsviết code — nó đặc tả, đội build mới build
  • setting scope or sign-off for you — that's the PO's calltự quyết phạm vi hay duyệt — đó là việc của PO
  • prose outside docs/product/văn bản ngoài docs/product/
Worked exampleVí dụ thật

Follow acme-shop: Vision → StoryTheo acme-shop: Vision → Story

One real trace path through the sample spec — every step exists in examples/acme-shop. The story at the end traces all the way up to the goal. real spec Một đường truy vết thật xuyên spec mẫu — mỗi bước đều có trong examples/acme-shop. Story ở cuối truy ngược tới tận mục tiêu. spec thật

VISION
Acme Shop
north-star + personasnorth-star + personas
BRD-G1
Onboard 100 boutique brands / 12moĐưa 100 thương hiệu lên / 12 tháng
business goal + metricmục tiêu + chỉ số
PRD-CATALOG
Catalog & StorefrontCatalog & Cửa hàng
feature areavùng tính năng
…-E1
Catalog ManagementQuản lý Catalog
epic — a sliceepic — một lát
…-E1-S1
Add & publish a productThêm & đăng sản phẩm
story + AC · approvedstory + AC · đã duyệt

That path is one branch. Here is the full tree, straight from --viz tree --format ascii:Đường đó chỉ là một nhánh. Đây là cả cây, lấy thẳng từ --viz tree --format ascii:

visualize.py --root examples/acme-shop --view tree --format ascii
PRODUCT: Acme Shop
  [goal:BRD-G1] Onboard 100 boutique brands in 12 months · approved
    [prd:PRD-CATALOG] Catalog & Storefront · approved
      [epic:PRD-CATALOG-E1] Catalog Management Epic · approved
        [story:PRD-CATALOG-E1-S1] Add and publish a product · approved
        [story:PRD-CATALOG-E1-S2] Track inventory per variant · approved
      [epic:PRD-CATALOG-E2] Brand Storefront Epic · approved
        [story:PRD-CATALOG-E2-S1] Browse the catalog · approved
        [story:PRD-CATALOG-E2-S2] Product detail page · approved
    [prd:PRD-CHECKOUT] Checkout · approved
      [epic:PRD-CHECKOUT-E1] Sign-In + Address Epic · approved
        [story:PRD-CHECKOUT-E1-S1] Magic-link sign-in at checkout · approved
        [story:PRD-CHECKOUT-E1-S2] Saved addresses for returning shoppers · approved
      [epic:PRD-CHECKOUT-E2] Stripe Payment Epic · approved
        [story:PRD-CHECKOUT-E2-S1] Pay with Stripe at checkout · approved
        [story:PRD-CHECKOUT-E2-S2] Order confirmation email · approved
      [epic:PRD-CHECKOUT-E3] Order Tracking Epic · approved
        [story:PRD-CHECKOUT-E3-S1] Track order status · approved
  [goal:BRD-G2] Achieve 80% 90-day repeat-purchase rate · approved
    [prd:PRD-CHECKOUT] Checkout · approved
      [epic:PRD-CHECKOUT-E1] Sign-In + Address Epic · approved
        [story:PRD-CHECKOUT-E1-S1] Magic-link sign-in at checkout · approved
        [story:PRD-CHECKOUT-E1-S2] Saved addresses for returning shoppers · approved
      [epic:PRD-CHECKOUT-E2] Stripe Payment Epic · approved
        [story:PRD-CHECKOUT-E2-S1] Pay with Stripe at checkout · approved
        [story:PRD-CHECKOUT-E2-S2] Order confirmation email · approved
      [epic:PRD-CHECKOUT-E3] Order Tracking Epic · approved
        [story:PRD-CHECKOUT-E3-S1] Track order status · approved
    [prd:PRD-FANCRM] Fan-CRM · review
      [epic:PRD-FANCRM-E1] Fan Messaging Epic · review
        [story:PRD-FANCRM-E1-S1] Send a fan broadcast · draft
        [story:PRD-FANCRM-E1-S2] Reply inbox · draft
      [epic:PRD-FANCRM-E2] Audience Segments Epic · draft
        [story:PRD-FANCRM-E2-S1] Segment by purchase history · draft
  [goal:BRD-G3] Reach $2M GMV in the first year · approved
    [prd:PRD-ANALYTICS] Brand Analytics · draft
      [epic:PRD-ANALYTICS-E1] Revenue Dashboard Epic · draft
        [story:PRD-ANALYTICS-E1-S1] View revenue over time · draft
        [story:PRD-ANALYTICS-E1-S2] Export report CSV · draft
    [prd:PRD-CATALOG] Catalog & Storefront · approved
      [epic:PRD-CATALOG-E1] Catalog Management Epic · approved
        [story:PRD-CATALOG-E1-S1] Add and publish a product · approved
        [story:PRD-CATALOG-E1-S2] Track inventory per variant · approved
      [epic:PRD-CATALOG-E2] Brand Storefront Epic · approved
        [story:PRD-CATALOG-E2-S1] Browse the catalog · approved
        [story:PRD-CATALOG-E2-S2] Product detail page · approved
    [prd:PRD-CHECKOUT] Checkout · approved
      [epic:PRD-CHECKOUT-E1] Sign-In + Address Epic · approved
        [story:PRD-CHECKOUT-E1-S1] Magic-link sign-in at checkout · approved
        [story:PRD-CHECKOUT-E1-S2] Saved addresses for returning shoppers · approved
      [epic:PRD-CHECKOUT-E2] Stripe Payment Epic · approved
        [story:PRD-CHECKOUT-E2-S1] Pay with Stripe at checkout · approved
        [story:PRD-CHECKOUT-E2-S2] Order confirmation email · approved
      [epic:PRD-CHECKOUT-E3] Order Tracking Epic · approved
        [story:PRD-CHECKOUT-E3-S1] Track order status · approved
  [goal:BRD-G4] Keep average brand payout latency under 3 days · approved
    [prd:PRD-ANALYTICS] Brand Analytics · draft
      [epic:PRD-ANALYTICS-E1] Revenue Dashboard Epic · draft
        [story:PRD-ANALYTICS-E1-S1] View revenue over time · draft
        [story:PRD-ANALYTICS-E1-S2] Export report CSV · draft
    [prd:PRD-PAYOUTS] Brand Payouts · approved
      [epic:PRD-PAYOUTS-E1] Automated Payouts Epic · approved
        [story:PRD-PAYOUTS-E1-S1] Scheduled payout run · approved
        [story:PRD-PAYOUTS-E1-S2] Payout statement export · approved
  [goal:BRD-G5] Launch native mobile shopping by year 2 · review
    [prd:PRD-MOBILE] Native Mobile Shopping · draft
      [epic:PRD-MOBILE-E1] Mobile App Shell Epic · draft
        [story:PRD-MOBILE-E1-S1] Mobile browse and buy · draft
  [goal:BRD-G6] Scale to 500 brands with cross-brand discovery (year 3) · draft
    [prd:PRD-DISCOVERY *] Cross-Brand Discovery · draft
      [epic:PRD-DISCOVERY-E1 *] Cross-Brand Discovery Epic · draft
        [story:PRD-DISCOVERY-E1-S1 *] Personalized discovery feed · draft
— 42 nodes · 6 goals · 7 prds · 11 epics · 18 stories · 0 findings

Same graph, --view board --format html — a self-contained, sanitized page (live below):Cùng đồ thị, --view board --format html — một trang tự chứa, đã làm sạch (chạy thật bên dưới):

20 views in all (graph · html · learning), each in ascii / mermaid / html. The board above is the real rendered artifact, embedded.Tổng 20 khung nhìn (graph · html · learning), mỗi cái ở ascii / mermaid / html. Bảng trên là hiện vật render thật, được nhúng.

Validate — script first, LLM judgesValidate — script trước, LLM nhận định

Deterministic scripts catch the structural failures; the LLM layer adds the judgment a script can't.Script tất định bắt lỗi cấu trúc; lớp LLM thêm phần nhận định mà script không làm được.

Structural (scripts)Cấu trúc (script)

orphansmissing ACID integritybroken tracetiming driftundescribed persona

Judgment (LLM)Nhận định (LLM)

INVESTvaguenesscore-value driftduplicationcontradiction
GATE — no silent reversal.không đảo ngầm. A new claim that contradicts an approved artifact is surfaced verbatim, never auto-fixed: Một khẳng định mới mâu thuẫn với tài liệu approved được nêu nguyên văn, không bao giờ tự sửa:
KeepChange + re-approveHybrid

Every capability, groupedToàn bộ năng lực, theo nhóm

Author the specSoạn spec

--product--brd--prd--epic--story--auto--discover

Govern & evolveQuản trị & tiến hóa

--validate--strict--approve--update--decision--apply-critique--status--reflect

Learn & shareHọc & chia sẻ

--learn → OUT-n--summary exec|release-notes--export--layers--depth--compact-mode

PersonalizeCá nhân hóa

--lang en|vi--voicepreferences.py interview_rigoraction_prompting

--viz — 20 views, 3 formats (ascii · mermaid · html)--viz — 20 khung nhìn, 3 định dạng (ascii · mermaid · html)

Pick a view; ASCII is always available offline, HTML-native views render a self-contained, sanitized page.Chọn một khung nhìn; ASCII luôn có offline, các khung HTML-native tạo trang tự chứa, đã được làm sạch.

graphtree
graphheatmap
graphscope
graphroadmap
graphpersona
graphgap
graphmoscow
graphtime
graphdelta
htmlrisk
htmlcompetition
htmldashboard
bodyboard
bodyexplorer
governaudit
learnscorecard
learninsight-gap
learnoutcome-trend
learnlearning-map
learnlearning