Quay lại Inside ClaudeKit

Planning Systems

Khai phá sức mạnh của /ck:plan với --deep mode và --tdd flag

Không phải task nào cũng cần mode nặng. Bài này tách rõ lúc nào cần --deep, lúc nào thêm --tdd, và lúc nào nên đi đường ngắn hơn.

Mode vs Flag

/ck:plan nhận 2 loại tham số khác nhau. Hiểu sai sẽ chọn sai.

Modes (chọn 1)

--fast Chạy nhanh, plan ngắn gọn
--hard Nghiên cứu kỹ hơn, phù hợp domain phức tạp
--deep Scout từng phase, file inventory, dependency map
--parallel Nhiều module độc lập, chạy song song
--two Phân vân 2 approach, so sánh trước khi chọn

Flags (compose được)

--tdd Thêm tests-first vào phase file và cook flow
--no-tasks Không tạo task list sau plan

Mỗi lệnh chỉ dùng MỘT mode. Flag có thể compose với bất kỳ mode nào.

/ck:plan [task] [--fast|--hard|--deep|--parallel|--two] [--tdd|--no-tasks]

--deep: Khi plan cần bản đồ

--deep giải quyết rủi ro: không biết đủ scope

  • Chạy 2-3 researcher cho high-level architecture analysis
  • Scout TỪNG phase: file inventory, test gap, dependency map
  • Red-team review + post-plan validation
  • Phase file bao gồm: file inventory table, test scenario matrix, dependency map, function/interface checklist

Major refactor, 5+ areas, architectural debt → dùng --deep

--tdd: Khi sợ refactor phá behavior

--tdd giải quyết rủi ro: refactor làm lệch behavior cũ

  • Phase file thêm: test trước refactor → refactor → test bổ sung → gate cuối phase
  • Cook chạy theo thứ tự: viết test bảo vệ behavior cũ → refactor → compile/test gate
  • Không tạo agent mới, chỉ đổi cấu trúc phase file và thứ tự cook
  • Chi phí thấp hơn --deep nhiều

Có giá trị nhất ở: async pattern, stateful workflow, database transaction, public API contract

Vì sao --deep --tdd hay đi chung

Rủi ro Cần gì Option
Không biết đủ scope Scout từng phase, file inventory, dependency map --deep
Refactor lệch behavior cũ Test trước refactor, regression gate lúc cook --tdd

Task rộng → --deep. Có behavior cũ phải giữ → thêm --tdd. Có cả hai → bật cả cặp.

Decision Matrix

Fix nhỏ 1-2 file /ck:plan --fast
Feature mới trung bình /ck:plan (auto)
Feature phức tạp, domain lạ /ck:plan --hard
3+ module độc lập, song song /ck:plan --parallel
Phân vân 2 approach cụ thể /ck:plan --two
Refactor 5+ vùng, nợ kiến trúc /ck:plan --deep
Refactor code đang chạy, sợ regression Any mode + --tdd
Major refactor, cần giữ behavior /ck:plan --deep --tdd

Nên làm trước khi cook

  • Worktree sạch Commit/stash trước khi plan lớn, hoặc dùng /ck:worktree
  • Review phase file Đừng cook ngay khi chưa đọc lại plan.md và các phase file
  • Khai báo test command Repo dùng tool lạ? Khai báo luôn trong task description
  • /clear giữa plan và cook Plan context nặng → /clear → /ck:cook {path}/plan.md

Cần tránh

  • Quên --tdd ở /ck:cook Cook không enforce thứ tự test-first nếu thiếu flag
  • --deep cho task nhỏ Dưới ~5 file thì dùng --hard hoặc --fast
  • --tdd cho greenfield Code mới không có behavior cũ để chụp test
  • Tin tuyệt đối vào phase file Vẫn cần review: phase sau có phụ thuộc ngầm không?
  • --tdd chụp code có bug sẵn Khai báo known bugs hoặc tách 2 plan: fix bug → refactor
  • Ghép --deep với --parallel Cả hai là mode, không compose. Dùng --parallel --tdd nếu cần

Flow khi --tdd bật

1
Viết test bảo vệ behavior hiện tại
2
Refactor code
3
Chạy compile + test gate
→ Behavior cũ được bảo vệ

Tip: Regression Gate cần command cụ thể (vd: go test ./...). Nếu project dùng tool lạ, khai báo trong task description.

Template tổng quát

/ck:plan [mode] [--tdd] "[Việc cần làm].
Phạm vi: [module/file/stack bị đụng].
Giữ nguyên: [API contract, behavior cũ].
Đụng: [database, job, route, UI].
Tooling: [compile/test command cụ thể]."

Lưu ý:

Nếu plan dùng --tdd, khi chạy cook cũng thêm --tdd:

/ck:cook /path/to/plan.md --tdd
Xem infographic /ck:plan trong How ClaudeKit Works

Đọc chi tiết đầy đủ

Đọc bài viết đầy đủ với case study billing module, pipeline chi tiết, template command, và phân tích cơ chế bên trong →

Đọc bài viết đầy đủ