Phương pháp prompt

Finding Your Unknowns

Với các model hiện nay, chất lượng output không còn bị giới hạn bởi model — mà bởi khả năng của bạn trong việc làm rõ unknowns.

Guide này ánh xạ phương pháp "finding your unknowns" vào các lệnh ClaudeKit: một vòng lặp tìm ra điều bạn chưa biết — trước, trong và sau khi implement.

Bản đồ không phải lãnh thổ

Prompt, skill và context của bạn là bản đồ. Codebase và ràng buộc thực tế là lãnh thổ. Hai thứ không bao giờ khớp hoàn toàn.

Unknowns là khoảng cách

Chỗ nào bản đồ để trắng, agent phải đoán ý bạn. Càng làm nhiều, càng đoán nhiều.

Tìm sớm thì rẻ

Mỗi lần brainstorm, interview, prototype, quiz là một cách rẻ để phát hiện điều bạn chưa biết — trước khi việc sửa trở nên đắt đỏ.

Bốn loại unknowns

Phân rã mọi task theo ma trận này trước khi prompt.

Known knowns

Nằm trong prompt

Known unknowns

Quyết định còn mở

Unknown knowns

Thấy mới biết đúng

Unknown unknowns

Điểm mù

Nguồn phương pháp: "A Field Guide to Fable: Finding Your Unknowns" — Thariq (@trq212)

Bạn đang bí kiểu gì?

Thay vì duyệt lệnh theo category, hãy bắt đầu từ loại unknown bạn đang gặp. Mỗi quadrant có lệnh sinh ra để giải nó.

Known knowns

Những gì bạn đã viết trong prompt: yêu cầu, ràng buộc, context bạn ghi ra.

"Thêm rate limiter cho API client, tối đa 10 req/s."

/ck:cook/ck:fix/ck:plan

Không có lệnh riêng — known knowns chính là task bạn đưa cho bất kỳ lệnh nào bạn chạy tiếp theo.

Known unknowns

Những gì bạn biết mình chưa quyết: các câu hỏi mở mà bạn ý thức được.

"Retry nên dùng exponential backoff hay fixed delay? Tôi chưa chọn."

/ck:brainstorm/ck:plan/ck:plan validate

Cả ba đều phỏng vấn bạn bằng câu hỏi trúng đích trước khi chốt design hoặc chốt assumption.

Unknown knowns

Tiêu chí hiển nhiên đến mức bạn không bao giờ viết ra — nhưng nhìn thấy là nhận ra ngay. Visual design nằm ở đây.

"Tôi không tả được dashboard mình muốn, nhưng đưa 4 hướng design là tôi chỉ được ngay."

/ck:brainstorm --html/ck:preview

Prototype trước, react sau. Mock HTML nhẹ, ít tốn kém giúp lộ tiêu chí trước khi implementation khoá cứng.

Unknown unknowns

Những gì bạn chưa hề nghĩ tới: câu hỏi không biết để hỏi, ổ gà không nhìn thấy, chuẩn chất lượng không hình dung được.

"Tôi cần thêm auth provider nhưng chưa đụng module auth trong codebase này bao giờ."

/blindspot/ck:scenario/ck:predict/ck:scout/ck:plan red-team

Mục tiêu chính của phương pháp. Nhờ agent tìm giúp — nó đọc lãnh thổ nhanh hơn bạn.

Kỹ thuật theo giai đoạn

Không phải lần nào cũng dùng hết. Xem đây là hộp đồ nghề: chọn thứ khớp với loại unknowns bạn nghi ngờ.

Trước khi implement

Đa số unknowns tìm ở đây là rẻ nhất.

  • Blind spot pass /blindspot custom

    Nhờ agent tìm unknown unknowns của bạn ở vùng lạ và dạy bạn prompt tốt hơn.

  • Brainstorm & prototype /ck:brainstorm --html

    Lộ các tiêu chí "thấy mới biết" bằng mock HTML nhẹ, ít tốn kém và các approach cạnh tranh.

  • Interview có sẵn

    Để agent phỏng vấn bạn về các điểm mơ hồ — có sẵn trong brainstorm và plan validation.

  • Reference thay vì mô tả /ck:xia

    Reference tốt nhất là source code. Chỉ agent tới repo đã làm đúng thứ bạn muốn.

  • Plan xếp quyết định lên đầu /ck:plan --html

    Mở đầu plan bằng thứ bạn dễ đổi nhất: data model, interface, UX flow.

