Chuyển tới nội dung chính

Agent

Agent trong oh-my-agent là các vai trò kỹ sư chuyên biệt. Mỗi agent có lĩnh vực được xác định, kiến thức tech stack, file tài nguyên, cổng chất lượng và ràng buộc thực thi. Agent không phải chatbot chung chung — chúng là worker có phạm vi, hoạt động trong ranh giới và tuân theo quy trình có cấu trúc.


Phân loại agent

Phân loạiAgentTrách nhiệm
Ý tưởngoma-brainstormKhám phá ý tưởng, đề xuất hướng tiếp cận, tạo tài liệu thiết kế
Kiến trúcoma-architectureRanh giới hệ thống/module/dịch vụ, phân tích kiểu ADR/ATAM/CBAM, ghi chép đánh đổi
Lập kế hoạchoma-pmPhân tách yêu cầu, chia task, API contract, gán ưu tiên
Triển khaioma-frontend, oma-backend, oma-mobile, oma-dbViết mã production trong lĩnh vực tương ứng
Thiết kếoma-designDesign system, DESIGN.md, token, typography, màu sắc, chuyển động, accessibility
Hạ tầngoma-tf-infraCung cấp Terraform đa cloud, IAM, tối ưu chi phí, policy-as-code
DevOpsoma-dev-workflowmise task runner, CI/CD, migration, phối hợp release, tự động hóa monorepo
Observabilityoma-observabilityPipeline observability, định tuyến truy vết, tín hiệu MELT+P (metrics/logs/traces/profiles/cost/audit/privacy), quản lý SLO, điều tra pháp y sự cố, tinh chỉnh transport
Chất lượngoma-qaKiểm tra bảo mật (OWASP), hiệu suất, accessibility (WCAG), đánh giá chất lượng mã
Gỡ lỗioma-debugTái hiện lỗi, phân tích nguyên nhân gốc, sửa tối thiểu, test hồi quy
Bản địa hóaoma-translatorDịch thuật nhận biết ngữ cảnh bảo toàn giọng điệu, phong cách và thuật ngữ lĩnh vực
Điều phốioma-orchestrator, oma-coordinationĐiều phối đa agent tự động và thủ công
Gitoma-scmTạo Conventional Commits, tách commit theo tính năng
Tìm kiếm & Truy xuấtoma-searchBộ định tuyến tìm kiếm dựa trên ý định với chấm điểm độ tin cậy (tài liệu Context7, web, mã gh/glab, Serena cục bộ)
Hồi tưởngoma-recapPhân tích lịch sử hội thoại đa công cụ và tóm tắt công việc theo chủ đề
Xử lý tài liệuoma-hwp, oma-pdfChuyển đổi HWP/HWPX/HWPML và PDF sang Markdown để nạp vào LLM/RAG

Tham chiếu chi tiết agent

oma-brainstorm

Lĩnh vực: Khám phá ý tưởng ưu tiên thiết kế trước khi lập kế hoạch hoặc triển khai.

Khi nào sử dụng: Khám phá ý tưởng tính năng mới, hiểu ý định người dùng, so sánh hướng tiếp cận. Sử dụng trước /plan cho các yêu cầu phức tạp hoặc mơ hồ.

Khi nào KHÔNG sử dụng: Yêu cầu rõ ràng (chuyển sang oma-pm), triển khai (chuyển sang agent lĩnh vực), đánh giá mã (chuyển sang oma-qa).

Quy tắc cốt lõi:

  • Không triển khai hoặc lập kế hoạch trước khi thiết kế được duyệt
  • Mỗi lần một câu hỏi làm rõ (không hỏi hàng loạt)
  • Luôn đề xuất 2-3 hướng tiếp cận với tùy chọn khuyến nghị
  • Thiết kế từng phần với xác nhận người dùng ở mỗi bước
  • YAGNI — chỉ thiết kế những gì cần thiết

Quy trình: 6 giai đoạn: Khám phá ngữ cảnh, Câu hỏi, Hướng tiếp cận, Thiết kế, Tài liệu (lưu vào docs/plans/), Chuyển sang /plan.

Tài nguyên: Chỉ dùng tài nguyên dùng chung (clarification-protocol, reasoning-templates, quality-principles, skill-routing).


oma-architecture

Lĩnh vực: Kiến trúc phần mềm/hệ thống — ranh giới module và dịch vụ, phân tích đánh đổi, tổng hợp các bên liên quan, ghi chép quyết định.

Khi nào sử dụng: Lựa chọn hoặc đánh giá kiến trúc hệ thống, xác định ranh giới module/dịch vụ/sở hữu, so sánh các phương án kiến trúc với đánh đổi rõ ràng, điều tra các vấn đề kiến trúc (khuếch đại thay đổi, phụ thuộc ẩn, API vụng về), ưu tiên các khoản đầu tư kiến trúc hoặc tái cấu trúc, viết khuyến nghị kiến trúc hoặc ADR.

Khi nào KHÔNG sử dụng: Hệ thống trực quan/thiết kế (dùng oma-design), lập kế hoạch tính năng và phân tách task (dùng oma-pm), triển khai Terraform (dùng oma-tf-infra), chẩn đoán lỗi (dùng oma-debug), đánh giá bảo mật/hiệu suất/accessibility (dùng oma-qa).

Phương pháp luận: Định tuyến chẩn đoán, so sánh design-twice, phân tích rủi ro kiểu ATAM, ưu tiên kiểu CBAM, ghi chép quyết định kiểu ADR.

