oh-my-ag 1.2.0
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/_shared/api-contracts/README.md +56 -0
- package/.agent/skills/_shared/api-contracts/template.md +88 -0
- package/.agent/skills/_shared/clarification-protocol.md +217 -0
- package/.agent/skills/_shared/common-checklist.md +31 -0
- package/.agent/skills/_shared/context-budget.md +118 -0
- package/.agent/skills/_shared/context-loading.md +105 -0
- package/.agent/skills/_shared/difficulty-guide.md +55 -0
- package/.agent/skills/_shared/lessons-learned.md +113 -0
- package/.agent/skills/_shared/memory-protocol.md +79 -0
- package/.agent/skills/_shared/reasoning-templates.md +161 -0
- package/.agent/skills/_shared/skill-routing.md +80 -0
- package/.agent/skills/_shared/verify.sh +252 -0
- package/.agent/skills/backend-agent/SKILL.md +47 -0
- package/.agent/skills/backend-agent/resources/api-template.py +326 -0
- package/.agent/skills/backend-agent/resources/checklist.md +36 -0
- package/.agent/skills/backend-agent/resources/error-playbook.md +98 -0
- package/.agent/skills/backend-agent/resources/examples.md +85 -0
- package/.agent/skills/backend-agent/resources/execution-protocol.md +45 -0
- package/.agent/skills/backend-agent/resources/snippets.md +197 -0
- package/.agent/skills/backend-agent/resources/tech-stack.md +39 -0
- package/.agent/skills/commit/SKILL.md +121 -0
- package/.agent/skills/commit/config/commit-config.yaml +55 -0
- package/.agent/skills/commit/resources/conventional-commits.md +166 -0
- package/.agent/skills/debug-agent/SKILL.md +51 -0
- package/.agent/skills/debug-agent/resources/bug-report-template.md +332 -0
- package/.agent/skills/debug-agent/resources/checklist.md +30 -0
- package/.agent/skills/debug-agent/resources/common-patterns.md +734 -0
- package/.agent/skills/debug-agent/resources/debugging-checklist.md +362 -0
- package/.agent/skills/debug-agent/resources/error-playbook.md +94 -0
- package/.agent/skills/debug-agent/resources/examples.md +87 -0
- package/.agent/skills/debug-agent/resources/execution-protocol.md +51 -0
- package/.agent/skills/frontend-agent/SKILL.md +48 -0
- package/.agent/skills/frontend-agent/resources/checklist.md +38 -0
- package/.agent/skills/frontend-agent/resources/component-template.tsx +92 -0
- package/.agent/skills/frontend-agent/resources/error-playbook.md +108 -0
- package/.agent/skills/frontend-agent/resources/examples.md +77 -0
- package/.agent/skills/frontend-agent/resources/execution-protocol.md +49 -0
- package/.agent/skills/frontend-agent/resources/snippets.md +205 -0
- package/.agent/skills/frontend-agent/resources/tailwind-rules.md +343 -0
- package/.agent/skills/frontend-agent/resources/tech-stack.md +36 -0
- package/.agent/skills/mobile-agent/SKILL.md +46 -0
- package/.agent/skills/mobile-agent/resources/checklist.md +35 -0
- package/.agent/skills/mobile-agent/resources/error-playbook.md +106 -0
- package/.agent/skills/mobile-agent/resources/examples.md +79 -0
- package/.agent/skills/mobile-agent/resources/execution-protocol.md +49 -0
- package/.agent/skills/mobile-agent/resources/screen-template.dart +298 -0
- package/.agent/skills/mobile-agent/resources/snippets.md +235 -0
- package/.agent/skills/mobile-agent/resources/tech-stack.md +45 -0
- package/.agent/skills/orchestrator/SKILL.md +99 -0
- package/.agent/skills/orchestrator/config/cli-config.yaml +78 -0
- package/.agent/skills/orchestrator/resources/memory-schema.md +212 -0
- package/.agent/skills/orchestrator/resources/subagent-prompt-template.md +153 -0
- package/.agent/skills/orchestrator/scripts/parallel-run.sh +330 -0
- package/.agent/skills/orchestrator/scripts/spawn-agent.sh +263 -0
- package/.agent/skills/orchestrator/templates/backend-task.md +18 -0
- package/.agent/skills/orchestrator/templates/debug-task.md +16 -0
- package/.agent/skills/orchestrator/templates/frontend-task.md +17 -0
- package/.agent/skills/orchestrator/templates/mobile-task.md +17 -0
- package/.agent/skills/orchestrator/templates/qa-task.md +16 -0
- package/.agent/skills/orchestrator/templates/tasks-example.yaml +15 -0
- package/.agent/skills/pm-agent/SKILL.md +47 -0
- package/.agent/skills/pm-agent/resources/error-playbook.md +75 -0
- package/.agent/skills/pm-agent/resources/examples.md +121 -0
- package/.agent/skills/pm-agent/resources/execution-protocol.md +46 -0
- package/.agent/skills/pm-agent/resources/task-template.json +57 -0
- package/.agent/skills/qa-agent/SKILL.md +43 -0
- package/.agent/skills/qa-agent/resources/checklist.md +294 -0
- package/.agent/skills/qa-agent/resources/error-playbook.md +95 -0
- package/.agent/skills/qa-agent/resources/examples.md +100 -0
- package/.agent/skills/qa-agent/resources/execution-protocol.md +50 -0
- package/.agent/skills/qa-agent/resources/self-check.md +27 -0
- package/.agent/skills/workflow-guide/SKILL.md +57 -0
- package/.agent/skills/workflow-guide/resources/examples.md +68 -0
- package/README.ko.md +459 -0
- package/README.md +563 -0
- package/bin/cli.js +205 -0
- package/package.json +75 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# QA Agent - Error Recovery Playbook
|
|
2
|
+
|
|
3
|
+
When you encounter a failure during review, follow these recovery steps.
|
|
4
|
+
Do NOT stop or ask for help until you have exhausted the playbook.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Automated Tool Fails to Run
|
|
9
|
+
|
|
10
|
+
**Symptoms**: `npm audit`, `bandit`, `lighthouse` command errors
|
|
11
|
+
|
|
12
|
+
1. Check: is the tool installed? Note missing tool in result
|
|
13
|
+
2. Check: are you in the correct directory?
|
|
14
|
+
3. If `npm audit`: try `npm audit --production` to skip devDependencies
|
|
15
|
+
4. If `bandit`: check Python path — may need `python -m bandit`
|
|
16
|
+
5. If `lighthouse`: requires a running server — note if server not available
|
|
17
|
+
6. **도구 없으면**: 수동 리뷰로 대체, result에 `tool_unavailable: ["tool_name"]` 기록
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## False Positive Suspected
|
|
22
|
+
|
|
23
|
+
**Symptoms**: Finding looks like a vulnerability but might be safe
|
|
24
|
+
|
|
25
|
+
1. Trace the data flow — does user input actually reach the dangerous operation?
|
|
26
|
+
2. Check: is there validation/sanitization upstream?
|
|
27
|
+
3. Check: is the framework handling this automatically? (e.g., ORM prevents SQL injection)
|
|
28
|
+
4. If uncertain: mark severity as `MEDIUM` with note "verify manually"
|
|
29
|
+
5. **절대 하지 말 것**: 확신 없이 CRITICAL로 마킹 — 잘못된 경보는 신뢰를 떨어뜨림
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Cannot Access Source Code
|
|
34
|
+
|
|
35
|
+
**Symptoms**: Serena `find_symbol` returns nothing, file not found
|
|
36
|
+
|
|
37
|
+
1. Check: correct file path? Use `search_for_pattern` with broader terms
|
|
38
|
+
2. Check: is the code in a different directory or monorepo?
|
|
39
|
+
3. Use `get_symbols_overview` on parent directories to find the structure
|
|
40
|
+
4. If truly inaccessible: review what you CAN access and note gaps in report
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Performance Metrics Unavailable
|
|
45
|
+
|
|
46
|
+
**Symptoms**: Can't run Lighthouse, no APM data, no load test results
|
|
47
|
+
|
|
48
|
+
1. Check if dev server is running for Lighthouse
|
|
49
|
+
2. If no server: review code statically for performance anti-patterns:
|
|
50
|
+
- N+1 queries (loops with DB calls)
|
|
51
|
+
- Missing pagination
|
|
52
|
+
- Large bundle imports
|
|
53
|
+
- No code splitting
|
|
54
|
+
3. Report findings with `static_analysis_only: true` flag
|
|
55
|
+
4. Recommend specific metrics to measure when environment is available
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Scope Too Large
|
|
60
|
+
|
|
61
|
+
**Symptoms**: Full audit requested but codebase has 100+ files
|
|
62
|
+
|
|
63
|
+
1. Prioritize: auth/security-critical files first
|
|
64
|
+
2. Use pattern search to find high-risk areas:
|
|
65
|
+
- `search_for_pattern("password|secret|token|api_key")`
|
|
66
|
+
- `search_for_pattern("execute|eval|innerHTML")`
|
|
67
|
+
3. Review critical paths: auth flow, payment, data mutation
|
|
68
|
+
4. Note in report: `scope_coverage: "critical paths only, full audit requires more"`
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Rate Limit / Quota Error
|
|
73
|
+
|
|
74
|
+
**Symptoms**: `429`, `RESOURCE_EXHAUSTED`, `rate limit exceeded`
|
|
75
|
+
|
|
76
|
+
1. **즉시 멈춤** — 추가 API 호출 하지 말 것
|
|
77
|
+
2. 현재까지 작업을 `progress-{agent-id}.md`에 저장
|
|
78
|
+
3. `result-{agent-id}.md`에 Status: `quota_exceeded` 기록
|
|
79
|
+
4. 남은 작업 목록을 명시
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Serena Memory 접근 불가
|
|
84
|
+
|
|
85
|
+
1. 1회 재시도
|
|
86
|
+
2. 2회 연속 실패: 로컬 파일 `/tmp/progress-{agent-id}.md` 사용
|
|
87
|
+
3. result에 `memory_fallback: true` 플래그 추가
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 일반 원칙
|
|
92
|
+
|
|
93
|
+
- **오탐 방지**: 확신 없는 finding은 severity 낮추고 "verify manually" 표시
|
|
94
|
+
- **막힘**: 5턴 이상 진전 없으면 현재 상태 저장, `Status: blocked`
|
|
95
|
+
- **수정 금지**: QA는 리포트만 — 코드 수정은 해당 에이전트에게 위임
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# QA Agent - Examples
|
|
2
|
+
|
|
3
|
+
## Example 1: Security Audit
|
|
4
|
+
|
|
5
|
+
**Input**: "Review the authentication system for security issues"
|
|
6
|
+
|
|
7
|
+
**Output**:
|
|
8
|
+
```
|
|
9
|
+
# QA Report: Authentication System
|
|
10
|
+
Status: FAIL
|
|
11
|
+
|
|
12
|
+
## Security Audit
|
|
13
|
+
|
|
14
|
+
### CRITICAL
|
|
15
|
+
1. **SQL Injection** - backend/api/users.py:45
|
|
16
|
+
- Raw string interpolation in query
|
|
17
|
+
- Fix: Use parameterized query or ORM
|
|
18
|
+
|
|
19
|
+
2. **Missing Rate Limiting** - backend/api/auth.py:23
|
|
20
|
+
- Login endpoint has no rate limiting
|
|
21
|
+
- Fix: Add @limiter.limit("5/minute")
|
|
22
|
+
|
|
23
|
+
### Passed
|
|
24
|
+
- [x] Passwords hashed with bcrypt (cost 12)
|
|
25
|
+
- [x] JWT properly signed with RS256
|
|
26
|
+
- [x] Refresh token rotation implemented
|
|
27
|
+
- [x] CORS configured (not wildcard)
|
|
28
|
+
|
|
29
|
+
## Recommendations
|
|
30
|
+
### High Priority (Before Launch)
|
|
31
|
+
1. Fix SQL injection in users.py:45
|
|
32
|
+
2. Add rate limiting to auth endpoints
|
|
33
|
+
3. Add account lockout after 10 failed attempts
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Example 2: Performance Review
|
|
37
|
+
|
|
38
|
+
**Input**: "Check frontend performance - users report slow load times"
|
|
39
|
+
|
|
40
|
+
**Output**:
|
|
41
|
+
```
|
|
42
|
+
# QA Report: Frontend Performance
|
|
43
|
+
Status: WARNING
|
|
44
|
+
|
|
45
|
+
## Performance
|
|
46
|
+
- Lighthouse Score: 67/100 [FAIL - Target > 90]
|
|
47
|
+
- FCP: 2.8s [FAIL - Target < 1.5s]
|
|
48
|
+
- LCP: 4.1s [FAIL - Target < 2.5s]
|
|
49
|
+
- Bundle: 1.2MB [FAIL - Target < 500KB]
|
|
50
|
+
- CLS: 0.05 [PASS]
|
|
51
|
+
|
|
52
|
+
## Root Causes
|
|
53
|
+
1. Full lodash import (72KB) - src/utils/helpers.ts:1
|
|
54
|
+
2. No code splitting on routes - src/app/layout.tsx
|
|
55
|
+
3. Unoptimized images (3 x 2MB PNGs) - public/images/
|
|
56
|
+
|
|
57
|
+
## Recommendations
|
|
58
|
+
### High Priority
|
|
59
|
+
1. Tree-shake lodash: `import uniq from 'lodash/uniq'`
|
|
60
|
+
2. Add dynamic imports: `const Page = dynamic(() => import(...))`
|
|
61
|
+
3. Convert images to WebP, add width/height, loading="lazy"
|
|
62
|
+
|
|
63
|
+
### Expected After Fix
|
|
64
|
+
- Bundle: ~350KB (-70%)
|
|
65
|
+
- FCP: ~1.2s
|
|
66
|
+
- Lighthouse: ~92
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Example 3: Full Pre-Launch Audit
|
|
70
|
+
|
|
71
|
+
**Input**: "Complete QA review before production deployment"
|
|
72
|
+
|
|
73
|
+
**Output**:
|
|
74
|
+
```
|
|
75
|
+
# QA Report: Pre-Launch Audit
|
|
76
|
+
Status: WARNING
|
|
77
|
+
|
|
78
|
+
## Summary
|
|
79
|
+
- Security: 0 CRITICAL, 1 HIGH, 2 MEDIUM
|
|
80
|
+
- Performance: PASS (all targets met)
|
|
81
|
+
- Accessibility: 1 HIGH, 3 MEDIUM
|
|
82
|
+
- Test Coverage: 83% [PASS]
|
|
83
|
+
|
|
84
|
+
## High Priority (Block Launch)
|
|
85
|
+
1. [SECURITY-HIGH] Missing CSRF protection on POST endpoints
|
|
86
|
+
2. [A11Y-HIGH] Login form has no aria-labels
|
|
87
|
+
|
|
88
|
+
## Medium Priority (Fix This Sprint)
|
|
89
|
+
1. [SECURITY-MED] API error responses expose stack traces
|
|
90
|
+
2. [SECURITY-MED] No Content-Security-Policy header
|
|
91
|
+
3. [A11Y-MED] Color contrast 3.8:1 on secondary text (need 4.5:1)
|
|
92
|
+
4. [A11Y-MED] Missing skip-to-content link
|
|
93
|
+
5. [A11Y-MED] Focus indicator invisible on dark theme
|
|
94
|
+
|
|
95
|
+
## Sign-Off
|
|
96
|
+
- [x] No CRITICAL vulnerabilities
|
|
97
|
+
- [ ] No HIGH vulnerabilities (2 remaining)
|
|
98
|
+
- [x] Performance targets met
|
|
99
|
+
- [x] Test coverage > 80%
|
|
100
|
+
```
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# QA Agent - Execution Protocol
|
|
2
|
+
|
|
3
|
+
## Step 0: Prepare
|
|
4
|
+
1. **Assess difficulty** — see `../_shared/difficulty-guide.md`
|
|
5
|
+
- **Simple**: Quick security + quality check | **Medium**: Full 4 steps | **Complex**: Full + prioritized scope
|
|
6
|
+
2. **Check lessons** — read QA section in `../_shared/lessons-learned.md`
|
|
7
|
+
3. **Clarify requirements** — follow `../_shared/clarification-protocol.md`
|
|
8
|
+
- Check **Uncertainty Triggers**: 보안/인증 관련, 기존 코드 충돌 가능성?
|
|
9
|
+
- Determine level: LOW → proceed | MEDIUM → present options | HIGH → ask immediately
|
|
10
|
+
4. **Budget context** — follow `../_shared/context-budget.md` (prioritize high-risk files)
|
|
11
|
+
5. **After review**: add recurring issues to `../_shared/lessons-learned.md`
|
|
12
|
+
|
|
13
|
+
**⚠️ Intelligent Escalation**: When uncertain, escalate early. Don't blindly proceed.
|
|
14
|
+
|
|
15
|
+
Follow these steps in order (adjust depth by difficulty).
|
|
16
|
+
|
|
17
|
+
## Step 1: Scope
|
|
18
|
+
- Identify what to review: new feature, full audit, or specific concern
|
|
19
|
+
- List all files/modules to inspect
|
|
20
|
+
- Determine review depth: quick check vs. comprehensive audit
|
|
21
|
+
- Use Serena to map the codebase:
|
|
22
|
+
- `get_symbols_overview("src/")`: Understand structure
|
|
23
|
+
- `search_for_pattern("password.*=.*[\"']")`: Find hardcoded secrets
|
|
24
|
+
- `search_for_pattern("execute.*\\$\\{")`: Find SQL injection
|
|
25
|
+
- `search_for_pattern("innerHTML")`: Find XSS vulnerabilities
|
|
26
|
+
|
|
27
|
+
## Step 2: Audit
|
|
28
|
+
Review in this priority order:
|
|
29
|
+
1. **Security** (CRITICAL): OWASP Top 10, auth, injection, data protection
|
|
30
|
+
2. **Performance**: API latency, N+1 queries, bundle size, Core Web Vitals
|
|
31
|
+
3. **Accessibility**: WCAG 2.1 AA, keyboard nav, screen reader, contrast
|
|
32
|
+
4. **Code Quality**: test coverage, complexity, architecture adherence
|
|
33
|
+
|
|
34
|
+
Use `resources/checklist.md` (renamed qa-checklist) as the comprehensive review guide.
|
|
35
|
+
|
|
36
|
+
## Step 3: Report
|
|
37
|
+
Generate structured report with:
|
|
38
|
+
- Overall status: PASS / WARNING / FAIL
|
|
39
|
+
- Findings grouped by severity (CRITICAL > HIGH > MEDIUM > LOW)
|
|
40
|
+
- Each finding: file:line, description, remediation code
|
|
41
|
+
- Performance metrics vs. targets
|
|
42
|
+
|
|
43
|
+
## Step 4: Verify
|
|
44
|
+
- Run `resources/self-check.md` to verify your own review quality
|
|
45
|
+
- Ensure no false positives (each finding is real and reproducible)
|
|
46
|
+
- Confirm remediation suggestions are correct and complete
|
|
47
|
+
- Run `../_shared/common-checklist.md` for general quality
|
|
48
|
+
|
|
49
|
+
## On Error
|
|
50
|
+
See `resources/error-playbook.md` for recovery steps.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# QA Agent - Self-Check
|
|
2
|
+
|
|
3
|
+
Verify your own review quality before submitting the QA report.
|
|
4
|
+
|
|
5
|
+
## Completeness
|
|
6
|
+
- [ ] All files in scope were reviewed (none skipped)
|
|
7
|
+
- [ ] Security section covers OWASP Top 10 categories
|
|
8
|
+
- [ ] Performance metrics include actual numbers vs. targets
|
|
9
|
+
- [ ] Accessibility check covers Perceivable, Operable, Understandable, Robust
|
|
10
|
+
|
|
11
|
+
## Accuracy
|
|
12
|
+
- [ ] Every finding includes file path and line number
|
|
13
|
+
- [ ] Every finding is reproducible (not speculative)
|
|
14
|
+
- [ ] No false positives (double-check edge cases)
|
|
15
|
+
- [ ] Severity ratings are consistent (CRITICAL = data loss/security breach)
|
|
16
|
+
|
|
17
|
+
## Actionability
|
|
18
|
+
- [ ] Every finding has a specific remediation step
|
|
19
|
+
- [ ] Remediation code examples are correct and complete
|
|
20
|
+
- [ ] Priorities are clearly ordered (what to fix first)
|
|
21
|
+
- [ ] Estimated impact is noted for performance issues
|
|
22
|
+
|
|
23
|
+
## Report Quality
|
|
24
|
+
- [ ] Overall status (PASS/WARNING/FAIL) matches findings
|
|
25
|
+
- [ ] Report is scannable (headers, bullets, status tags)
|
|
26
|
+
- [ ] No duplicate findings
|
|
27
|
+
- [ ] Sign-off checklist included for launch decisions
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: multi-agent-workflow
|
|
3
|
+
description: Guide for coordinating PM, Frontend, Backend, Mobile, and QA agents on complex projects via CLI
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Multi-Agent Workflow Guide
|
|
7
|
+
|
|
8
|
+
## When to use
|
|
9
|
+
- Complex feature spanning multiple domains (full-stack, mobile)
|
|
10
|
+
- Coordination needed between frontend, backend, mobile, and QA
|
|
11
|
+
- User wants step-by-step guidance for multi-agent coordination
|
|
12
|
+
|
|
13
|
+
## When NOT to use
|
|
14
|
+
- Simple single-domain task -> use the specific agent directly
|
|
15
|
+
- User wants automated execution -> use orchestrator
|
|
16
|
+
- Quick bug fixes or minor changes
|
|
17
|
+
|
|
18
|
+
## Core Rules
|
|
19
|
+
1. Always start with PM Agent for task decomposition
|
|
20
|
+
2. Spawn independent tasks in parallel (same priority tier)
|
|
21
|
+
3. Define API contracts before frontend/mobile tasks
|
|
22
|
+
4. QA review is always the final step
|
|
23
|
+
5. Assign separate workspaces to avoid file conflicts
|
|
24
|
+
6. Always use Serena MCP tools as the primary method for code exploration and modification
|
|
25
|
+
7. Never skip steps in the workflow — follow each step sequentially without omission
|
|
26
|
+
|
|
27
|
+
## Workflow
|
|
28
|
+
|
|
29
|
+
### Step 1: Plan with PM Agent
|
|
30
|
+
PM Agent analyzes requirements, selects tech stack, creates task breakdown with priorities.
|
|
31
|
+
|
|
32
|
+
### Step 2: Spawn Agents by Priority
|
|
33
|
+
Spawn agents via CLI:
|
|
34
|
+
1. Use spawn-agent.sh for each task
|
|
35
|
+
2. CLI selection follows agent_cli_mapping in user-preferences.yaml
|
|
36
|
+
3. Spawn all same-priority tasks in parallel using background processes
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# Example: spawn backend and frontend in parallel
|
|
40
|
+
.agent/skills/orchestrator/scripts/spawn-agent.sh backend "task description" ./backend &
|
|
41
|
+
.agent/skills/orchestrator/scripts/spawn-agent.sh frontend "task description" ./frontend &
|
|
42
|
+
wait
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Step 3: Monitor & Coordinate
|
|
46
|
+
- Use memory read tool to poll `progress-{agent}.md` files
|
|
47
|
+
- Verify API contracts align between agents
|
|
48
|
+
- Ensure shared data models are consistent
|
|
49
|
+
|
|
50
|
+
### Step 4: QA Review
|
|
51
|
+
Spawn QA Agent last to review all deliverables. Address CRITICAL issues by re-spawning agents.
|
|
52
|
+
|
|
53
|
+
## Automated Alternative
|
|
54
|
+
For fully automated execution without manual spawning, use the **orchestrator** skill instead.
|
|
55
|
+
|
|
56
|
+
## References
|
|
57
|
+
- Workflow examples: `resources/examples.md`
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Workflow Guide - Examples
|
|
2
|
+
|
|
3
|
+
## Example 1: Full-Stack TODO App
|
|
4
|
+
|
|
5
|
+
**Input**: "JWT 인증이 있는 TODO 앱을 만들어줘"
|
|
6
|
+
|
|
7
|
+
**Workflow**:
|
|
8
|
+
```
|
|
9
|
+
Step 1: PM Agent plans the project
|
|
10
|
+
-> 5 tasks: auth API, CRUD API, login UI, todo UI, QA review
|
|
11
|
+
|
|
12
|
+
Step 2: Spawn Priority 1 agents via CLI
|
|
13
|
+
# Run in parallel using background processes
|
|
14
|
+
.agent/skills/orchestrator/scripts/spawn-agent.sh backend "JWT authentication API + TODO CRUD" ./backend &
|
|
15
|
+
.agent/skills/orchestrator/scripts/spawn-agent.sh frontend "Login/Register UI" ./frontend &
|
|
16
|
+
wait
|
|
17
|
+
|
|
18
|
+
Step 3: Monitor progress
|
|
19
|
+
- Use memory read tool to poll progress-{agent}.md files
|
|
20
|
+
- Verify API contracts align between backend/frontend
|
|
21
|
+
|
|
22
|
+
Step 4: Spawn Priority 2 after P1 completes
|
|
23
|
+
.agent/skills/orchestrator/scripts/spawn-agent.sh frontend "TODO List UI" ./frontend
|
|
24
|
+
|
|
25
|
+
Step 5: Spawn Priority 3
|
|
26
|
+
.agent/skills/orchestrator/scripts/spawn-agent.sh qa "Security + Performance review" .
|
|
27
|
+
|
|
28
|
+
Step 6: Address QA findings
|
|
29
|
+
- Re-spawn agents for CRITICAL/HIGH issues
|
|
30
|
+
- Verify fixes
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Example 2: Adding Feature to Existing App
|
|
34
|
+
|
|
35
|
+
**Input**: "블로그에 댓글 기능을 추가해줘"
|
|
36
|
+
|
|
37
|
+
**Workflow**:
|
|
38
|
+
```
|
|
39
|
+
Step 1: PM Agent analyzes existing codebase and plans
|
|
40
|
+
-> 2 tasks: Comments API, Comment Section UI
|
|
41
|
+
|
|
42
|
+
Step 2: Spawn Backend Agent first (API-first)
|
|
43
|
+
.agent/skills/orchestrator/scripts/spawn-agent.sh backend "Comments API with nested replies, pagination" ./backend
|
|
44
|
+
|
|
45
|
+
Step 3: After backend completes, spawn Frontend Agent
|
|
46
|
+
.agent/skills/orchestrator/scripts/spawn-agent.sh frontend "Comment section UI using the new API endpoints" ./frontend
|
|
47
|
+
(Sequential because frontend depends on API contracts)
|
|
48
|
+
|
|
49
|
+
Step 4: QA review
|
|
50
|
+
.agent/skills/orchestrator/scripts/spawn-agent.sh qa "Security: XSS in comments, rate limiting; Performance: Pagination, N+1 queries" .
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Example 3: When to Use Orchestrator Instead
|
|
54
|
+
|
|
55
|
+
**User**: "자동으로 실행해줘" / "Run everything automatically"
|
|
56
|
+
|
|
57
|
+
**Response**:
|
|
58
|
+
```
|
|
59
|
+
"You want fully automated execution. Let me switch to the
|
|
60
|
+
orchestrator skill instead, which will:
|
|
61
|
+
1. Spawn CLI subagents automatically
|
|
62
|
+
2. Coordinate via Serena Memory
|
|
63
|
+
3. Monitor progress and handle retries
|
|
64
|
+
4. Return unified results
|
|
65
|
+
|
|
66
|
+
Use workflow-guide when you want step-by-step control.
|
|
67
|
+
Use orchestrator when you want hands-off automation."
|
|
68
|
+
```
|