Trong khi implement

Unknown unknowns luôn rình trong chính quá trình làm.

  • Implementation notes /impl-notes custom

    Khi edge case buộc lệch plan: chọn phương án bảo thủ, log lại, đi tiếp.

Sau khi implement

Khép vòng lặp: hiểu biết và buy-in.

  • Pitch & explainer /ck:preview

    Gói spec, prototype và notes vào một artifact để reviewer nắm nhanh.

  • Quiz kiểm tra hiểu biết /quiz-gate custom

    Làm quiz về thay đổi, pass tuyệt đối mới merge.

  • Hồi tưởng /ck:journal

    Ghi journal điều session dạy bạn — nguyên liệu cho bản đồ lần sau.

Workflow đầu-cuối

Sáu giai đoạn từ "tôi chưa biết gì" đến "đã ship và đã hiểu". Mỗi giai đoạn ghép một kỹ thuật với lệnh ClaudeKit thực thi nó. Không phải task nào cũng cần đủ 6 bước — co giãn số gate theo mức độ lạ và rủi ro của việc đang làm.

  1. 0

    Định vị unknowns

    Tìm ra unknown unknowns của bạn trước khi bắt đầu.

    /blindspot custom
    Ví dụ prompt
    /blindspot "Tôi đang thêm auth provider mới nhưng không biết gì về module auth ở đây. Làm giúp tôi 1 blindspot pass."
  2. 1

    Khám phá & thiết kế

    Khám phá hướng tiếp cận, prototype, lộ ra các unknown knowns.

    /ck:brainstorm --html

    Với thay đổi rủi ro cao, thêm /ck:predict hoặc /ck:scenario.

    Ví dụ prompt
    /ck:brainstorm --html "Tôi muốn có dashboard cho data này nhưng không có gu thẩm mỹ và không biết cái gì khả thi. Làm giúp tôi trang HTML với 4 hướng thiết kế khác biệt hoàn toàn để tôi phản hồi."
  3. 2

    Kế hoạch

    Biến hướng đã chọn thành các bước implement theo phase.

    /ck:plan
    hoặc /ck:plan --tdd
    Ví dụ prompt
    /ck:plan "Biến hướng dashboard đã chọn thành plan theo phase. Ưu tiên viết trước phần tôi dễ đổi ý nhất."

    Khi thay đổi đụng vào logic quan trọng đã có test tốt

    Ví dụ prompt
    /ck:plan "Phần này đụng vào logic retry thanh toán và đã có test tốt." --tdd

    Tuỳ chọn, cho thay đổi rủi ro cao (public API, security, blast radius lớn) — bỏ qua nếu dùng --hard/--deep/--parallel/--two, các mode này đã tự chạy sẵn

    Ví dụ prompt
    /ck:plan red-team <path-to-your-plan>

    Chạy sau red-team, ngay trước khi cook — phỏng vấn câu hỏi phản biện để chốt assumption cùng bạn

    Ví dụ prompt
    /ck:plan validate <path-to-your-plan>

    Nâng cao, tuỳ chọn, cần subscription OpenAI riêng (Codex CLI) — model khác bắt được blind spot mà Claude tự mù với chính nó. Chạy cuối, sau khi red-team + validate đã tôi luyện plan.

    cài đặt một lần
    /plugin marketplace add openai/codex-plugin-cc
    /plugin install codex@openai-codex
    /codex:setup
    Ví dụ prompt
    /codex:adversarial-review --wait plan này đã qua red-team + validate — challenge hướng đi, hidden assumptions, tradeoffs
  4. 3

    Thực thi

    Implement; log lại deviation ngay khi xảy ra, chọn phương án bảo thủ trước.

    /impl-notes init custom
    /ck:cook
    /impl-notes review custom

    Cách chạy

    chuỗi lệnh
    /impl-notes init
    /ck:cook <path-to-your-plan>
    # nếu edge case buộc lệch plan giữa chừng:
    /impl-notes log "plan nói X, thực tế Y, tôi chọn Z vì..."
    /impl-notes review
  5. 4

    Gate hiểu biết

    Hai gate độc lập: code có chạy đúng không, và BẠN có hiểu thứ vừa ship không.

    /ck:code-review
    /quiz-gate custom

    Khép vòng gate: gate phía plan (red-team, validate) diệt unknowns của plan; gate này diệt unknowns của chính bạn.

    Cách chạy

    chuỗi lệnh
    # cả hai đều mặc định soi thay đổi đang chờ (pending changes), không cần tham số
    /ck:code-review
    # tuỳ chọn, nâng cao — cần subscription OpenAI riêng (Codex CLI):
    # /codex:adversarial-review --wait tập trung vào phần rủi ro nhất của diff này
    /quiz-gate
  6. 5

    Ship

    Artifact để buy-in, ship, và hồi tưởng.

    /ck:preview
    /ck:git
    /ck:ship
    /ck:journal

    Cách chạy

    chuỗi lệnh
    /ck:preview --html --explain "vì sao làm theo hướng này, demo GIF để lên đầu"
    /ck:git cp
    # hoặc, muốn full PR pipeline thay vì push thẳng:
    # /ck:ship
    /ck:journal "điều session này dạy chúng ta"