Quy tắc cốt lõi:

  • Chẩn đoán vấn đề kiến trúc trước khi chọn phương pháp
  • Sử dụng phương pháp nhẹ nhất đủ cho quyết định hiện tại
  • Phân biệt thiết kế kiến trúc với thiết kế UI/trực quan và với triển khai Terraform
  • Chỉ tham vấn các agent bên liên quan khi quyết định đủ xuyên suốt để biện minh chi phí
  • Chất lượng khuyến nghị quan trọng hơn vở kịch đồng thuận: tham vấn rộng, quyết định rõ ràng
  • Mỗi khuyến nghị phải nêu giả định, đánh đổi, rủi ro và các bước xác thực
  • Luôn ý thức chi phí mặc định: chi phí triển khai, chi phí vận hành, độ phức tạp nhóm, chi phí thay đổi trong tương lai

Tài nguyên: SKILL.md, thư mục resources/ với hướng dẫn phương pháp luận (diagnostic-routing, design-twice, ATAM, CBAM, mẫu ADR).


oma-pm

Lĩnh vực: Quản lý sản phẩm — phân tích yêu cầu, phân tách task, API contract.

Khi nào sử dụng: Chia nhỏ tính năng phức tạp, xác định tính khả thi, ưu tiên công việc, định nghĩa API contract.

Quy tắc cốt lõi:

  • Thiết kế API-first: định nghĩa contract trước task triển khai
  • Mỗi task có: agent, tiêu đề, tiêu chí chấp nhận, ưu tiên, phụ thuộc
  • Tối thiểu hóa phụ thuộc để tối đa thực thi song song
  • Bảo mật và kiểm thử là phần của mọi task (không phải giai đoạn riêng)
  • Task phải hoàn thành được bởi một agent duy nhất
  • Xuất JSON plan + task-board.md cho tương thích orchestrator

Đầu ra: .agents/results/plan-{sessionId}.json, .agents/results/result-pm.md, ghi vào bộ nhớ cho orchestrator.

Tài nguyên: execution-protocol.md, examples.md, iso-planning.md, task-template.json, ../_shared/core/api-contracts/.

Giới hạn lượt: Mặc định 10, tối đa 15.


oma-frontend

Lĩnh vực: Web UI — React, Next.js, TypeScript với kiến trúc FSD-lite.

Khi nào sử dụng: Xây dựng giao diện người dùng, component, logic client-side, styling, xác thực form, tích hợp API.

