Install
openclaw skills install openclaw-workflow-architectDùng skill này bất cứ khi nào người dùng muốn thiết kế, phân tích, hoặc sinh code quy trình cho OpenClaw — bao gồm: hỏi nên dùng Lobster hay OpenProse, có workflow/pipeline hiện tại cần review, muốn chuyển kiến trúc cũ sang đúng tầng, hoặc cần tạo file .prose/.lobster thực sự vào workspace. Kích hoạt ngay cả khi người dùng chỉ mô tả yêu cầu bằng lời (chưa có code). Cũng dùng khi người dùng hỏi "cái này nên để Lobster hay OpenProse xử lý", "giúp tôi viết file .lobster", "thiết kế agentic pipeline cho OpenClaw", hay bất kỳ câu hỏi nào liên quan đến approval gate, llm-task, resumeToken, /prose, sub-agent, hoặc workflow có nhiều bước trong OpenClaw.
openclaw skills install openclaw-workflow-architectMọi quyết định thiết kế đều bắt đầu từ hai câu hỏi này:
"Bước này đang nói chuyện với AI để lý luận, hiểu ngữ cảnh, ra quyết định?" → Đó là việc của OpenProse
"Bước này đang xác định điều gì xảy ra sau khi AI đã quyết định?" → Đó là việc của Lobster
| Lobster làm tốt | OpenProse làm tốt |
|---|---|
| Chạy chuỗi CLI theo thứ tự xác định | Đọc kỹ năng, lý luận về ngữ cảnh |
| Cổng phê duyệt trước side effects | Tạo và điều phối nhiều tác nhân AI |
| Truyền JSON giữa các bước | Vòng lặp qua danh sách với AI xử lý |
| Resume với token sau khi approve | Chạy song song nhiều phiên AI |
| Kiểm tra schema, lưu file | Quản lý trạng thái giữa các phiên |
Đọc references/layering-guide.md để có bảng phân tích chi tiết và danh sách anti-patterns.
Xác định loại input trước khi làm bất cứ điều gì:
.lobster, .prose, hoặc code Python/script) → đến Phần 3 (Phân tích)Hỏi lần lượt các câu sau (chỉ hỏi những câu chưa rõ từ ngữ cảnh):
Q1. Quy trình có bao nhiêu bước chính? Bước nào cần con người phê duyệt trước khi tiếp tục?
Q2. Có bước nào cần chạy song song không? (ví dụ: xử lý nhiều bài học cùng lúc, nhiều tác nhân nghiên cứu độc lập)
Q3. Có vòng lặp qua danh sách không? (ví dụ: lặp qua từng bài học, từng file, từng khách hàng)
Q4. Với mỗi bước: đây là bước AI lý luận (cần hiểu ngữ cảnh, ra quyết định) hay bước thực thi xác định (lưu file, gọi CLI, kiểm tra schema)?
Q5. Model đang dùng là gì? Có phải một trong các Prose Complete systems không?
Sau phỏng vấn: Vẽ sơ đồ tầng dạng text, xác nhận với người dùng trước khi chọn mode và sinh file.
Nếu model không phải Prose Complete system:
⚠️ CẢNH BÁO TƯƠNG THÍCH
Model [tên model] chưa được xác nhận là Prose Complete system.
- File .lobster: hoạt động đầy đủ ✓
- File .prose: có thể không chạy đúng — OpenProse cần model đủ
năng lực mô phỏng VM khi đọc spec.
Các lựa chọn:
A. Lobster only — chạy được ngay, AI reasoning qua llm-task
B. OpenProse only — tiếp tục nhưng cần test thực tế
C. Auto (mixed) — sinh cả hai, bạn chọn dùng cái nào sau khi test
Chờ người dùng xác nhận mode trước khi tiếp tục.
Chạy checklist này với mỗi file được cung cấp:
Có file Python/script làm cầu nối để đưa context vào LLM?
→ Triệu chứng: prepare_prompt.py, build_context.py, script đọc SKILL.md rồi nhét vào prompt
→ Vấn đề: Lobster đang làm việc của OpenProse
→ Fix: Chuyển sang OpenProse session — nó đọc skill file trực tiếp
Có workaround cho vòng lặp (script Python riêng vì "Lobster không có for-loop")?
→ Vấn đề: Đang ở sai tầng
→ Fix: OpenProse có for item in list: native
Có tự build logic spawn sub-agent thủ công (inject vào AGENTS.md, tự quản lý state)?
→ Vấn đề: Đang tái tạo thứ OpenProse đã có sẵn
→ Fix: OpenProse parallel: block + session isolation
approval: required có đặt trước bước có side effect không?
→ Nếu không: lỗi thiết kế nghiêm trọng — side effect có thể chạy mà không có kiểm soát
Dùng tools.allow: ["lobster"] thay vì tools.alsoAllow?
→ Cảnh báo: allow là allowlist thuần — có thể vô tình block các core tools khác
→ Fix: Dùng alsoAllow trừ khi chủ ý chạy restrictive mode
Context của phiên chính bị phình to do sub-agent không có isolation? → Fix: Mỗi OpenProse sub-session có context riêng
Đầu ra phân tích: Trình bày báo cáo ngắn theo cấu trúc:
VẤN ĐỀ: [mô tả]
NGUYÊN NHÂN: [giải thích tại sao đây là anti-pattern]
ĐỀ XUẤT: [cách sửa cụ thể]
Xác nhận người dùng đồng ý với đề xuất trước khi sinh file mới.
Sau phỏng vấn hoặc phân tích, hỏi người dùng chọn một trong ba mode:
Khi nào phù hợp:
Cách sinh:
.lobster chính làm orchestratorllm-task với schema rõ ràng.lobster gọi nhau có cấu trúcKhi nào phù hợp:
Cách sinh:
.prose chính# COMPATIBILITY: ở đầu file nếu model chưa được xác nhậnKhi nào phù hợp:
Cách sinh (thứ tự bắt buộc):
.prose làm tầng điều phối trước.prose.lobster tương ứng saufallback-orchestrator.lobster nếu model không phải Prose Completeworkflows/
├── [tên-quy-trình].prose # Mode B hoặc C
├── [tên-quy-trình].lobster # Mode A hoặc C
├── gates/
│ └── [tên-gate].lobster # Các cổng phê duyệt tái sử dụng
└── workers/
└── [tên-worker].lobster # Các worker con
1. Kiểm tra thư mục workflows/ — tạo nếu chưa có
2. [Mode A] Sinh .lobster chính → sinh workers/ nếu cần
3. [Mode B] Sinh .prose → thêm ghi chú tương thích nếu cần
4. [Mode C] Sinh .prose → sinh .lobster được gọi bởi .prose → sinh workers/
5. Báo cáo danh sách file đã tạo
6. Hướng dẫn lệnh chạy cụ thể
# ============================================================
# COMPATIBILITY NOTE
# Model: [tên model] — chưa xác nhận là Prose Complete system
# .lobster files: hoạt động đầy đủ ✓
# .prose files: cần test thực tế — xem fallback-orchestrator.lobster
# nếu .prose không chạy đúng
# Prose Complete systems: Claude Code + Opus, OpenCode + Opus, Amp + Opus
# ============================================================
approval: required đặt trước mọi bước có side effectalsoAllow thay vì allowtimeoutMs và maxStdoutBytes cho mọi Lobster callid duy nhất.prose có requires: và ensures: rõ ràng (Mode B/C)args hoặc stdin| Cần tra cứu | Đọc file |
|---|---|
Cú pháp đầy đủ .lobster, tham số runtime, approval flow | references/lobster-spec.md |
Cú pháp .prose, state modes, slash commands | references/openprose-spec.md |
| Bảng phân tầng chi tiết, danh sách anti-patterns | references/layering-guide.md |
| Ví dụ hoàn chỉnh curriculum pipeline | references/examples/ |