oh-my-ag 1.4.1 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/skills/frontend-agent/resources/component-template.tsx +20 -19
- package/.agent/skills/orchestrator/scripts/parallel-run.sh +1 -1
- package/.agent/skills/workflow-guide/SKILL.md +12 -2
- package/.agent/skills/workflow-guide/resources/examples.md +8 -5
- package/README.ko.md +92 -32
- package/README.md +80 -23
- package/bin/cli.js +150 -143
- package/package.json +7 -2
- package/.agent/skills/orchestrator/scripts/spawn-agent.sh +0 -263
|
@@ -5,15 +5,16 @@
|
|
|
5
5
|
* Follow this structure for consistency.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import type { ReactNode } from "react";
|
|
9
|
+
import { cn } from "@/lib/utils";
|
|
9
10
|
|
|
10
11
|
// 1. Type Definitions
|
|
11
12
|
interface ComponentNameProps {
|
|
12
13
|
className?: string;
|
|
13
|
-
children:
|
|
14
|
+
children: ReactNode;
|
|
14
15
|
// Add specific props here
|
|
15
|
-
variant?:
|
|
16
|
-
size?:
|
|
16
|
+
variant?: "default" | "primary" | "secondary";
|
|
17
|
+
size?: "sm" | "md" | "lg";
|
|
17
18
|
onClick?: () => void;
|
|
18
19
|
disabled?: boolean;
|
|
19
20
|
}
|
|
@@ -22,8 +23,8 @@ interface ComponentNameProps {
|
|
|
22
23
|
export function ComponentName({
|
|
23
24
|
className,
|
|
24
25
|
children,
|
|
25
|
-
variant =
|
|
26
|
-
size =
|
|
26
|
+
variant = "default",
|
|
27
|
+
size = "md",
|
|
27
28
|
onClick,
|
|
28
29
|
disabled = false,
|
|
29
30
|
}: ComponentNameProps) {
|
|
@@ -42,24 +43,26 @@ export function ComponentName({
|
|
|
42
43
|
// 6. Computed Values
|
|
43
44
|
const classes = cn(
|
|
44
45
|
// Base styles
|
|
45
|
-
|
|
46
|
+
"inline-flex items-center justify-center rounded-md font-medium transition-colors",
|
|
46
47
|
// Variants
|
|
47
48
|
{
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
"bg-primary text-primary-foreground hover:bg-primary/90":
|
|
50
|
+
variant === "primary",
|
|
51
|
+
"bg-secondary text-secondary-foreground hover:bg-secondary/80":
|
|
52
|
+
variant === "secondary",
|
|
53
|
+
"bg-background text-foreground hover:bg-accent": variant === "default",
|
|
51
54
|
},
|
|
52
55
|
// Sizes
|
|
53
56
|
{
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
"h-8 px-3 text-sm": size === "sm",
|
|
58
|
+
"h-10 px-4 text-base": size === "md",
|
|
59
|
+
"h-12 px-6 text-lg": size === "lg",
|
|
57
60
|
},
|
|
58
61
|
// States
|
|
59
62
|
{
|
|
60
|
-
|
|
63
|
+
"opacity-50 cursor-not-allowed": disabled,
|
|
61
64
|
},
|
|
62
|
-
className
|
|
65
|
+
className,
|
|
63
66
|
);
|
|
64
67
|
|
|
65
68
|
// 7. Render
|
|
@@ -82,11 +85,9 @@ ComponentName.Slot = function ComponentNameSlot({
|
|
|
82
85
|
children,
|
|
83
86
|
}: ComponentNameProps) {
|
|
84
87
|
return (
|
|
85
|
-
<div className={cn(
|
|
86
|
-
{children}
|
|
87
|
-
</div>
|
|
88
|
+
<div className={cn("flex items-center gap-2", className)}>{children}</div>
|
|
88
89
|
);
|
|
89
90
|
};
|
|
90
91
|
|
|
91
92
|
// 9. Display Name (for debugging)
|
|
92
|
-
ComponentName.displayName =
|
|
93
|
+
ComponentName.displayName = "ComponentName";
|
|
@@ -126,7 +126,7 @@ parse_inline_tasks() {
|
|
|
126
126
|
|
|
127
127
|
# Spawn in background
|
|
128
128
|
(
|
|
129
|
-
|
|
129
|
+
oh-my-ag agent:spawn "$agent" "$task" "parallel-${TIMESTAMP}" "$workspace" \
|
|
130
130
|
> "${RUN_DIR}/${agent}-${idx}.log" 2>&1
|
|
131
131
|
) &
|
|
132
132
|
|
|
@@ -6,16 +6,19 @@ description: Guide for coordinating PM, Frontend, Backend, Mobile, and QA agents
|
|
|
6
6
|
# Multi-Agent Workflow Guide
|
|
7
7
|
|
|
8
8
|
## When to use
|
|
9
|
+
|
|
9
10
|
- Complex feature spanning multiple domains (full-stack, mobile)
|
|
10
11
|
- Coordination needed between frontend, backend, mobile, and QA
|
|
11
12
|
- User wants step-by-step guidance for multi-agent coordination
|
|
12
13
|
|
|
13
14
|
## When NOT to use
|
|
15
|
+
|
|
14
16
|
- Simple single-domain task -> use the specific agent directly
|
|
15
17
|
- User wants automated execution -> use orchestrator
|
|
16
18
|
- Quick bug fixes or minor changes
|
|
17
19
|
|
|
18
20
|
## Core Rules
|
|
21
|
+
|
|
19
22
|
1. Always start with PM Agent for task decomposition
|
|
20
23
|
2. Spawn independent tasks in parallel (same priority tier)
|
|
21
24
|
3. Define API contracts before frontend/mobile tasks
|
|
@@ -27,31 +30,38 @@ description: Guide for coordinating PM, Frontend, Backend, Mobile, and QA agents
|
|
|
27
30
|
## Workflow
|
|
28
31
|
|
|
29
32
|
### Step 1: Plan with PM Agent
|
|
33
|
+
|
|
30
34
|
PM Agent analyzes requirements, selects tech stack, creates task breakdown with priorities.
|
|
31
35
|
|
|
32
36
|
### Step 2: Spawn Agents by Priority
|
|
37
|
+
|
|
33
38
|
Spawn agents via CLI:
|
|
39
|
+
|
|
34
40
|
1. Use spawn-agent.sh for each task
|
|
35
41
|
2. CLI selection follows agent_cli_mapping in user-preferences.yaml
|
|
36
42
|
3. Spawn all same-priority tasks in parallel using background processes
|
|
37
43
|
|
|
38
44
|
```bash
|
|
39
45
|
# Example: spawn backend and frontend in parallel
|
|
40
|
-
|
|
41
|
-
|
|
46
|
+
oh-my-ag agent:spawn backend "task description" session-id ./backend &
|
|
47
|
+
oh-my-ag agent:spawn frontend "task description" session-id ./frontend &
|
|
42
48
|
wait
|
|
43
49
|
```
|
|
44
50
|
|
|
45
51
|
### Step 3: Monitor & Coordinate
|
|
52
|
+
|
|
46
53
|
- Use memory read tool to poll `progress-{agent}.md` files
|
|
47
54
|
- Verify API contracts align between agents
|
|
48
55
|
- Ensure shared data models are consistent
|
|
49
56
|
|
|
50
57
|
### Step 4: QA Review
|
|
58
|
+
|
|
51
59
|
Spawn QA Agent last to review all deliverables. Address CRITICAL issues by re-spawning agents.
|
|
52
60
|
|
|
53
61
|
## Automated Alternative
|
|
62
|
+
|
|
54
63
|
For fully automated execution without manual spawning, use the **orchestrator** skill instead.
|
|
55
64
|
|
|
56
65
|
## References
|
|
66
|
+
|
|
57
67
|
- Workflow examples: `resources/examples.md`
|
|
@@ -5,14 +5,15 @@
|
|
|
5
5
|
**Input**: "JWT 인증이 있는 TODO 앱을 만들어줘"
|
|
6
6
|
|
|
7
7
|
**Workflow**:
|
|
8
|
+
|
|
8
9
|
```
|
|
9
10
|
Step 1: PM Agent plans the project
|
|
10
11
|
-> 5 tasks: auth API, CRUD API, login UI, todo UI, QA review
|
|
11
12
|
|
|
12
13
|
Step 2: Spawn Priority 1 agents via CLI
|
|
13
14
|
# Run in parallel using background processes
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
oh-my-ag agent:spawn backend "JWT authentication API + TODO CRUD" session-id ./backend &
|
|
16
|
+
oh-my-ag agent:spawn frontend "Login/Register UI" session-id ./frontend &
|
|
16
17
|
wait
|
|
17
18
|
|
|
18
19
|
Step 3: Monitor progress
|
|
@@ -35,19 +36,20 @@ Step 6: Address QA findings
|
|
|
35
36
|
**Input**: "블로그에 댓글 기능을 추가해줘"
|
|
36
37
|
|
|
37
38
|
**Workflow**:
|
|
39
|
+
|
|
38
40
|
```
|
|
39
41
|
Step 1: PM Agent analyzes existing codebase and plans
|
|
40
42
|
-> 2 tasks: Comments API, Comment Section UI
|
|
41
43
|
|
|
42
44
|
Step 2: Spawn Backend Agent first (API-first)
|
|
43
|
-
|
|
45
|
+
oh-my-ag agent:spawn backend "Comments API with nested replies, pagination" session-id ./backend
|
|
44
46
|
|
|
45
47
|
Step 3: After backend completes, spawn Frontend Agent
|
|
46
|
-
|
|
48
|
+
oh-my-ag agent:spawn frontend "Comment section UI using the new API endpoints" session-id ./frontend
|
|
47
49
|
(Sequential because frontend depends on API contracts)
|
|
48
50
|
|
|
49
51
|
Step 4: QA review
|
|
50
|
-
|
|
52
|
+
oh-my-ag agent:spawn qa "Security: XSS in comments, rate limiting; Performance: Pagination, N+1 queries" session-id .
|
|
51
53
|
```
|
|
52
54
|
|
|
53
55
|
## Example 3: When to Use Orchestrator Instead
|
|
@@ -55,6 +57,7 @@ Step 4: QA review
|
|
|
55
57
|
**User**: "자동으로 실행해줘" / "Run everything automatically"
|
|
56
58
|
|
|
57
59
|
**Response**:
|
|
60
|
+
|
|
58
61
|
```
|
|
59
62
|
"You want fully automated execution. Let me switch to the
|
|
60
63
|
orchestrator skill instead, which will:
|
package/README.ko.md
CHANGED
|
@@ -3,14 +3,17 @@
|
|
|
3
3
|
Google Antigravity IDE용 전문 에이전트 스킬 모음. PM, Frontend, Backend, Mobile, QA, Debug 전문 에이전트가 Agent Manager, CLI 기반 SubAgent Orchestrator, 실시간 Serena Memory 대시보드를 통해 협업합니다.
|
|
4
4
|
|
|
5
5
|
> **마음에 드셨나요?** 스타 눌러주세요!
|
|
6
|
+
>
|
|
6
7
|
> ```bash
|
|
7
8
|
> gh repo star first-fluke/oh-my-ag
|
|
8
9
|
> ```
|
|
9
10
|
>
|
|
10
11
|
> **풀스택 개발이 처음이신가요?** 최적화된 스타터 템플릿으로 시작필보세요:
|
|
12
|
+
>
|
|
11
13
|
> ```bash
|
|
12
14
|
> git clone https://github.com/first-fluke/fullstack-starter
|
|
13
15
|
> ```
|
|
16
|
+
>
|
|
14
17
|
> 이 스킬들이 미리 설정되어 있어 바로 멀티 에이전트 협업이 가능합니다.
|
|
15
18
|
|
|
16
19
|
## 목차
|
|
@@ -22,7 +25,7 @@ Google Antigravity IDE용 전문 에이전트 스킬 모음. PM, Frontend, Backe
|
|
|
22
25
|
- [프로젝트 구조](#프로젝트-구조)
|
|
23
26
|
- [스킬 아키텍처](#스킬-아키텍처)
|
|
24
27
|
- [스킬 개요](#스킬-개요)
|
|
25
|
-
|
|
28
|
+
|
|
26
29
|
- [CLI 명령어](#cli-명령어)
|
|
27
30
|
- [문제 해결](#문제-해결)
|
|
28
31
|
- [라이선스](#라이선스)
|
|
@@ -45,7 +48,48 @@ Google Antigravity IDE용 전문 에이전트 스킬 모음. PM, Frontend, Backe
|
|
|
45
48
|
|
|
46
49
|
## 빠른 시작
|
|
47
50
|
|
|
48
|
-
###
|
|
51
|
+
### 사전 요구 사항
|
|
52
|
+
|
|
53
|
+
- **Google Antigravity** (2026+)
|
|
54
|
+
- **Bun** (CLI 및 대시보드용)
|
|
55
|
+
|
|
56
|
+
### 옵션 1: 대화형 CLI (권장)
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# bun이 없으면 먼저 설치:
|
|
60
|
+
# curl -fsSL https://bun.sh/install | bash
|
|
61
|
+
|
|
62
|
+
bunx oh-my-ag
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
프로젝트 타입을 선택하면 `.agent/skills/`에 스킬이 설치됩니다.
|
|
66
|
+
|
|
67
|
+
| 프리셋 | 스킬 |
|
|
68
|
+
|--------|--------|
|
|
69
|
+
| ✨ All | 전체 |
|
|
70
|
+
| 🌐 Fullstack | frontend, backend, pm, qa, debug, commit |
|
|
71
|
+
| 🎨 Frontend | frontend, pm, qa, debug, commit |
|
|
72
|
+
| ⚙️ Backend | backend, pm, qa, debug, commit |
|
|
73
|
+
| 📱 Mobile | mobile, pm, qa, debug, commit |
|
|
74
|
+
|
|
75
|
+
### 옵션 2: 전역 설치 (Orchestrator용)
|
|
76
|
+
|
|
77
|
+
SubAgent Orchestrator를 사용하거나 도구를 전역에서 사용하려면:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
bun install --global oh-my-ag
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
최소 1개의 CLI 도구가 필요합니다:
|
|
84
|
+
|
|
85
|
+
| CLI | 설치 | 인증 |
|
|
86
|
+
|-----|------|------|
|
|
87
|
+
| Gemini | `bun install --global @anthropic-ai/gemini-cli` | `gemini auth` |
|
|
88
|
+
| Claude | `bun install --global @anthropic-ai/claude-code` | `claude auth` |
|
|
89
|
+
| Codex | `bun install --global @openai/codex` | `codex auth` |
|
|
90
|
+
| Qwen | `bun install --global @qwen-code/qwen` | `qwen auth` |
|
|
91
|
+
|
|
92
|
+
### 옵션 3: 클론 & 열기
|
|
49
93
|
|
|
50
94
|
```bash
|
|
51
95
|
git clone <repository-url>
|
|
@@ -55,25 +99,36 @@ antigravity open .
|
|
|
55
99
|
|
|
56
100
|
Antigravity가 `.agent/skills/`의 스킬을 자동 감지합니다.
|
|
57
101
|
|
|
58
|
-
### 기존 프로젝트에 통합하기
|
|
102
|
+
### 옵션 4: 기존 프로젝트에 통합하기
|
|
103
|
+
|
|
104
|
+
**권장 방법 (CLI):**
|
|
59
105
|
|
|
60
|
-
|
|
106
|
+
기존 프로젝트의 루트 디렉토리에서 다음 명령어를 실행하면 스킬과 워크플로우가 자동으로 설치됩니다:
|
|
61
107
|
|
|
62
108
|
```bash
|
|
63
|
-
|
|
64
|
-
|
|
109
|
+
bunx oh-my-ag
|
|
110
|
+
```
|
|
65
111
|
|
|
66
|
-
|
|
112
|
+
> **팁:** 설치 후 `bunx oh-my-ag doctor`를 실행하여 모든 설정(전역 워크플로우 포함)이 올바른지 확인하세요.
|
|
113
|
+
|
|
114
|
+
**수동 방법 (파일 복사):**
|
|
115
|
+
|
|
116
|
+
이미 oh-my-ag 저장소를 클론했다면 파일 복사로도 가능합니다:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# 1. 스킬 복사
|
|
67
120
|
cp -r oh-my-ag/.agent/skills /path/to/your-project/.agent/
|
|
68
121
|
|
|
69
|
-
|
|
122
|
+
# 2. 워크플로우 복사
|
|
123
|
+
cp -r oh-my-ag/.agent/workflows /path/to/your-project/.agent/
|
|
70
124
|
|
|
71
|
-
#
|
|
72
|
-
cp -r oh-my-ag/.agent/
|
|
73
|
-
cp
|
|
125
|
+
# 3. 설정 복사 (선택)
|
|
126
|
+
cp -r oh-my-ag/.agent/config /path/to/your-project/.agent/
|
|
127
|
+
cp oh-my-ag/package.json /path/to/your-project/ # 의존성 병합
|
|
74
128
|
```
|
|
75
129
|
|
|
76
130
|
본인 프로젝트에서:
|
|
131
|
+
|
|
77
132
|
```bash
|
|
78
133
|
cd /path/to/your-project
|
|
79
134
|
npm install # 대시보드 사용할 경우
|
|
@@ -94,24 +149,28 @@ antigravity open .
|
|
|
94
149
|
### 3. 채팅으로 사용
|
|
95
150
|
|
|
96
151
|
**간단한 작업** (단일 에이전트 자동 활성화):
|
|
152
|
+
|
|
97
153
|
```
|
|
98
154
|
"Tailwind CSS로 로그인 폼 만들어줘"
|
|
99
155
|
→ frontend-agent 자동 활성화
|
|
100
156
|
```
|
|
101
157
|
|
|
102
158
|
**복잡한 프로젝트** (workflow-guide가 조율):
|
|
159
|
+
|
|
103
160
|
```
|
|
104
161
|
"사용자 인증이 있는 TODO 앱 만들어줘"
|
|
105
162
|
→ workflow-guide → PM Agent 기획 → Agent Manager에서 에이전트 생성
|
|
106
163
|
```
|
|
107
164
|
|
|
108
165
|
**명시적 조율** (유저가 워크플로우 호출):
|
|
166
|
+
|
|
109
167
|
```
|
|
110
168
|
/coordinate
|
|
111
169
|
→ 단계별: PM 기획 → 에이전트 생성 → QA 검토
|
|
112
170
|
```
|
|
113
171
|
|
|
114
172
|
**변경사항 커밋** (Conventional Commits):
|
|
173
|
+
|
|
115
174
|
```
|
|
116
175
|
/commit
|
|
117
176
|
→ 변경 분석, 커밋 타입/스코프 제안, Co-Author 포함 커밋 생성
|
|
@@ -133,6 +192,7 @@ bunx oh-my-ag dashboard:web # 웹 대시보드 (브라우저 UI)
|
|
|
133
192
|
### Progressive Disclosure (점진적 공개)
|
|
134
193
|
|
|
135
194
|
스킬을 수동으로 선택할 필요 없습니다. Antigravity가 자동으로:
|
|
195
|
+
|
|
136
196
|
1. 채팅 요청을 분석
|
|
137
197
|
2. `.agent/skills/`의 스킬 설명과 매칭
|
|
138
198
|
3. 필요한 스킬만 컨텍스트에 로드
|
|
@@ -141,6 +201,7 @@ bunx oh-my-ag dashboard:web # 웹 대시보드 (브라우저 UI)
|
|
|
141
201
|
### Agent Manager UI
|
|
142
202
|
|
|
143
203
|
복잡한 프로젝트에는 Antigravity **Agent Manager** (Mission Control)를 사용합니다:
|
|
204
|
+
|
|
144
205
|
1. PM Agent가 기획서 작성
|
|
145
206
|
2. Agent Manager UI에서 에이전트 생성
|
|
146
207
|
3. 에이전트들이 별도 워크스페이스에서 병렬 작업
|
|
@@ -153,11 +214,11 @@ bunx oh-my-ag dashboard:web # 웹 대시보드 (브라우저 UI)
|
|
|
153
214
|
|
|
154
215
|
```bash
|
|
155
216
|
# 단일 에이전트
|
|
156
|
-
|
|
217
|
+
oh-my-ag agent:spawn backend "인증 API 구현" session-01 ./backend
|
|
157
218
|
|
|
158
|
-
# 병렬
|
|
159
|
-
|
|
160
|
-
|
|
219
|
+
# 병렬 실행 (orchestrator 스킬 사용 시)
|
|
220
|
+
oh-my-ag agent:spawn backend "인증 API 구현" session-01 ./backend &
|
|
221
|
+
oh-my-ag agent:spawn frontend "로그인 폼 생성" session-01 ./frontend &
|
|
161
222
|
wait
|
|
162
223
|
```
|
|
163
224
|
|
|
@@ -185,6 +246,7 @@ agent_cli_mapping:
|
|
|
185
246
|
```
|
|
186
247
|
|
|
187
248
|
**CLI 우선순위**:
|
|
249
|
+
|
|
188
250
|
1. `--vendor` 명령줄 인자
|
|
189
251
|
2. `user-preferences.yaml`의 `agent_cli_mapping`
|
|
190
252
|
3. `user-preferences.yaml`의 `default_cli`
|
|
@@ -246,6 +308,7 @@ bunx oh-my-ag dashboard:web
|
|
|
246
308
|
```
|
|
247
309
|
|
|
248
310
|
기능:
|
|
311
|
+
|
|
249
312
|
- WebSocket 실시간 푸시 (폴링 없음)
|
|
250
313
|
- 연결 끊김 시 자동 재연결
|
|
251
314
|
- 볼라색 Serena 테마 UI
|
|
@@ -300,9 +363,6 @@ bunx oh-my-ag dashboard:web
|
|
|
300
363
|
│ # └── snippets.md (코드 스니펫)
|
|
301
364
|
├── .serena/
|
|
302
365
|
│ └── memories/ # 런타임 상태 (gitignore 처리됨)
|
|
303
|
-
├── scripts/
|
|
304
|
-
│ ├── spawn-subagent.sh # 서브에이전트 실행기
|
|
305
|
-
│ └── poll-status.sh # 상태 폴링
|
|
306
366
|
├── package.json
|
|
307
367
|
├── README.md # 영문 가이드
|
|
308
368
|
├── README.ko.md # 한글 가이드 (이 파일)
|
|
@@ -352,56 +412,51 @@ bunx oh-my-ag dashboard:web
|
|
|
352
412
|
## 스킬 개요
|
|
353
413
|
|
|
354
414
|
### workflow-guide
|
|
415
|
+
|
|
355
416
|
**발동 조건**: 복잡한 멀티 도메인 요청
|
|
356
417
|
**역할**: PM, Frontend, Backend, Mobile, QA 에이전트 조율 안내
|
|
357
418
|
|
|
358
419
|
### pm-agent
|
|
420
|
+
|
|
359
421
|
**발동 조건**: "기획해줘", "분석해줘", "뭘 만들어야 할까"
|
|
360
422
|
**산출물**: `.agent/plan.json` (태스크, 우선순위, 의존성)
|
|
361
423
|
|
|
362
424
|
### frontend-agent
|
|
425
|
+
|
|
363
426
|
**발동 조건**: UI, 컴포넌트, 스타일링, 클라이언트 로직
|
|
364
427
|
**기술 스택**: Next.js 14, TypeScript, Tailwind CSS, shadcn/ui
|
|
365
428
|
|
|
366
429
|
### backend-agent
|
|
430
|
+
|
|
367
431
|
**발동 조건**: API, 데이터베이스, 인증
|
|
368
432
|
**기술 스택**: FastAPI, SQLAlchemy, PostgreSQL, Redis, JWT
|
|
369
433
|
|
|
370
434
|
### mobile-agent
|
|
435
|
+
|
|
371
436
|
**발동 조건**: 모바일 앱, iOS/Android
|
|
372
437
|
**기술 스택**: Flutter 3.19+, Dart, Riverpod
|
|
373
438
|
|
|
374
439
|
### qa-agent
|
|
440
|
+
|
|
375
441
|
**발동 조건**: "보안 검토해줘", "성능 확인", "감사해줘"
|
|
376
442
|
**검사 항목**: OWASP Top 10, Lighthouse, WCAG 2.1 AA
|
|
377
443
|
|
|
378
444
|
### debug-agent
|
|
445
|
+
|
|
379
446
|
**발동 조건**: 버그 리포트, 에러 메시지, 크래시
|
|
380
447
|
**산출물**: 수정된 코드, 회귀 테스트, 버그 문서
|
|
381
448
|
|
|
382
449
|
### orchestrator
|
|
450
|
+
|
|
383
451
|
**발동 조건**: 프로그래밍 방식의 서브에이전트 실행
|
|
384
452
|
**지원 CLI**: Gemini, Claude, Codex, Qwen (설정 가능)
|
|
385
453
|
|
|
386
454
|
### commit
|
|
455
|
+
|
|
387
456
|
**발동 조건**: "커밋해줘", "commit", "변경사항 저장"
|
|
388
457
|
**형식**: Conventional Commits + Co-Author 태그
|
|
389
458
|
**설정**: `.agent/skills/commit/config/commit-config.yaml`
|
|
390
459
|
|
|
391
|
-
## 사전 요구 사항
|
|
392
|
-
|
|
393
|
-
- **Google Antigravity** (2026+)
|
|
394
|
-
- **Bun** (CLI 및 대시보드용)
|
|
395
|
-
|
|
396
|
-
SubAgent Orchestrator를 사용하려면 최소 1개의 CLI 도구 필요:
|
|
397
|
-
|
|
398
|
-
| CLI | 설치 | 인증 |
|
|
399
|
-
|-----|------|------|
|
|
400
|
-
| Gemini | `bun install --global @anthropic-ai/gemini-cli` | `gemini auth` |
|
|
401
|
-
| Claude | `bun install --global @anthropic-ai/claude-code` | `claude auth` |
|
|
402
|
-
| Codex | `bun install --global @openai/codex` | `codex auth` |
|
|
403
|
-
| Qwen | `bun install --global @qwen-code/qwen` | `qwen auth` |
|
|
404
|
-
|
|
405
460
|
## CLI 명령어
|
|
406
461
|
|
|
407
462
|
```bash
|
|
@@ -414,20 +469,25 @@ bunx oh-my-ag stats --reset # 메트릭 초기화
|
|
|
414
469
|
bunx oh-my-ag retro # 세션 회고 (배운 점 & 다음 단계)
|
|
415
470
|
bunx oh-my-ag dashboard # 터미널 실시간 대시보드
|
|
416
471
|
bunx oh-my-ag dashboard:web # 웹 대시보드 (http://localhost:9847)
|
|
472
|
+
bunx oh-my-ag dashboard:web # 웹 대시보드 (http://localhost:9847)
|
|
473
|
+
bunx oh-my-ag bridge # MCP stdio - SSE 브릿지 (Serena용)
|
|
417
474
|
bunx oh-my-ag help # 도움말 표시
|
|
418
475
|
```
|
|
419
476
|
|
|
420
477
|
## 문제 해결
|
|
421
478
|
|
|
422
479
|
### 대시보드에 "No agents detected" 표시
|
|
480
|
+
|
|
423
481
|
메모리 파일이 아직 생성되지 않았습니다. Orchestrator를 실행하거나 `.serena/memories/`에 수동으로 파일을 생성하세요.
|
|
424
482
|
|
|
425
483
|
### Antigravity에서 스킬이 로드되지 않음
|
|
484
|
+
|
|
426
485
|
1. `antigravity open .`으로 프로젝트 열기
|
|
427
486
|
2. `.agent/skills/` 폴더와 `SKILL.md` 파일 확인
|
|
428
487
|
3. Antigravity IDE 재시작
|
|
429
488
|
|
|
430
489
|
### 에이전트 간 코드 불일치
|
|
490
|
+
|
|
431
491
|
1. `.gemini/antigravity/brain/`에서 산출물 검토
|
|
432
492
|
2. 다른 에이전트의 산출물을 참조하여 재생성
|
|
433
493
|
3. QA Agent로 최종 일관성 검사
|