BẰNG CHỨNG HƠN CẢM HỨNG.

Báo xong không qua được gate.

flow là harness gắn gate vào coding agent bạn đang dùng. Nó giữ gate và bằng chứng — không can thiệp vào runtime. Loại một ý tưởng yếu ngay tại gate cũng là kết quả hợp lệ.

Gate chỉ mở khi cả hai cùng duyệt.

npx @manhquy/flow-skill@latestCài đặt và lần chạy đầu

HOẠT ĐỘNG CÙNG CÁC CODING AGENT BẠN DÙNG

Claude CodeCodex CLIGemini CLICursorAiderClineContinueZed

6 gate phải vượt trước khi build

Mỗi stage để lại một file trong repo. /flow next chỉ mở stage kế tiếp khi cả runner lẫn skill cùng duyệt. Các file này chỉ xuất hiện khi bạn vượt qua từng gate — cài đặt xong chưa có gì.

  1. FAIL · DỪNG TẠI GATE

    Idea

    flow/00-idea.md

    Loại ý tưởng yếu trước khi viết một dòng code.

    flow/00-idea.mdHALT
    # Problem statement
    [FILL: describe user problem]
    # Proposed solution
    <empty>
    FAIL · DỪNG TẠI GATE

    Những gì không qua được gate

    File để trống, sót token [FILL], hay chỉ tuyên bố “tests pass” — đều bị chặn ngay. Ý tưởng yếu dừng tại gate.

    • File còn để trống.
    • Còn sót token [FILL] chưa điền.
    • Báo “tests pass” nhưng không đưa bằng chứng hoàn thành.

    $/flow nextrefusing: flow/00-idea.md is empty (line 1)dừng ở gate là kết quả hợp lệ.

  2. BẰNG CHỨNG · NGUỒN TÀI LIỆU GỐC

    Research

    flow/01-research.md

    Dẫn nguồn thật hoặc dừng tại đây.

    flow/01-research.md3/3 CITED
    ## Primary sources
    • [RFC-9110] §4.2 Idempotent methods
    • github.com/owner/repo#412 (repro)
    ## Competitive diff & failure modes
    02BẰNG CHỨNG · NGUỒN TÀI LIỆU GỐC

    Dữ liệu kiểm chứng trước khi lên kiến trúc

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

    $/flow check 01-research3 nguồn tài liệu gốc được kiểm chứng (URL thật)phân tích đối thủ & failure mode đã khóa

  3. RANH GIỚI · NON-GOALS

    Scope

    flow/02-scope.md

    Vạch rõ ranh giới. Cắt bỏ phần thừa.

    flow/02-scope.mdFROZEN
    IN-SCOPE S-01 CLI harness gate loop
    IN-SCOPE S-02 Receipt schema validator
    NON-GOAL Telemetry / analytics tracking
    NON-GOAL Custom cloud daemon runtime
    03RANH GIỚI · NON-GOALS

    Khóa danh sách non-goals

    Chốt từng hạng mục bàn giao. Chặn scope creep trước khi agent viết một dòng code.

    $/flow check 02-scope3 phần việc bàn giao đã khóanon-goals đã khóa (chặn scope creep)

  4. CAM KẾT · TIÊU CHÍ NGHIỆM THU

    PRD

    flow/03-prd.md

    Chốt tiêu chí test trước khi viết code.

    flow/03-prd.mdCRITERIA
    INV-01: exit 1 on empty spec file
    INV-02: refusal line emitted to stderr
    INV-03: receipt JSON conforms to schema
    INV-04: degraded mode creates debt entry
    04CAM KẾT · TIÊU CHÍ NGHIỆM THU

    Chỉ chấp nhận tiêu chí kiểm chứng được

    Mỗi user story đi kèm điều kiện bất biến có thể kiểm chứng. Agent không được tự đổi chuẩn “done” giữa chừng.

    $/flow check 03-prdđã xác nhận tiêu chí nghiệm thu kiểm chứng đượcđã xác định trạng thái lỗi và luồng xử lý degrade

  5. QUYẾT ĐỊNH · ĐÁNH ĐỔI

    ADR

    flow/04-adr.md

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

    flow/04-adr.mdACCEPTED
    Status: Accepted (2026-10-11)
    Context: File state vs SQLite daemon
    Decision: Git-tracked Markdown files
    Consequence: Portable; zero background server
    05QUYẾT ĐỊNH · ĐÁNH ĐỔI

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

    Ghi lại bối cảnh, quyết định và hệ quả trước khi viết code.

    $/flow check 04-adrđã ghi nhận bối cảnh, quyết định và hệ quảđã đối chiếu khả năng rollback và kịch bản kiểm thử lỗi

  6. PASS · SẴN SÀNG

    Contract

    flow/05-contract.md

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

    flow/05-contract.mdUNLOCKED
    [✓] human-signoff: approved by @dev
    [✓] harness-attest: sha256:7f3a..9e1b
    [✓] doctor-check: READY (skills verified)
    [✓] dual-agreement: UNLOCKED -> advance
    PASS · SẴN SÀNG

    Sau khi cài đặt

    Skill đã sẵn sàng trên máy. Gõ /flow (Codex: $flow) là chạy. flow doctor in ra READY. /flow next trên file idea trống sẽ báo lỗi kèm số dòng.

    • File skill nằm gọn trong thư mục của agent.
    • Gõ /flow trong chat (Codex: $flow).
    • Lệnh doctor in ra READY.
    • /flow next trên file idea trống sẽ từ chối và chỉ rõ số dòng.

    $flow doctordoctor: READY (skills/flow/SKILL.md verified)Gate chỉ mở khi cả hai cùng duyệt.

Tiếp theo là /flow card. Muốn đánh dấu hoàn thành phải có bằng chứng thật: một URL đang chạy, một CLI đã cài và chạy được, một public API đang hoạt động, hoặc một lần chạy skill thành công.

Bằng chứng kèm nguồn

Các số dưới đây được đọc trực tiếp từ repo lúc build hoặc đếm từ nguồn ghi rõ. Mỗi số đều kèm nguồn.

  • 0.34.4phiên bản skillskills/flow/SKILL.md · đọc lúc build
  • 0.7.11npm installernpm-wrapper/package.json · đọc lúc build
  • 72test suite trong registrytests/manifest.txt
  • 6gate phải vượt trước khi buildskills/flow/references/stage-state-machine.md

Xem một lượt chạy trong 85 giây

85 giây

Một ý tưởng yếu dừng ở gate 01; một ý tưởng có nguồn đi hết 6 gate và nhận biên nhận PASS.

Không phải một coding agent. Đây là harness bắt agent giữ kỷ luật.

flow không tự viết code. Agent vẫn viết — còn harness quyết định phần việc đó có đủ chuẩn để đi tiếp hay không.