Tech stack:

  • React + Next.js (Server Components mặc định, Client Components cho tương tác)
  • TypeScript (strict)
  • TailwindCSS v4 + shadcn/ui (primitive chỉ đọc, mở rộng qua cva/wrapper)
  • FSD-lite: root src/ + feature src/features/*/ (không import chéo giữa feature)

Thư viện:

Mục đíchThư viện
Ngày thángluxon
StylingTailwindCSS v4 + shadcn/ui
Hookahooks
Tiện íches-toolkit
State URLnuqs
State serverTanStack Query
State clientJotai (giảm thiểu sử dụng)
Form@tanstack/react-form + Zod
Xác thựcbetter-auth

Quy tắc cốt lõi:

  • shadcn/ui trước, mở rộng qua cva, không bao giờ sửa trực tiếp components/ui/*
  • Ánh xạ 1:1 design token (không bao giờ hardcode màu)
  • Proxy thay vì middleware (Next.js 16+ dùng proxy.ts, không dùng middleware.ts cho logic proxy)
  • Không prop drilling quá 3 cấp — dùng Jotai atom
  • Import tuyệt đối với @/ bắt buộc
  • Mục tiêu FCP < 1s
  • Breakpoint responsive: 320px, 768px, 1024px, 1440px

Tài nguyên: execution-protocol.md, tech-stack.md, tailwind-rules.md, component-template.tsx, snippets.md, error-playbook.md, checklist.md, examples/.

Checklist cổng chất lượng:

  • Accessibility: ARIA label, heading ngữ nghĩa, điều hướng bàn phím
  • Mobile: xác minh trên viewport mobile
  • Hiệu suất: không CLS, tải nhanh
  • Khả năng phục hồi: Error Boundary và Loading Skeleton
  • Test: logic được bao phủ bởi Vitest
  • Chất lượng: typecheck và lint pass

Giới hạn lượt: Mặc định 20, tối đa 30.


oma-backend

Lĩnh vực: API, logic server-side, xác thực, thao tác database.

Khi nào sử dụng: REST/GraphQL API, database migration, xác thực, logic nghiệp vụ server, background job.

Kiến trúc: Router (HTTP) -> Service (Logic nghiệp vụ) -> Repository (Truy cập dữ liệu) -> Models.

Phát hiện stack: Đọc manifest dự án (pyproject.toml, package.json, Cargo.toml, go.mod, v.v.) để xác định ngôn ngữ và framework. Dùng thư mục stack/ nếu có, hoặc yêu cầu người dùng chạy /stack-set.

Quy tắc cốt lõi:

  • Kiến trúc sạch: không có logic nghiệp vụ trong route handler
  • Tất cả đầu vào được xác thực bằng thư viện xác thực của dự án
  • Chỉ dùng truy vấn tham số hóa (không bao giờ nội suy chuỗi trong SQL)
  • JWT + bcrypt cho xác thực; giới hạn tốc độ endpoint xác thực
  • Async khi được hỗ trợ; chú thích kiểu trên tất cả signature
  • Exception tùy chỉnh qua module lỗi tập trung
  • Chiến lược tải ORM tường minh, ranh giới transaction, vòng đời an toàn

Tài nguyên: execution-protocol.md, examples.md, orm-reference.md, checklist.md, error-playbook.md. Tài nguyên đặc thù stack trong stack/ (tạo bởi /stack-set): tech-stack.md, snippets.md, api-template.*, stack.yaml.

Giới hạn lượt: Mặc định 20, tối đa 30.


oma-mobile

Lĩnh vực: Ứng dụng mobile đa nền tảng — Flutter, React Native.

Khi nào sử dụng: Ứng dụng mobile native (iOS + Android), mẫu UI đặc thù mobile, tính năng nền tảng (camera, GPS, push notification), kiến trúc offline-first.

Kiến trúc: Clean Architecture: domain -> data -> presentation.

Tech stack: Flutter/Dart, Riverpod/Bloc (quản lý state), Dio với interceptor (API), GoRouter (điều hướng), Material Design 3 (Android) + iOS HIG.

Quy tắc cốt lõi:

  • Riverpod/Bloc cho quản lý state (không dùng setState thô cho logic phức tạp)
  • Tất cả controller được dispose trong phương thức dispose()
  • Dio với interceptor cho API; xử lý offline một cách graceful
  • Mục tiêu 60fps; test trên cả hai nền tảng

Tài nguyên: execution-protocol.md, tech-stack.md, snippets.md, screen-template.dart, checklist.md, error-playbook.md, examples.md.

Giới hạn lượt: Mặc định 20, tối đa 30.


oma-db

Lĩnh vực: Kiến trúc database — SQL, NoSQL, vector database.

Khi nào sử dụng: Thiết kế schema, ERD, chuẩn hóa, đánh index, transaction, quy hoạch dung lượng, chiến lược backup, thiết kế migration, kiến trúc vector DB/RAG, đánh giá anti-pattern, thiết kế nhận biết tuân thủ (ISO 27001/27002/22301).

Quy trình mặc định: Khám phá (xác định entity, mẫu truy cập, khối lượng) -> Thiết kế (schema, constraint, transaction) -> Tối ưu (index, phân vùng, lưu trữ, anti-pattern).

Quy tắc cốt lõi:

  • Chọn mô hình trước, engine sau
  • Mặc định 3NF cho relational; tài liệu đánh đổi BASE cho distributed
  • Tài liệu cả ba tầng schema: external, conceptual, internal
  • Tính toàn vẹn là ưu tiên hàng đầu: entity, domain, referential, business-rule
  • Đồng thời không bao giờ ngầm định: xác định ranh giới transaction và mức cô lập
  • Vector DB là hạ tầng truy xuất, không phải nguồn dữ liệu gốc
  • Không bao giờ coi tìm kiếm vector là thay thế trực tiếp cho tìm kiếm từ vựng

Sản phẩm bắt buộc: Tóm tắt schema external, schema conceptual, schema internal, bảng tiêu chuẩn dữ liệu, thuật ngữ, ước tính dung lượng, chiến lược backup/phục hồi. Cho vector/RAG: chính sách phiên bản embedding, chính sách chunking, chiến lược truy xuất hybrid.

Tài nguyên: execution-protocol.md, document-templates.md, anti-patterns.md, vector-db.md, iso-controls.md, checklist.md, error-playbook.md, examples.md.


oma-design

Lĩnh vực: Design system, UI/UX, quản lý DESIGN.md.

Khi nào sử dụng: Tạo design system, landing page, design token, bảng màu, typography, bố cục responsive, đánh giá accessibility.

Quy trình: 7 giai đoạn: Setup (thu thập ngữ cảnh) -> Extract (tùy chọn, từ URL tham chiếu) -> Enhance (tăng cường prompt mơ hồ) -> Propose (2-3 hướng thiết kế) -> Generate (DESIGN.md + token) -> Audit (responsive, WCAG, Nielsen, kiểm tra AI slop) -> Handoff.

Quy tắc cốt lõi:

  • Kiểm tra .design-context.md trước; tạo nếu thiếu
  • Mặc định font hệ thống (font CJK-ready cho ko/ja/zh)
  • WCAG AA tối thiểu cho mọi thiết kế
  • Responsive-first (mobile là mặc định)
  • Trình bày 2-3 hướng, nhận xác nhận

Tài nguyên: execution-protocol.md, anti-patterns.md, checklist.md, design-md-spec.md, design-tokens.md, prompt-enhancement.md, stitch-integration.md, error-playbook.md, cùng thư mục reference/examples/.


oma-tf-infra

Lĩnh vực: Infrastructure-as-code với Terraform, đa cloud.

Khi nào sử dụng: Cung cấp trên AWS/GCP/Azure/Oracle Cloud, cấu hình Terraform, xác thực CI/CD (OIDC), CDN/load balancer/storage/networking, quản lý state, hạ tầng tuân thủ ISO.

Quy tắc cốt lõi:

  • Không phụ thuộc provider: phát hiện cloud từ ngữ cảnh dự án
  • Remote state với versioning và locking
  • OIDC-first cho xác thực CI/CD
  • Luôn plan trước apply
  • IAM quyền tối thiểu
  • Tag mọi thứ (Environment, Project, Owner, CostCenter)
  • Không secret trong mã
  • Pin phiên bản tất cả provider và module
  • Không auto-approve trong production

Tài nguyên: execution-protocol.md, multi-cloud-examples.md, cost-optimization.md, policy-testing-examples.md, iso-42001-infra.md, checklist.md, error-playbook.md, examples.md.


oma-dev-workflow

Lĩnh vực: Tự động hóa task monorepo và CI/CD.

Khi nào sử dụng: Chạy dev server, thực thi lint/format/typecheck xuyên app, database migration, tạo API, build i18n, build production, tối ưu CI/CD, xác thực pre-commit.

Quy tắc cốt lõi:

  • Luôn dùng task mise run thay vì lệnh package manager trực tiếp
  • Chỉ chạy lint/test trên app thay đổi
  • Xác thực commit message bằng commitlint
  • CI nên bỏ qua app không thay đổi
  • Không bao giờ dùng lệnh package manager trực tiếp khi có task mise

Tài nguyên: validation-pipeline.md, database-patterns.md, api-workflows.md, i18n-patterns.md, release-coordination.md, troubleshooting.md.


oma-observability

Lĩnh vực: Router observability và truy vết dựa trên ý định, xuyên suốt các tầng, ranh giới và tín hiệu.

Khi nào sử dụng: Thiết lập pipeline observability (OTel SDK + Collector + backend của nhà cung cấp), truy vết xuyên ranh giới service và domain (W3C propagator, baggage, đa tenant, đa cloud), tinh chỉnh transport (ngưỡng UDP/MTU, OTLP gRPC vs HTTP, topology Collector DaemonSet vs sidecar, công thức sampling), điều tra pháp y sự cố (định vị 6 chiều: code / service / layer / host / region / infra), lựa chọn danh mục nhà cung cấp (OSS full-stack vs SaaS thương mại vs chuyên gia cardinality cao vs chuyên gia profiling), observability-as-code (dashboard Grafana Jsonnet, PrometheusRule CRD, OpenSLO YAML, alert SLO burn-rate), meta-observability (sức khỏe tự thân pipeline, lệch đồng hồ, guardrail cardinality, ma trận lưu giữ), bao phủ tín hiệu MELT+P (metrics, logs, traces, profiles, cost, audit, privacy), di chuyển khỏi công cụ đã ngừng hỗ trợ (Fluentd -> Fluent Bit hoặc OTel Collector).

Khi nào KHÔNG sử dụng: Observability LLM ops / gen_ai (dùng Langfuse, Arize Phoenix, LangSmith, Braintrust), lineage pipeline dữ liệu (OpenLineage + Marquez, dbt test, Airflow lineage), telemetry tầng vật lý IoT / datacenter (Nlyte, Sunbird, Device42), điều phối chaos engineering (Chaos Mesh, Litmus, Gremlin, ChaosToolkit), hạ tầng GPU / TPU (NVIDIA DCGM Exporter), chuỗi cung ứng phần mềm (sigstore, in-toto, SLSA), quy trình phản ứng sự cố / paging (PagerDuty, OpsGenie, Grafana OnCall), thiết lập một nhà cung cấp duy nhất đã được skill riêng của họ bao phủ.

Quy tắc cốt lõi:

  • Phân loại ý định trước khi định tuyến: setup | migrate | investigate | alert | trace | tune | route
  • Ưu tiên danh mục, không phải registry nhà cung cấp: ủy quyền cho skill thuộc sở hữu nhà cung cấp qua resources/vendor-categories.md; không trùng lặp tài liệu nhà cung cấp
  • Tinh chỉnh transport là hào bảo vệ: ngưỡng UDP/MTU, chọn giao thức OTLP, topology Collector và công thức sampling là chiều sâu mà các skill khác không bao phủ
  • Meta-observability không thể thương lượng: xác minh sức khỏe tự thân pipeline, đồng bộ đồng hồ (< 100 ms lệch), cardinality và lưu giữ trước khi tuyên bố thiết lập hoàn tất
  • Ưu tiên CNCF-first: Prometheus, Jaeger, Thanos, Fluent Bit, OpenTelemetry, Cortex, OpenCost, OpenFeature, Flagger, Falco
  • Fluentd đã ngừng hỗ trợ (CNCF 2025-10): khuyến nghị Fluent Bit hoặc OTel Collector cho công việc mới và di chuyển
  • W3C Trace Context làm propagator mặc định; chuyển đổi theo cloud (AWS X-Ray X-Amzn-Trace-Id, GCP Cloud Trace, Datadog, Cloudflare, Linkerd)
  • Quyền riêng tư trước tính năng: che PII, quy tắc baggage nhận biết sampling, audit bất biến SOC2/ISO + xóa theo GDPR/PIPA áp dụng tại điểm thu thập, không chỉ tại lưu trữ

Tài nguyên: SKILL.md, resources/execution-protocol.md, resources/intent-rules.md, resources/vendor-categories.md, resources/matrix.md, resources/checklist.md, resources/anti-patterns.md, resources/examples.md, resources/meta-observability.md, resources/observability-as-code.md, resources/incident-forensics.md, resources/standards.md, cùng tài nguyên chuyên sâu trong resources/layers/ (L3-network, L4-transport, L7-application, mesh), resources/signals/ (metrics, logs, traces, profiles, cost, audit, privacy), resources/transport/ (collector-topology, otlp-grpc-vs-http, sampling-recipes, udp-statsd-mtu) và resources/boundaries/ (cross-application, multi-tenant, release, slo).


oma-qa

Lĩnh vực: Đảm bảo chất lượng — bảo mật, hiệu suất, accessibility, chất lượng mã.

Khi nào sử dụng: Đánh giá cuối trước triển khai, kiểm tra bảo mật, phân tích hiệu suất, tuân thủ accessibility, phân tích độ bao phủ test.

Thứ tự ưu tiên đánh giá: Bảo mật > Hiệu suất > Accessibility > Chất lượng mã.

Mức độ nghiêm trọng:

  • CRITICAL: Vi phạm bảo mật, rủi ro mất dữ liệu
  • HIGH: Chặn phát hành
  • MEDIUM: Sửa sprint này
  • LOW: Backlog

Quy tắc cốt lõi:

  • Mỗi phát hiện phải có file:line, mô tả và sửa
  • Chạy công cụ tự động trước (npm audit, bandit, lighthouse)
  • Không false positive — mỗi phát hiện phải tái hiện được
  • Cung cấp mã khắc phục, không chỉ mô tả

Tài nguyên: execution-protocol.md, iso-quality.md, checklist.md, self-check.md, error-playbook.md, examples.md.

Giới hạn lượt: Mặc định 15, tối đa 20.


oma-debug

Lĩnh vực: Chẩn đoán và sửa lỗi.

Khi nào sử dụng: Lỗi do người dùng báo, crash, vấn đề hiệu suất, lỗi gián đoạn, race condition, lỗi hồi quy.

Phương pháp: Tái hiện trước, sau đó chẩn đoán. Không bao giờ đoán mò cách sửa.

Quy tắc cốt lõi:

  • Xác định nguyên nhân gốc, không chỉ triệu chứng
  • Sửa tối thiểu: chỉ thay đổi những gì cần thiết
  • Mỗi bản sửa đều có test hồi quy
  • Tìm mẫu tương tự ở nơi khác
  • Tài liệu trong .agents/results/

Công cụ Serena MCP sử dụng:

  • find_symbol("functionName") — định vị hàm
  • find_referencing_symbols("Component") — tìm tất cả nơi sử dụng
  • search_for_pattern("error pattern") — tìm vấn đề tương tự

Tài nguyên: execution-protocol.md, common-patterns.md, debugging-checklist.md, bug-report-template.md, error-playbook.md, examples.md.

Giới hạn lượt: Mặc định 15, tối đa 25.


oma-translator

Lĩnh vực: Dịch thuật đa ngôn ngữ nhận biết ngữ cảnh.

Khi nào sử dụng: Dịch chuỗi UI, tài liệu, copy marketing, đánh giá bản dịch hiện có, tạo thuật ngữ.

Phương pháp 4 bước: Phân tích nguồn (phong cách, ý định, thuật ngữ lĩnh vực, tham chiếu văn hóa, hàm ý cảm xúc, ánh xạ ngôn ngữ hình tượng) -> Trích xuất ý nghĩa (tách cấu trúc nguồn) -> Tái tạo bằng ngôn ngữ đích (thứ tự từ tự nhiên, khớp phong cách, tách/ghép câu) -> Xác minh (rubric tự nhiên + kiểm tra anti-pattern AI).

Chế độ tinh chỉnh 7 bước tùy chọn cho chất lượng xuất bản: mở rộng với các bước Đánh giá phản biện, Chỉnh sửa và Hoàn thiện.

Quy tắc cốt lõi:

  • Quét file locale hiện có trước để khớp quy ước
  • Dịch ý nghĩa, không dịch từ
  • Bảo toàn hàm ý cảm xúc
  • Không bao giờ tạo bản dịch từ-cho-từ
  • Không trộn phong cách trong một bài
  • Bảo toàn thuật ngữ đặc thù lĩnh vực nguyên trạng

Tài nguyên: translation-rubric.md, anti-ai-patterns.md.


oma-orchestrator

Lĩnh vực: Điều phối đa agent tự động qua spawn CLI.

Khi nào sử dụng: Tính năng phức tạp cần nhiều agent song song, thực thi tự động, triển khai fullstack.

Cấu hình mặc định:

Cài đặtMặc địnhMô tả
MAX_PARALLEL3Subagent đồng thời tối đa
MAX_RETRIES2Số lần thử lại mỗi task thất bại
POLL_INTERVAL30sKhoảng kiểm tra trạng thái
MAX_TURNS (impl)20Giới hạn lượt cho backend/frontend/mobile
MAX_TURNS (review)15Giới hạn lượt cho qa/debug
MAX_TURNS (plan)10Giới hạn lượt cho pm

Giai đoạn quy trình: Plan -> Setup (session ID, khởi tạo bộ nhớ) -> Execute (spawn theo tier ưu tiên) -> Monitor (poll tiến trình) -> Verify (tự động + vòng lặp review chéo) -> Collect (tổng hợp kết quả).

Vòng lặp review giữa agent:

  1. Tự review: agent kiểm tra diff của mình so với tiêu chí chấp nhận
  2. Xác minh tự động: oma verify {agent-type} --workspace {workspace}
  3. Review chéo: agent QA đánh giá thay đổi
  4. Khi thất bại: vấn đề được phản hồi để sửa (tối đa 5 vòng lặp tổng)

Giám sát Clarification Debt: Theo dõi sửa chữa của người dùng trong phiên. Sự kiện được tính điểm: clarify (+10), correct (+25), redo (+40). CD >= 50 kích hoạt RCA bắt buộc. CD >= 80 tạm dừng phiên.

Tài nguyên: subagent-prompt-template.md, memory-schema.md.


oma-scm

Lĩnh vực: Tạo commit Git theo Conventional Commits.

Khi nào sử dụng: Sau khi hoàn thành thay đổi mã, khi chạy /scm.

Loại commit: feat, fix, refactor, docs, test, chore, style, perf.

Quy trình: Phân tích thay đổi -> Tách theo tính năng (nếu > 5 file trải trên scope/type khác nhau) -> Xác định type -> Xác định scope -> Viết mô tả (mệnh lệnh, < 72 ký tự, chữ thường, không dấu chấm cuối) -> Thực thi commit ngay.

Quy tắc:

  • Không bao giờ dùng git add -A hoặc git add .
  • Không bao giờ commit file secret
  • Luôn chỉ định file khi staging
  • Dùng HEREDOC cho commit message nhiều dòng
  • Co-Author: First Fluke <our.first.fluke@gmail.com>

oma-coordination

Lĩnh vực: Hướng dẫn điều phối đa agent thủ công từng bước.

Khi nào sử dụng: Dự án phức tạp muốn kiểm soát con người ở mỗi cổng, hướng dẫn spawn agent thủ công, công thức điều phối từng bước.

Khi nào KHÔNG sử dụng: Thực thi song song tự động hoàn toàn (dùng oma-orchestrator), task đơn lĩnh vực (dùng agent lĩnh vực trực tiếp).

Quy tắc cốt lõi:

  • Luôn trình bày kế hoạch để người dùng xác nhận trước khi spawn agent
  • Một tier ưu tiên mỗi lần — đợi hoàn thành trước khi tier tiếp theo
  • Người dùng duyệt mỗi chuyển tiếp cổng
  • Đánh giá QA bắt buộc trước khi merge
  • Vòng lặp khắc phục vấn đề cho phát hiện CRITICAL/HIGH

Quy trình: PM lập kế hoạch -> Người dùng xác nhận -> Spawn theo tier ưu tiên -> Giám sát -> QA review -> Sửa vấn đề -> Phát hành.

Khác biệt với oma-orchestrator: Coordination là thủ công và có hướng dẫn (người dùng kiểm soát nhịp độ), orchestrator là tự động (agent spawn và chạy với can thiệp tối thiểu từ người dùng).


Lĩnh vực: Bộ định tuyến tìm kiếm dựa trên ý định với chấm điểm độ tin cậy miền — chuyển truy vấn đến Context7 (tài liệu), tìm kiếm web native, gh/glab (mã), Serena (cục bộ).

Khi nào sử dụng: Tìm tài liệu chính thức của thư viện/framework, nghiên cứu web cho tutorial/ví dụ/so sánh/giải pháp, tìm kiếm mã GitHub/GitLab cho các mẫu triển khai, mọi truy vấn mà kênh tìm kiếm không rõ ràng (tự định tuyến), các skill khác cần hạ tầng tìm kiếm (gọi dùng chung).

Khi nào KHÔNG sử dụng: Khám phá mã chỉ cục bộ (dùng Serena MCP trực tiếp), phân tích lịch sử Git hoặc blame (dùng oma-scm), nghiên cứu kiến trúc đầy đủ (dùng oma-architecture, có thể gọi skill này nội bộ).

Quy tắc cốt lõi:

  • Phân loại ý định trước khi tìm — mọi truy vấn đều đi qua IntentClassifier trước
  • Một truy vấn, một tuyến tốt nhất — tránh đa tuyến dư thừa trừ khi ý định mơ hồ
  • Chấm điểm độ tin cậy cho mỗi kết quả — mọi kết quả không cục bộ đều nhận nhãn độ tin cậy miền từ registry
  • Flag ghi đè classifier: --docs, --code, --web, --strict, --wide, --gitlab
  • Fail forward: nếu tuyến chính thất bại, rút lui nhẹ nhàng (docs→web, web→chiến lược oma search fetch)
  • Không cần MCP bổ sung: Context7 cho tài liệu, runtime-native cho web, CLI cho mã, Serena cho cục bộ
  • Tìm kiếm web trung lập với nhà cung cấp: dùng bất kỳ runtime hiện tại cung cấp (WebSearch, Google, Bing)
  • Chỉ độ tin cậy ở cấp miền — không chấm điểm ở cấp sub-path hoặc trang

Tài nguyên: SKILL.md, thư mục resources/ với classifier ý định, định nghĩa tuyến và registry độ tin cậy.


oma-recap

Lĩnh vực: Phân tích lịch sử hội thoại qua nhiều công cụ AI (Claude, Codex, Gemini, Qwen, Cursor) với tóm tắt công việc theo chủ đề hàng ngày/theo kỳ.

Khi nào sử dụng: Tóm tắt một ngày hoặc kỳ hoạt động làm việc, hiểu luồng công việc qua nhiều công cụ AI, phân tích mẫu chuyển đổi công cụ giữa các phiên, chuẩn bị standup hàng ngày / retro hàng tuần / nhật ký công việc.

Khi nào KHÔNG sử dụng: Hồi tưởng thay đổi mã dựa trên commit Git (dùng oma retro), giám sát agent theo thời gian thực (dùng oma dashboard), chỉ số năng suất (dùng oma stats).

Quy trình:

  1. Giải quyết ngày hoặc cửa sổ thời gian từ đầu vào ngôn ngữ tự nhiên (today, yesterday, last Monday, ngày rõ ràng)
  2. Lấy dữ liệu hội thoại qua oma recap --date YYYY-MM-DD hoặc --since / --until
  3. Nhóm theo công cụ và phiên
  4. Trích xuất chủ đề (tính năng đã làm, lỗi đã sửa, công cụ đã khám phá)
  5. Render tóm tắt theo chủ đề hàng ngày/theo kỳ

Tài nguyên: SKILL.md — giao công việc nặng cho CLI oma recap.


oma-hwp

Lĩnh vực: Chuyển đổi HWP / HWPX / HWPML (trình xử lý văn bản Hàn Quốc) → Markdown bằng kordoc.

Khi nào sử dụng: Chuyển đổi tài liệu HWP Hàn Quốc (.hwp, .hwpx, .hwpml) sang Markdown, chuẩn bị tài liệu chính phủ/doanh nghiệp Hàn Quốc cho ngữ cảnh LLM hoặc RAG, trích xuất nội dung có cấu trúc (bảng, tiêu đề, danh sách, hình ảnh, chú thích, hyperlink) từ HWP.

Khi nào KHÔNG sử dụng: File PDF (dùng oma-pdf), XLSX/DOCX (ngoài phạm vi), tạo/chỉnh sửa HWP (ngoài phạm vi), file đã là văn bản (dùng công cụ Read trực tiếp).

Quy tắc cốt lõi:

  • Sử dụng bunx kordoc@latest để chạy — không cần cài đặt; luôn truyền @latest hoặc phiên bản cố định
  • Định dạng đầu ra mặc định là Markdown
  • Nếu không chỉ định thư mục đầu ra, kết quả xuất ra cùng thư mục với đầu vào
  • kordoc xử lý bảo toàn cấu trúc (tiêu đề, bảng, bảng lồng nhau, chú thích, hyperlink, hình ảnh)
  • Phòng vệ bảo mật (ZIP bomb, XXE, SSRF, XSS) do kordoc cung cấp — đừng thêm tự chế
  • Với HWP được mã hóa hoặc khóa DRM, báo cáo rõ hạn chế cho người dùng
  • Hậu xử lý với resources/flatten-tables.ts để chuyển khối HTML <table> thành bảng pipe GFM và loại bỏ ký tự Private Use Area của font Hancom

Tài nguyên: SKILL.md, config/, resources/flatten-tables.ts.


oma-pdf

Lĩnh vực: Chuyển đổi PDF sang Markdown bằng opendataloader-pdf.

Khi nào sử dụng: Chuyển đổi tài liệu PDF sang Markdown cho ngữ cảnh LLM hoặc RAG, trích xuất nội dung có cấu trúc (bảng, tiêu đề, danh sách) từ PDF, chuẩn bị dữ liệu PDF để AI tiêu thụ.

Khi nào KHÔNG sử dụng: Tạo/sinh PDF (dùng công cụ tài liệu phù hợp), chỉnh sửa PDF đã có (ngoài phạm vi), đọc đơn giản file đã là văn bản (dùng công cụ Read trực tiếp).

Quy tắc cốt lõi:

  • Sử dụng uvx opendataloader-pdf để chạy — không cần cài đặt
  • Định dạng đầu ra mặc định là Markdown
  • Nếu không chỉ định thư mục đầu ra, kết quả xuất ra cùng thư mục với PDF đầu vào
  • Bảo toàn cấu trúc tài liệu (tiêu đề, bảng, danh sách, hình ảnh)
  • Với PDF quét, dùng chế độ lai có OCR
  • Luôn chạy uvx mdformat trên đầu ra để chuẩn hóa định dạng Markdown
  • Xác thực Markdown đầu ra có thể đọc và có cấu trúc tốt
  • Báo cáo mọi vấn đề chuyển đổi (bảng thiếu, văn bản lỗi) cho người dùng

Tài nguyên: SKILL.md, config/, resources/.


Charter Preflight (CHARTER_CHECK)

Trước khi viết bất kỳ mã nào, mọi agent triển khai phải xuất khối CHARTER_CHECK:

CHARTER_CHECK:
- Clarification level: {LOW | MEDIUM | HIGH}
- Task domain: {lĩnh vực agent}
- Must NOT do: {3 ràng buộc từ phạm vi task}
- Success criteria: {tiêu chí đo lường được}
- Assumptions: {mặc định đã áp dụng}

Mục đích:

  • Khai báo agent sẽ và sẽ không làm gì
  • Phát hiện lệch phạm vi trước khi viết mã
  • Làm rõ giả định cho người dùng xem xét
  • Cung cấp tiêu chí thành công có thể kiểm thử

Mức độ làm rõ:

  • LOW: Yêu cầu rõ ràng. Tiến hành với giả định đã nêu.
  • MEDIUM: Mơ hồ một phần. Liệt kê tùy chọn, tiến hành với khả năng cao nhất.
  • HIGH: Rất mơ hồ. Đặt trạng thái bị chặn, liệt kê câu hỏi, KHÔNG viết mã.

Ở chế độ subagent (spawn qua CLI), agent không thể hỏi trực tiếp người dùng. LOW tiến hành, MEDIUM thu hẹp và diễn giải, HIGH chặn và trả về câu hỏi cho orchestrator chuyển tiếp.


Tải skill 2 tầng

Kiến thức của mỗi agent được chia thành hai tầng:

Layer 1 — SKILL.md (~800 byte): Luôn được tải. Chứa frontmatter (name, description), khi nào sử dụng / không sử dụng, quy tắc cốt lõi, tổng quan kiến trúc, danh sách thư viện và tham chiếu đến tài nguyên Layer 2.

Layer 2 — resources/ (tải theo nhu cầu): Chỉ tải khi agent đang làm việc, và chỉ tài nguyên khớp loại task và độ khó:

Độ khóTài nguyên tải
SimpleChỉ execution-protocol.md
Mediumexecution-protocol.md + examples.md
Complexexecution-protocol.md + examples.md + tech-stack.md + snippets.md

Tài nguyên bổ sung được tải trong quá trình thực thi khi cần:

  • checklist.md — ở bước Verify
  • error-playbook.md — chỉ khi có lỗi
  • common-checklist.md — cho xác minh cuối cùng của task Complex

Thực thi theo phạm vi

Agent hoạt động trong ranh giới lĩnh vực nghiêm ngặt:

  • Agent frontend sẽ không sửa mã backend
  • Agent backend sẽ không chạm vào component UI
  • Agent DB sẽ không triển khai endpoint API
  • Agent tài liệu hóa phụ thuộc ngoài phạm vi cho agent khác

Khi phát hiện task thuộc lĩnh vực khác trong quá trình thực thi, agent ghi nhận trong file kết quả như mục escalation, thay vì cố xử lý.


Chiến lược workspace

Cho dự án đa agent, workspace riêng biệt ngăn xung đột file:

./apps/api → workspace agent backend
./apps/web → workspace agent frontend
./apps/mobile → workspace agent mobile

Workspace được chỉ định bằng flag -w khi spawn agent:

oma agent:spawn backend "Implement auth API" session-01 -w ./apps/api
oma agent:spawn frontend "Build login form" session-01 -w ./apps/web

Luồng điều phối

Khi chạy workflow đa agent (/orchestrate hoặc /work):

  1. Agent PM phân tách yêu cầu thành task theo lĩnh vực với ưu tiên (P0, P1, P2) và phụ thuộc
  2. Phiên được khởi tạo — session ID được tạo, orchestrator-session.mdtask-board.md được tạo trong bộ nhớ
  3. Task P0 được spawn song song (tối đa MAX_PARALLEL agent đồng thời)
  4. Tiến trình được giám sát — orchestrator poll file progress-{agent}.md mỗi POLL_INTERVAL
  5. Task P1 được spawn sau khi P0 hoàn thành, v.v.
  6. Vòng lặp xác minh chạy cho mỗi agent hoàn thành (tự review -> xác minh tự động -> review chéo bởi QA)
  7. Kết quả được thu thập từ tất cả file result-{agent}.md
  8. Báo cáo cuối với tóm tắt phiên, file thay đổi, vấn đề còn lại

Định nghĩa agent

Agent được định nghĩa ở hai vị trí:

.agents/agents/ — Chứa 7 file định nghĩa subagent:

  • backend-engineer.md
  • frontend-engineer.md
  • mobile-engineer.md
  • db-engineer.md
  • qa-reviewer.md
  • debug-investigator.md
  • pm-planner.md

Các file này định nghĩa danh tính agent, tham chiếu quy trình thực thi, template CHARTER_CHECK, tóm tắt kiến trúc và quy tắc. Chúng được dùng khi spawn subagent qua Task/Agent tool (Claude Code) hoặc CLI.

.claude/agents/ — Định nghĩa subagent đặc thù IDE tham chiếu file .agents/agents/ qua symlink hoặc bản sao trực tiếp cho tương thích Claude Code.


Trạng thái runtime (Serena Memory)

Trong phiên điều phối, agent phối hợp qua file bộ nhớ chia sẻ trong .serena/memories/ (có thể cấu hình qua mcp.json):

FileChủ sở hữuMục đíchKhác
orchestrator-session.mdOrchestratorSession ID, trạng thái, thời gian bắt đầu, theo dõi giai đoạnChỉ đọc
task-board.mdOrchestratorPhân công task, ưu tiên, cập nhật trạng tháiChỉ đọc
progress-{agent}.mdAgent đóTiến trình từng lượt: hành động, file đọc/sửa, trạng thái hiện tạiOrchestrator đọc
result-{agent}.mdAgent đóKết quả cuối: trạng thái (completed/failed), tóm tắt, file thay đổi, checklist tiêu chí chấp nhậnOrchestrator đọc
session-metrics.mdOrchestratorTheo dõi Clarification Debt, tiến trình Quality ScoreQA đọc
experiment-ledger.mdOrchestrator/QATheo dõi thí nghiệm khi Quality Score được kích hoạtTất cả đọc

Công cụ bộ nhớ có thể cấu hình. Mặc định dùng Serena MCP (read_memory, write_memory, edit_memory), nhưng công cụ tùy chỉnh có thể cấu hình trong mcp.json:

{
"memoryConfig": {
"provider": "serena",
"basePath": ".serena/memories",
"tools": {
"read": "read_memory",
"write": "write_memory",
"edit": "edit_memory"
}
}
}

Dashboard (oma dashboardoma dashboard:web) theo dõi các file bộ nhớ này cho giám sát thời gian thực.