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.
Files changed (77) hide show
  1. package/.agent/skills/_shared/api-contracts/README.md +56 -0
  2. package/.agent/skills/_shared/api-contracts/template.md +88 -0
  3. package/.agent/skills/_shared/clarification-protocol.md +217 -0
  4. package/.agent/skills/_shared/common-checklist.md +31 -0
  5. package/.agent/skills/_shared/context-budget.md +118 -0
  6. package/.agent/skills/_shared/context-loading.md +105 -0
  7. package/.agent/skills/_shared/difficulty-guide.md +55 -0
  8. package/.agent/skills/_shared/lessons-learned.md +113 -0
  9. package/.agent/skills/_shared/memory-protocol.md +79 -0
  10. package/.agent/skills/_shared/reasoning-templates.md +161 -0
  11. package/.agent/skills/_shared/skill-routing.md +80 -0
  12. package/.agent/skills/_shared/verify.sh +252 -0
  13. package/.agent/skills/backend-agent/SKILL.md +47 -0
  14. package/.agent/skills/backend-agent/resources/api-template.py +326 -0
  15. package/.agent/skills/backend-agent/resources/checklist.md +36 -0
  16. package/.agent/skills/backend-agent/resources/error-playbook.md +98 -0
  17. package/.agent/skills/backend-agent/resources/examples.md +85 -0
  18. package/.agent/skills/backend-agent/resources/execution-protocol.md +45 -0
  19. package/.agent/skills/backend-agent/resources/snippets.md +197 -0
  20. package/.agent/skills/backend-agent/resources/tech-stack.md +39 -0
  21. package/.agent/skills/commit/SKILL.md +121 -0
  22. package/.agent/skills/commit/config/commit-config.yaml +55 -0
  23. package/.agent/skills/commit/resources/conventional-commits.md +166 -0
  24. package/.agent/skills/debug-agent/SKILL.md +51 -0
  25. package/.agent/skills/debug-agent/resources/bug-report-template.md +332 -0
  26. package/.agent/skills/debug-agent/resources/checklist.md +30 -0
  27. package/.agent/skills/debug-agent/resources/common-patterns.md +734 -0
  28. package/.agent/skills/debug-agent/resources/debugging-checklist.md +362 -0
  29. package/.agent/skills/debug-agent/resources/error-playbook.md +94 -0
  30. package/.agent/skills/debug-agent/resources/examples.md +87 -0
  31. package/.agent/skills/debug-agent/resources/execution-protocol.md +51 -0
  32. package/.agent/skills/frontend-agent/SKILL.md +48 -0
  33. package/.agent/skills/frontend-agent/resources/checklist.md +38 -0
  34. package/.agent/skills/frontend-agent/resources/component-template.tsx +92 -0
  35. package/.agent/skills/frontend-agent/resources/error-playbook.md +108 -0
  36. package/.agent/skills/frontend-agent/resources/examples.md +77 -0
  37. package/.agent/skills/frontend-agent/resources/execution-protocol.md +49 -0
  38. package/.agent/skills/frontend-agent/resources/snippets.md +205 -0
  39. package/.agent/skills/frontend-agent/resources/tailwind-rules.md +343 -0
  40. package/.agent/skills/frontend-agent/resources/tech-stack.md +36 -0
  41. package/.agent/skills/mobile-agent/SKILL.md +46 -0
  42. package/.agent/skills/mobile-agent/resources/checklist.md +35 -0
  43. package/.agent/skills/mobile-agent/resources/error-playbook.md +106 -0
  44. package/.agent/skills/mobile-agent/resources/examples.md +79 -0
  45. package/.agent/skills/mobile-agent/resources/execution-protocol.md +49 -0
  46. package/.agent/skills/mobile-agent/resources/screen-template.dart +298 -0
  47. package/.agent/skills/mobile-agent/resources/snippets.md +235 -0
  48. package/.agent/skills/mobile-agent/resources/tech-stack.md +45 -0
  49. package/.agent/skills/orchestrator/SKILL.md +99 -0
  50. package/.agent/skills/orchestrator/config/cli-config.yaml +78 -0
  51. package/.agent/skills/orchestrator/resources/memory-schema.md +212 -0
  52. package/.agent/skills/orchestrator/resources/subagent-prompt-template.md +153 -0
  53. package/.agent/skills/orchestrator/scripts/parallel-run.sh +330 -0
  54. package/.agent/skills/orchestrator/scripts/spawn-agent.sh +263 -0
  55. package/.agent/skills/orchestrator/templates/backend-task.md +18 -0
  56. package/.agent/skills/orchestrator/templates/debug-task.md +16 -0
  57. package/.agent/skills/orchestrator/templates/frontend-task.md +17 -0
  58. package/.agent/skills/orchestrator/templates/mobile-task.md +17 -0
  59. package/.agent/skills/orchestrator/templates/qa-task.md +16 -0
  60. package/.agent/skills/orchestrator/templates/tasks-example.yaml +15 -0
  61. package/.agent/skills/pm-agent/SKILL.md +47 -0
  62. package/.agent/skills/pm-agent/resources/error-playbook.md +75 -0
  63. package/.agent/skills/pm-agent/resources/examples.md +121 -0
  64. package/.agent/skills/pm-agent/resources/execution-protocol.md +46 -0
  65. package/.agent/skills/pm-agent/resources/task-template.json +57 -0
  66. package/.agent/skills/qa-agent/SKILL.md +43 -0
  67. package/.agent/skills/qa-agent/resources/checklist.md +294 -0
  68. package/.agent/skills/qa-agent/resources/error-playbook.md +95 -0
  69. package/.agent/skills/qa-agent/resources/examples.md +100 -0
  70. package/.agent/skills/qa-agent/resources/execution-protocol.md +50 -0
  71. package/.agent/skills/qa-agent/resources/self-check.md +27 -0
  72. package/.agent/skills/workflow-guide/SKILL.md +57 -0
  73. package/.agent/skills/workflow-guide/resources/examples.md +68 -0
  74. package/README.ko.md +459 -0
  75. package/README.md +563 -0
  76. package/bin/cli.js +205 -0
  77. 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
+ ```