Tiếp tục giữa dự án
Bạn bỏ dở dự án hai tuần, hoặc session agent mới không nhớ gì cả. Đừng bắt đầu bằng cách đọc file rồi đoán mình đang ở đâu.
Chạy resume trước
Phần tiêu đề “Chạy resume trước”/flow resumeĐây là verb đầu tiên cần chạy khi vào một dự án đang dở. Chỉ đọc, không chiếm lock, và ghép lại bản tóm tắt câu chuyện của session từ state đã có trên máy:
- session trước: chỉ liệt kê tên lệnh, không bao giờ gồm raw args
- card đang chạy (in flight) và dwell (thời gian nó đã nằm đó)
- trạng thái gate hiện tại
- đúng một dòng
NEXT ->
Đọc dòng NEXT -> rồi làm đúng việc đó. Cùng một helper quyết định như /flow status, nên hai lệnh không bao giờ bất đồng với nhau.
Khi nào nên bỏ qua
Phần tiêu đề “Khi nào nên bỏ qua”Bỏ qua resume khi bạn đã có ngữ cảnh tươi mới trong cuộc hội thoại này. Nếu chính bạn vừa chạy next hoặc card một phút trước thì chạy lại cũng chẳng thêm được gì. Lệnh này dành cho những lần vào lạnh, không phải cho mọi lệnh.
Rồi lấy view làm việc
Phần tiêu đề “Rồi lấy view làm việc”/flow/flow thuần chính là status: bạn đang ở đâu, cái gì đang chặn, dwell của stage hiện tại, danh sách card (rút gọn khi quá mười card), và một dòng tóm tắt bộ nhớ. Dùng resume để vào lại, status để tiếp tục làm việc.
Recall và promote
Phần tiêu đề “Recall và promote”/flow recallChạy recall khi bắt đầu stage hoặc card, trước khi soạn bất cứ thứ gì. Nó đọc lại lớp bền vững: debt mở, retro gần nhất, scope card trước, friction và backlog của harness, sức khỏe audit, playbook đã promote. Hãy coi output là ngữ cảnh để áp dụng — không phải nhiễu — để công việc bắt đầu mà vẫn thấy rõ những nỗi đau cũ, thay vì phải phát hiện lại từ đầu.
Việc capture do engine kích hoạt chứ không phải do người dùng tự làm: qua stage 01 thì seed một intake, check card pass thì ghi trace kèm tier, skip có chủ đích thì ghi debt. status hiện một dòng tóm tắt bộ nhớ; card tự động kèm scope card trước. Cải tiến cũng cơ học: harness audit chấm điểm entropy và drift, harness propose biến friction lặp lại thành backlog cải tiến khi một pattern xuất hiện ít nhất hai lần, harness decision outcome đóng vòng lặp dự đoán so với thực tế.
Cửa sổ hội thoại thì quên. Bản ghi bền vững thì không.
Promote một playbook
Phần tiêu đề “Promote một playbook”Khi một bài học lớn hơn phạm vi một dự án, hãy nâng nó lên:
/flow promote <playbook.md>Lệnh này copy playbook vào KB liên dự án tại ~/.claude/flow/playbooks. Từ đó, recall sẽ hiện nó ở mọi nơi — không chỉ nơi nó được học.
Vòng lặp là capture → reuse → improve: next và check tự động ghi bản ghi, recall đọc lại, promote chia sẻ những bài học đã chứng minh được giá trị của mình.
Các engine bổ sung (Codex và Antigravity) cùng phần còn lại của vòng bền vững nằm ở Điều phối agent.
Mở khóa phiên cũ
Phần tiêu đề “Mở khóa phiên cũ”flow cho phép một session mỗi dự án. Hai session chia nhau một plan sẽ ghi đè state của nhau. Runner giữ flow/.lock: các lệnh mutate như next, card, skip và auto từ chối một lock lạ còn mới, status đưa ra cảnh báo, và lock tự thu hồi sau TTL FLOW_LOCK_TTL (mặc định 900 giây).
/flow unlockChỉ dùng khi session kia thật sự đã chết: terminal crash, cửa sổ bị bỏ dở. Nếu session kia còn sống, hãy dừng lại và phối hợp với người đang chạy. Đừng cố force vượt qua một lock còn sống; chạy song song sẽ làm hỏng plan.
FLOW_FORCE=1 chiếm lấy lock mà bạn chắc chắn đã chết. /flow unlock xóa nó. Nếu runner báo BLOCKED by another session’s lock, hãy dừng và phối hợp. Đừng dùng FLOW_FORCE để vượt qua session đang chạy.
Để được bảo vệ cứng thay vì chỉ cảnh báo, hãy export một FLOW_SESSION_ID ổn định một lần cho mỗi session, rồi truyền vào mọi lời gọi:
export FLOW_SESSION_ID=$(uuidgen)FLOW_SESSION_ID=$FLOW_SESSION_ID bash ~/.claude/skills/flow/runner/flow.sh nextKhông có nó, runner chỉ cảnh báo. Vì không chứng minh được session kia là ai, nên nó không bao giờ tự chặn.
Đánh giá brownfield
Phần tiêu đề “Đánh giá brownfield”Dự án có code nhưng không có thư mục flow/ là brownfield. Chưa có câu chuyện session nào để khôi phục, nên đừng bắt đầu bằng resume. Codebase có sẵn không bắt đầu ở stage Idea. /flow assess tạo khung (scaffold) và đặt gate cho flow/00-inspect.md (bản đồ hiện trạng) trước khi bất kỳ stage planning nào mở. Planning cho hệ thống có sẵn phải bám vào cái đang có thật — không phải cái mà README của repo tuyên bố là đang có.
Dự án greenfield bỏ bước này và bắt đầu bằng /flow next (Idea).
Các bước cho operator
Phần tiêu đề “Các bước cho operator”-
Từ root dự án, chạy:
/flow assessLần đầu, lệnh copy template inspect sang
flow/00-inspect.md, seed auto-scan (stack, CI, file ngữ cảnh, ranked surfaces), và seed file law. Gate chưa pass. -
Điền mọi section dựa trên bằng chứng (đọc code thật):
- các lệnh stack / build / test / run lấy từ file thật
- component, module, entry point chính
- chức năng hiện tại (works / partial / stub / missing) kèm bằng chứng từ file
- trạng thái UI/UX so với mục tiêu sản phẩm, hoặc ghi “no UI”
- rủi ro, tech-debt, issue đã biết
- baseline test và chất lượng (cái gì đã được cover, cách chạy suite)
- Verdict: codebase có đủ khỏe để build tiếp không, và cái gì phải sửa trước?
-
Bắt đầu rà soát chức năng và rủi ro từ auto-scan Ranked surfaces. Đó là những đoạn code có leverage cao nhất — bề mặt mà phần lớn codebase phụ thuộc vào, nơi rủi ro xuyên cắt dễ ẩn nấp nhất.
-
Gắn tag cho mọi claim trọng yếu từ Functionality / Risks / Verdict trong Evidence ledger. Đừng viết policy sản phẩm như thể đó là sự thật, trừ khi tag là Authoritative.
Tag Nghĩa Authoritative Instruction, quyết định đã chấp nhận, contract sản phẩm, thủ tục đã ghi Observed Code/config/test cho thấy hành vi hiện tại Derived Hệ quả vận hành suy trực tiếp từ implementation đã quan sát Decision required Lựa chọn chuẩn/sản phẩm chưa có authority Unknown Repo không xác lập câu trả lời -
Operator duyệt bản đánh giá. Brownfield do operator giữ gate. Ở mode
teach, agent chỉ báo cáo — không tick box hay soạn artifact hộ. -
Chạy lại
/flow assess. PASS cơ học nghĩa là không còn[FILL]và mọi box gate đã được check. FAIL sẽ liệt kê những chỗ còn thiếu; điền từ bằng chứng rồi chạy lại. -
Sau PASS cơ học, áp dụng semantic challenge trước khi planning:
- Các claim trọng yếu đã được gắn tag Authoritative / Observed / Derived / Decision required / Unknown chưa?
- Có claim Observed hoặc Derived nào bị âm thầm nâng thành luật sản phẩm must-build mà không có authority của operator không?
- Các mục Decision required / Unknown đã được liệt kê cho operator, không bị bịa thêm vào Scope/PRD?
- Ledger trống, hoặc chỉ còn hàng
[FILL]trong khi box đã check, đều là rỗng ruột: báo mechanically-passed-but-qualitatively-weak.
-
Khi cả hai lớp đồng ý, sang planning bằng
/flow next.
Bạn có thể tái dùng scout / researcher (hoặc bmad-document-project) để gom bằng chứng. Gate vẫn phán xét. Operator vẫn duyệt.
Chạy từ thư mục con
Phần tiêu đề “Chạy từ thư mục con”Nếu bạn chạy flow từ một thư mục con như frontend/ mà không có flow/ riêng, nó sẽ nhận dự án flow tổ tiên gần nhất và in một dòng ghi chú ra stderr — thay vì tạo ra một root thứ hai bị phân mảnh. Thư mục con nào có flow/ hoặc cards/ riêng luôn được tôn trọng, cũng như FLOW_PROJECT_ROOT tường minh.
Xem thêm
Phần tiêu đề “Xem thêm”Dành cho maintainer (không phải trang công khai): skills/flow/SKILL.md, skills/flow/references/command-dispatch.md, skills/flow/_templates/00-inspect.md, skills/flow/references/gate-rules.md.