flow — gated build harness for coding agents
BẰNG CHỨNG HƠN CẢM HỨNG.

flow

Việc rỗng thì không qua cổng.

flow là khung kiểm soát quanh coding agent bạn đang dùng. flow giữ cổng và bằng chứng, chứ không chạy thay agent. Bị chặn ở cổng thì dừng luôn, chứ không phải fail.

Cổng chỉ mở khi cả hai bên cùng đồng ý.

NODE ≥22
npx @manhquy/flow-skill@latest

TƯƠNG THÍCH VỚI CÁC CODING AGENT

Claude CodeCodex CLIGemini CLICursorAiderClineContinueZed

Sáu cổng trước khi bạn build

Mỗi cổng viết ra một file thật trong repo. /flow next không cho qua cổng tiếp theo nếu cả flow.sh lẫn skill chưa cùng đồng ý. Các file này xuất hiện khi bạn đi qua cổng, không phải có sẵn sau khi cài.

  1. 01Idea
  2. 02Research
  3. 03Scope
  4. 04PRD
  5. 05ADR
  6. 06Contract
01

Idea

flow/00-idea.md

Chặn ý tưởng tồi trước khi viết code.

MDflow/00-idea.mdCHẶN
1# Vấn đề cần giải quyết
2[FILL: mô tả vấn đề người dùng]
3# Đề xuất giải pháp
4<trống>
FAIL · BỊ CHẶN TẠI CỔNG

Những gì không qua cổng

Trống, còn [FILL], hay chỉ bảo “tests pass” là chưa đủ.Ý tưởng yếu thì dừng ngay ở cổng.

  • File trống.
  • [FILL] còn trong file.
  • “tests pass” thế cho bằng chứng done.
$ /flow next
refusing: flow/00-idea.md is empty (line 1)
Bị chặn ở cổng thì dừng luôn, chứ không phải fail.
02

Research

flow/01-research.md

Trích nguồn thật hoặc dừng tại đây.

MDflow/01-research.md3/3 NGUỒN
1## Nguồn đối chiếu sơ cấp
2• [RFC-9110] §4.2 Phương thức idempotent
3• github.com/owner/repo#412 (repro)
4## So sánh cạnh tranh & kịch bản lỗi
02BẰNG CHỨNG · NGUỒN ĐỐI CHIẾU

Thực chứng trước khi chốt kiến trúc

So sánh đối thủ, trích dẫn tài liệu thật và failure mode ghi lại trong file repo.

$ /flow check 01-research
✓ 3 nguồn tài liệu gốc được kiểm chứng (URL thật)
✓ so sánh đối thủ & failure modes đã khoá
03

Scope

flow/02-scope.md

Vạch ranh giới rõ. Bỏ hết phần thừa.

MDflow/02-scope.mdĐÃ KHÓA
1TRONG-PHẠM-VI S-01 Vòng lặp cổng CLI
2TRONG-PHẠM-VI S-02 Kiểm tra schema biên nhận
3NGOÀI-PHẠM-VI Thu thập telemetry / tracking
4NGOÀI-PHẠM-VI Daemon đám mây riêng biệt
03BIÊN GIỚI · PHI MỤC TIÊU

Khoá cứng phần ngoài phạm vi

Chia nhỏ các phần việc khả thi. Ngăn tình trạng phình phạm vi trước khi sinh code.

$ /flow check 02-scope
✓ 3 lát cắt bàn giao được khoá
✓ phi mục tiêu được đóng băng (chặn scope creep)
04

PRD

flow/03-prd.md

Định nghĩa bài test trước khi gõ code.

MDflow/03-prd.mdTIÊU CHÍ
1INV-01: exit 1 khi spec file còn trống
2INV-02: in dòng từ chối ra stderr
3INV-03: biên nhận JSON đúng định dạng schema
4INV-04: chế độ degrade tự mở khoản nợ kỹ thuật
04HỢP ĐỒNG · TIÊU CHÍ NGHIỆM THU

Chỉ chấp nhận tiêu chí quan sát được

User stories với các bất biến kiểm thử được. Agent không thể tự đổi định nghĩa done giữa chừng.

$ /flow check 03-prd
✓ tiêu chí nghiệm thu quan sát được đã xác nhận
✓ trạng thái lỗi & phương án suy thoái đã định nghĩa
05

ADR

flow/04-adr.md

Ghi lại đánh đổi trước khi commit.

ADRflow/04-adr.mdCHẤP NHẬN
1Trạng thái: Chấp nhận (2026-10-11)
2Bối cảnh: Lưu file repo vs daemon SQLite
3Quyết định: Dùng file Markdown trong git
4Hệ quả: Di động tuyệt đối; không cần daemon ngầm
05QUYẾT ĐỊNH · ĐÁNH ĐỔI

Bản ghi quyết định kiến trúc

Bối cảnh, quyết định và hệ quả được ghi chép trước khi triển khai.

$ /flow check 04-adr
✓ bối cảnh, quyết định, hệ quả đã ghi chép
✓ khả năng hoàn tác & ca kiểm thử âm đã đối chiếu
06

Contract

flow/05-contract.md

Cả hai cùng duyệt mới được bước tiếp.

SIGflow/05-contract.mdMỞ CỔNG
[✓] người-duyệt: @dev đã chấp thuận
[✓] harness-chứng-thực: sha256:7f3a..9e1b
[✓] flow-doctor: READY (đã kiểm tra skill)
[✓] đồng-thuận-kép: MỞ CỔNG -> tiến hành build
PASS · SẴN SÀNG

Cài xong

Skill nằm trên ổ đĩa. /flow hoặc$flow dùng được.doctor in READY./flow next trên file idea trống thì từ chối kèm số dòng.

  • Skill nằm trong agent home.
  • Gõ /flow (Codex: $flow).
  • doctor in READY.
  • /flow next trên thư mục trống thì cổng chặn.
$ flow doctor
doctor: READY (skills/flow/SKILL.md verified)
Cổng chỉ mở khi cả hai bên cùng đồng ý.

Xong thì /flow card. Xong nghĩa là có bằng chứng thật: một URL đã deploy, một CLI cài chạy được, một public API, hay một lần chạy skill thật.

Không phải AI coding agent. Là cổng kiểm soát quanh agent.

flow không tự viết code. Agent vẫn viết, flow chỉ quyết việc có được qua cổng hay không.