3 custom skills

Custom

Không thuộc ClaudeKit core — 3 skill nhỏ dựng ra để bù đúng khoảng trống mà phương pháp này cần.

blindspot
Custom

Biến ‘tôi không biết mình không biết gì’ thành một prompt sắc bén, dán là dùng được.

vùng lạ domain mới trước khi code
Early access
impl-notes
Custom

Bắt từng lần lệch plan ngay lúc xảy ra — trước khi nó thành một bí ẩn.

trong lúc code edge case ghi chú bàn giao
Early access
quiz-gate
Custom

Không pass quiz tuyệt đối thì không merge. Đơn giản vậy thôi.

trước khi merge hiểu biết review PR
Early access

Đang ưu tiên chia sẻ cho Subscribers trước

Cả 3 skill đang được tinh chỉnh trong nhóm Facebook riêng trước khi công khai. Khi ổn định sẽ publish lên repo công khai và mục này sẽ trỏ thẳng tới đó.

Vào nhóm Facebook

Ví dụ prompt

Mười ví dụ prompt đời thường, chạy được ngay, nhóm theo loại unknown mà chúng giải quyết. Copy, chỉnh sửa, và thêm context của bạn vào.

Known unknowns

Known unknowns #1
/ck:brainstorm "Trước khi bắt đầu, hỏi tôi từng câu một về chỗ nào còn chưa rõ — ưu tiên câu nào mà câu trả lời sẽ làm thay đổi cách bạn code."
Known unknowns #2
/ck:brainstorm "Tôi muốn thêm tính năng 'quên mật khẩu' nhưng chưa biết gửi email reset qua đâu. Liệt kê giúp tôi các lựa chọn từ rẻ đến tốt nhất, kèm ưu nhược điểm."

Unknown knowns

Unknown knowns #1
/ck:brainstorm --html "Tôi cần dashboard cho data này nhưng không có gu thẩm mỹ và không biết cái gì khả thi. Làm giúp tôi 1 trang HTML với 4 hướng thiết kế khác biệt hoàn toàn để tôi phản hồi."
Unknown knowns #2
/ck:brainstorm --html "Trước khi đụng vào code thật, làm giúp tôi 1 file HTML mock trang chủ mới với dữ liệu giả. Tôi muốn xem layout trước đã."

Unknown unknowns

Unknown unknowns #1 · custom
/blindspot "Tôi cần thêm 'Đăng nhập bằng Google' nhưng chưa từng đụng vào phần auth của dự án này. Giúp tôi tìm các unknown unknowns trước khi bắt đầu."
Unknown unknowns #2 · custom
/blindspot "Tôi không biết color grading là gì nhưng cần chỉnh màu video này. Dạy tôi hiểu các unknown unknowns về nó để tôi hỏi đúng thứ mình cần." --domain

References

References #1
/ck:xia ~/projects/old-website "hiệu ứng loading" --port
References #2
/ck:xia shadcn-ui/ui "date picker component" --compare

Sau khi implement

Sau khi implement #1
/ck:preview --html --explain "vì sao làm theo hướng này, demo GIF để lên đầu"

Không cần tham số — nó tự soi thay đổi đang chờ. Hoặc chỉ cần nói: "Tôi muốn chắc chắn hiểu hết mọi thứ vừa thay đổi — quiz tôi đi."

Sau khi implement #2 · custom
/quiz-gate

Nguồn tham khảo

Nguồn phương pháp & đọc thêm