Tổng Quan Dự Án
Oh-My-Link (OML) là một Claude Code plugin điều phối các agent chuyên biệt thông qua các workflow có cấu trúc. Plugin được xây dựng dựa trên nghiên cứu hệ thống hook, vòng đời subagent và kiến trúc plugin của Claude Code, điều phối 12 agent qua pipeline 7 phase. Toàn bộ phối hợp sử dụng file-based JSON — nhẹ, portable và self-contained.
Vai Trò Của Tôi
| Thông tin | Chi tiết |
|---|---|
| Số thành viên | 1 (Solo Developer) |
| Vị trí | Author & Developer |
| Công nghệ | Node.js, TypeScript, Claude Code Plugin System |
| Testing | 128+ tests across 3 suites |
Hai Chế Độ Hoạt Động
Start Link — Full Autonomous Workflow
Bảy phase với ba cổng kiểm tra bắt buộc (Human-in-the-Loop). Thiết kế cho tính năng phức tạp, thay đổi đa file và hệ thống mới.
- Phase 1 — Scout làm rõ yêu cầu qua đối thoại Socratic
- Gate 1 — Người dùng phê duyệt quyết định đã khóa
- Phase 2 — Architect tạo kế hoạch triển khai
- Gate 2 — Người dùng phê duyệt kế hoạch (có vòng phản hồi)
- Phase 3 — Architect phân rã kế hoạch thành tasks (links)
- Phase 4 — Validation đa chiều
- Gate 3 — Người dùng chọn Sequential hoặc Parallel execution
- Phase 5 — Workers triển khai tasks với file locking
- Phase 6 — Reviewer đánh giá từng task + toàn bộ feature
- Phase 7 — Tổng kết và compounding (learning flywheel)
Start Fast — Lightweight Workflow
Hai bước, không có gate. Thiết kế cho bug fix, thay đổi nhỏ và tính năng nhanh.
| Tier | Khi nào | Điều gì xảy ra |
|---|---|---|
| Turbo | Thay đổi nhỏ (typo, one-liner) | Thực thi trực tiếp, không cần planning |
| Standard | Tác vụ vừa phải (single feature, small refactor) | Quick scout → execute → verify |
| Complex | Scope quá lớn | Tự động chuyển sang Start Link |
Workflow Diagram
Start Link (7-phase)
====================
User ──> keyword-detector ──> prompt-leverage ──> Bootstrap
│
┌────────────────────────────────────────────┘
v
Phase 1: Scout (requirements clarification)
│
[GATE 1] ── user approves locked decisions
│
Phase 2: Architect (planning)
│
[GATE 2] ── user approves plan
│
Phase 3: Architect (decomposition into links/tasks)
│
Phase 4: Validation (pre-execution checks)
│
[GATE 3] ── user chooses Sequential / Parallel
│
Phase 5: Worker(s) implement links
│
Phase 6: Reviewer per-link + full-feature review
│
Phase 7: Summary + Compounding
│
Done
Agent Roster & Model Configuration
Mỗi agent có model mặc định được tối ưu cho vai trò riêng.
| Agent | Vai trò | Viết Code | Model Mặc Định |
|---|---|---|---|
| Master | Điều phối pipeline 7 phase, enforce gates | Không | claude-opus-4-6 |
| Scout | Khảo sát codebase & làm rõ yêu cầu | Không | claude-opus-4-6 |
| Architect | Lập kế hoạch, phân rã, tạo task | Không | claude-opus-4-6 |
| Code Reviewer | Review code chuyên sâu (style, patterns, bugs) | Không | claude-opus-4-6 |
| Worker | Triển khai single task với file locking | Có | claude-sonnet-4-6 |
| Reviewer | Review từng task và toàn bộ feature | Không | claude-sonnet-4-6 |
| Fast Scout | Phân tích nhanh cho Start Fast | Không | claude-sonnet-4-6 |
| Executor | Chạy commands, triển khai cho Start Fast | Có | claude-sonnet-4-6 |
| Verifier | Xác minh deliverables theo tiêu chí | Không | claude-sonnet-4-6 |
| Security Reviewer | Audit bảo mật theo OWASP | Không | claude-sonnet-4-6 |
| Test Engineer | Viết và chạy tests | Tests | claude-sonnet-4-6 |
| Explorer | Tìm kiếm nhanh codebase và pattern matching | Không | claude-haiku-4-5 |
Tại sao chọn model này?
- Opus cho các vai trò cần reasoning sâu: Master, Scout, Architect, Code Reviewer
- Sonnet cho các vai trò thiên về thực thi: Worker, Reviewer, Executor
- Haiku cho Explorer — tìm kiếm nhẹ cần tốc độ hơn độ sâu
Tính Năng Chính
| Tính năng | Cách hoạt động |
|---|---|
| Task Engine | Task JSON trong .oh-my-link/tasks/ với luồng trạng thái: pending → in_progress → done / failed |
| File Locking | mkdir-based atomic mutex với 30s TTL. Workers phải acquire locks trước khi chỉnh sửa. |
| Messaging | JSON message files trong .oh-my-link/messages/ với thread-based routing |
| Session State | session.json theo dõi phase, counters, failures |
| Auto Phase Tracking | Subagent lifecycle hooks tự động tiến phase (chỉ tiến, không lùi) |
| Prompt Leverage | Mỗi lần gọi tự động bổ sung guardrails, constraints và success criteria vào prompt |
| Learnings | Patterns được trích xuất từ sessions và tải lại trong sessions tương lai (compounding flywheel) |
Hooks System
OML đăng ký 10 hooks vào vòng đời Claude Code:
| Hook Event | Script | Mục đích |
|---|---|---|
UserPromptSubmit | keyword-detector.js | Phát hiện trigger start link, start fast, cancel oml |
UserPromptSubmit | skill-injector.js | Inject learned skills vào context |
SessionStart | session-start.js | Load project memory và session state |
PreToolUse | pre-tool-enforcer.js | Hạn chế tool/path theo vai trò |
PostToolUse | post-tool-verifier.js | Hot path tracking, skill feedback |
Stop | stop-handler.js | Phase continuation, cancel signal |
PreCompact | pre-compact.js | Lưu state trước context compaction |
SubagentStart/Stop | subagent-lifecycle.js | Agent role detection, phase advance |
SessionEnd | session-end.js | Cleanup, release locks, archive session |
Cấu Trúc Dự Án
Oh-My-Link/
├── src/ # TypeScript source
│ ├── hooks/ # 10 Claude Code hook handlers
│ ├── helpers.ts # Shared utilities
│ ├── state.ts # Path and state management
│ ├── types.ts # Type definitions
│ ├── task-engine.ts # File-based task + lock system
│ ├── statusline.ts # Live HUD renderer
│ ├── config.ts # Model configuration system
│ └── prompt-leverage.ts # Prompt augmentation framework
├── scripts/
│ └── run.cjs # Hook runner wrapper
├── agents/ # 12 agent prompt definitions
├── skills/ # Skill definitions (20+ skills)
├── hooks/
│ └── hooks.json # Hook wiring configuration
├── test/ # 128+ tests across 3 suites
└── .claude-plugin/ # Marketplace manifest
Cài Đặt
Marketplace (khuyến nghị)
Thêm vào ~/.claude/settings.json:
{
"extraKnownMarketplaces": {
"oh-my-link": {
"source": {
"source": "github",
"repo": "vubaolinh123/Oh-My-Link"
}
}
},
"enabledPlugins": {
"oh-my-link@oh-my-link": true
}
}
Local Development
git clone https://github.com/vubaolinh123/Oh-My-Link.git
cd Oh-My-Link
npm install
npm run build
Commands
| Command | Mô tả |
|---|---|
start link <request> | Full 7-phase pipeline cho tasks phức tạp |
start fast <request> | Lightweight mode cho tasks đơn giản |
cancel oml | Hủy session đang hoạt động |
setup oml | Chạy setup wizard |
doctor oml | Chẩn đoán sức khỏe plugin |
update oml | Cập nhật plugin |
fetch docs <topic> | Tải documentation bên ngoài |
learn this | Lưu pattern tái sử dụng từ session hiện tại |
Testing
npm run build
node test/run-tests.mjs # 106 core tests
node test/test-run-cjs.mjs # 6 hook runner tests
node test/test-phase-tracking.mjs # 16 phase tracking tests
128 tests across 3 suites covering: keyword detection, tool enforcement, state management, task engine, file locking, prompt leverage, session lifecycle, phase tracking và hook runner resolution.
License
MIT
