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,78 @@
1
+ # SubAgent CLI Configuration
2
+ # Select your preferred CLI vendor for sub-agent execution
3
+
4
+ # Default CLI vendor (used as fallback when user-preferences.yaml is not configured)
5
+ # For per-agent CLI mapping, see: .agent/config/user-preferences.yaml
6
+ active_vendor: gemini
7
+
8
+ # Vendor configurations
9
+ vendors:
10
+ gemini:
11
+ command: gemini
12
+ prompt_flag: "-p"
13
+ output_format_flag: "--output-format"
14
+ output_format: "json"
15
+ auto_approve_flag: "--approval-mode=yolo"
16
+ model_flag: "-m"
17
+ default_model: "gemini-2.5-pro"
18
+ include_dirs_flag: "--include-directories"
19
+ # JSON output parsing
20
+ response_jq: ".response"
21
+ # Isolation: gemini uses current directory context
22
+ isolation_method: "directory"
23
+
24
+ claude:
25
+ command: claude
26
+ prompt_flag: "-p"
27
+ output_format_flag: "--output-format"
28
+ output_format: "json"
29
+ auto_approve_flag: "--dangerously-skip-permissions"
30
+ model_flag: "--model"
31
+ default_model: "sonnet"
32
+ # Additional flags to isolate from global settings
33
+ isolation_flags: "--setting-sources \"\""
34
+ # JSON output parsing
35
+ response_jq: ".result"
36
+ isolation_method: "flags"
37
+
38
+ codex:
39
+ command: codex
40
+ prompt_flag: "-p"
41
+ output_format_flag: "--output-format"
42
+ output_format: "json"
43
+ auto_approve_flag: "--full-auto"
44
+ model_flag: "-m"
45
+ default_model: "codex-3"
46
+ # Environment variable for isolation
47
+ isolation_env: "CODEX_HOME=/tmp/codex-subagent-$$"
48
+ response_jq: ".response"
49
+ isolation_method: "env"
50
+
51
+ qwen:
52
+ command: qwen
53
+ prompt_flag: "-p"
54
+ output_format_flag: "--format"
55
+ output_format: "json"
56
+ auto_approve_flag: "--auto"
57
+ model_flag: "--model"
58
+ default_model: "qwen3-coder"
59
+ response_jq: ".output"
60
+ isolation_method: "directory"
61
+
62
+ # SubAgent execution settings
63
+ execution:
64
+ # Directory for subagent results
65
+ results_dir: ".agent/results"
66
+ # Timeout in seconds (0 = no timeout)
67
+ timeout: 600
68
+ # Log level: debug, info, warn, error
69
+ log_level: info
70
+ # Keep intermediate files for debugging
71
+ keep_temp_files: false
72
+
73
+ # Workspace configuration for parallel execution
74
+ workspaces:
75
+ backend: "./backend"
76
+ frontend: "./frontend"
77
+ mobile: "./mobile"
78
+ shared: "./shared"
@@ -0,0 +1,212 @@
1
+ # MCP Memory Schema for Multi-Agent Orchestration
2
+
3
+ ## Overview
4
+
5
+ Each subagent writes only to its own dedicated files. The orchestrator manages session-level files. This ownership model prevents write conflicts between concurrent agents.
6
+
7
+ ## Configuration
8
+
9
+ Memory base path and tool names are configurable via `mcp.json`:
10
+ ```json
11
+ {
12
+ "memoryConfig": {
13
+ "basePath": ".serena/memories",
14
+ "tools": {
15
+ "read": "read_memory",
16
+ "write": "write_memory",
17
+ "edit": "edit_memory"
18
+ }
19
+ }
20
+ }
21
+ ```
22
+
23
+ Default base path: `.serena/memories`
24
+
25
+ ## File Structure
26
+
27
+ ```
28
+ {memoryConfig.basePath}/
29
+ orchestrator-session.md # Session metadata (orchestrator only)
30
+ task-board.md # Master task list (orchestrator writes, agents read)
31
+ progress-{agent-id}.md # Per-agent progress log (owning agent only)
32
+ result-{agent-id}.md # Per-agent final result (owning agent only)
33
+ ```
34
+
35
+ ## orchestrator-session.md
36
+
37
+ Created by the orchestrator at session start. Updated throughout execution.
38
+
39
+ ```markdown
40
+ # Orchestrator Session
41
+ ## ID: session-{YYYYMMDD}-{HHMMSS}
42
+ ## Started: {ISO timestamp}
43
+ ## Status: running | completed | failed | aborted
44
+
45
+ ## Agents
46
+ | Agent ID | CLI | PID | Status | Task |
47
+ |----------|-----|-----|--------|------|
48
+ | backend | gemini | 12345 | running | task-1 |
49
+ | frontend | gemini | 12346 | completed | task-2 |
50
+ | mobile | claude | 12347 | running | task-3 |
51
+
52
+ ## Configuration
53
+ - MAX_PARALLEL: 3
54
+ - MAX_RETRIES: 2
55
+ - POLL_INTERVAL: 30s
56
+
57
+ ## Summary (filled on completion)
58
+ - Total Tasks: X
59
+ - Completed: X
60
+ - Failed: X
61
+ - Files Created: [list]
62
+ - Issues: [list]
63
+ ```
64
+
65
+ ## task-board.md
66
+
67
+ Master task list created by the orchestrator. Subagents read this to understand their assignment but never write to it.
68
+
69
+ ```markdown
70
+ # Task Board
71
+ ## Session: session-{YYYYMMDD}-{HHMMSS}
72
+
73
+ ### task-1
74
+ - **Agent**: backend
75
+ - **CLI**: gemini
76
+ - **Title**: JWT authentication API
77
+ - **Status**: pending | in_progress | completed | failed | blocked
78
+ - **Priority**: 1
79
+ - **Dependencies**: none
80
+ - **Description**: Implement user registration and login with JWT tokens
81
+ - **Acceptance Criteria**:
82
+ - POST /api/auth/register with email + password
83
+ - POST /api/auth/login returns access + refresh tokens
84
+ - Password hashing with bcrypt
85
+ - Rate limiting on auth endpoints
86
+
87
+ ### task-2
88
+ - **Agent**: frontend
89
+ - **CLI**: gemini
90
+ - **Title**: Login and registration UI
91
+ - **Status**: pending
92
+ - **Priority**: 1
93
+ - **Dependencies**: none
94
+ - **Description**: Build login and registration forms with validation
95
+ - **Acceptance Criteria**:
96
+ - Login form with email + password
97
+ - Registration form with validation
98
+ - Error handling for failed auth
99
+ - JWT token storage and auto-refresh
100
+
101
+ ### task-3
102
+ - **Agent**: qa
103
+ - **CLI**: gemini
104
+ - **Title**: Security and performance review
105
+ - **Status**: blocked
106
+ - **Priority**: 2
107
+ - **Dependencies**: task-1, task-2
108
+ - **Description**: Review all deliverables for security and performance
109
+ - **Acceptance Criteria**:
110
+ - OWASP Top 10 security check
111
+ - Performance benchmarks pass
112
+ - No critical or high severity issues
113
+ ```
114
+
115
+ ## progress-{agent-id}.md
116
+
117
+ Each agent creates this file at start and appends entries every 3-5 turns. Only the owning agent writes to this file.
118
+
119
+ ```markdown
120
+ # Progress: backend
121
+ ## Task: task-1
122
+ ## Agent ID: backend
123
+ ## Started: {ISO timestamp}
124
+
125
+ ### Turn 1 - {ISO timestamp}
126
+ - **Action**: Reading task-board.md and understanding requirements
127
+ - **Status**: in_progress
128
+ - **Details**: Identified 4 acceptance criteria for JWT auth API
129
+
130
+ ### Turn 5 - {ISO timestamp}
131
+ - **Action**: Created user model and auth endpoints
132
+ - **Status**: in_progress
133
+ - **Details**: Implemented POST /api/auth/register and /api/auth/login
134
+ - **Files**: app/models/user.py, app/api/auth.py
135
+
136
+ ### Turn 12 - {ISO timestamp}
137
+ - **Action**: Added tests and rate limiting
138
+ - **Status**: in_progress
139
+ - **Details**: 15 test cases passing, rate limiter configured
140
+
141
+ ### Turn 18 - {ISO timestamp}
142
+ - **Action**: All acceptance criteria met
143
+ - **Status**: completed
144
+ - **Summary**: JWT auth API fully implemented with tests
145
+ ```
146
+
147
+ ## result-{agent-id}.md
148
+
149
+ Each agent creates this file upon completion (success or failure). Only the owning agent writes to this file.
150
+
151
+ ```markdown
152
+ # Result: backend
153
+ ## Task: task-1
154
+ ## Status: completed
155
+ ## Turns Used: 18
156
+
157
+ ## Summary
158
+ Implemented JWT authentication API with user registration, login,
159
+ password hashing (bcrypt), and rate limiting.
160
+
161
+ ## Files Created/Modified
162
+ - `app/models/user.py` (NEW) - User model with password hashing
163
+ - `app/api/auth.py` (NEW) - Auth endpoints
164
+ - `app/middleware/rate_limit.py` (NEW) - Rate limiting middleware
165
+ - `tests/test_auth.py` (NEW) - 15 test cases
166
+ - `alembic/versions/001_create_users.py` (NEW) - Migration
167
+
168
+ ## Acceptance Criteria
169
+ - [x] POST /api/auth/register with email + password
170
+ - [x] POST /api/auth/login returns access + refresh tokens
171
+ - [x] Password hashing with bcrypt
172
+ - [x] Rate limiting on auth endpoints
173
+
174
+ ## Issues Encountered
175
+ - None
176
+
177
+ ## Notes
178
+ - Access token expiry: 15 minutes
179
+ - Refresh token expiry: 7 days
180
+ - Rate limit: 5 requests/minute on login endpoint
181
+ ```
182
+
183
+ ### Failed Result Example
184
+
185
+ ```markdown
186
+ # Result: backend
187
+ ## Task: task-1
188
+ ## Status: failed
189
+ ## Turns Used: 20
190
+
191
+ ## Summary
192
+ Unable to complete JWT auth API. Database connection issues prevented testing.
193
+
194
+ ## Files Created/Modified
195
+ - `app/models/user.py` (NEW) - User model (untested)
196
+ - `app/api/auth.py` (NEW) - Auth endpoints (untested)
197
+
198
+ ## Acceptance Criteria
199
+ - [x] POST /api/auth/register with email + password
200
+ - [x] POST /api/auth/login returns access + refresh tokens
201
+ - [x] Password hashing with bcrypt
202
+ - [ ] Rate limiting on auth endpoints (NOT DONE)
203
+
204
+ ## Issues Encountered
205
+ - PostgreSQL connection refused on localhost:5432
206
+ - Could not run integration tests
207
+ - Rate limiting implementation incomplete due to turn limit
208
+
209
+ ## Notes
210
+ - Needs database running to complete testing
211
+ - Rate limiting code is written but untested
212
+ ```
@@ -0,0 +1,153 @@
1
+ # Subagent Prompt Template
2
+
3
+ This template is used by the orchestrator to construct self-contained prompts for CLI subagents launched via `gemini -p "..." --approval-mode=yolo`.
4
+
5
+ ## Template
6
+
7
+ The orchestrator fills in the `{placeholders}` and passes the assembled prompt to `gemini -p`.
8
+
9
+ ---
10
+
11
+ ```
12
+ You are a {AGENT_ROLE} working as part of an automated multi-agent system.
13
+ You have been assigned a specific task and must complete it autonomously.
14
+
15
+ ## Your Expertise
16
+
17
+ {AGENT_SKILL_CONTENT}
18
+
19
+ ## Assigned Task
20
+
21
+ **Task ID**: {TASK_ID}
22
+ **Title**: {TASK_TITLE}
23
+ **Priority**: {TASK_PRIORITY}
24
+
25
+ ### Description
26
+ {TASK_DESCRIPTION}
27
+
28
+ ### Acceptance Criteria
29
+ {ACCEPTANCE_CRITERIA}
30
+
31
+ ## Working Directory
32
+ {WORKSPACE_PATH}
33
+
34
+ ## Turn Limit
35
+ You have a maximum of {MAX_TURNS} turns to complete this task.
36
+ If you are running low on turns, prioritize:
37
+ 1. Save your current progress to the result file
38
+ 2. Document what remains incomplete
39
+ 3. Ensure created files are in a usable state
40
+
41
+ ## MCP Memory Protocol
42
+
43
+ You have access to MCP memory tools for shared state coordination.
44
+ Tool names are configurable via `mcp.json → memoryConfig.tools`:
45
+ - `[READ]` → default: `read_memory`
46
+ - `[WRITE]` → default: `write_memory`
47
+ - `[EDIT]` → default: `edit_memory`
48
+
49
+ Follow this protocol exactly:
50
+
51
+ ### On Start (Turn 1)
52
+ 1. Read your task assignment:
53
+ ```
54
+ [READ]("task-board.md")
55
+ ```
56
+ 2. Create your progress file:
57
+ ```
58
+ [WRITE]("progress-{AGENT_ID}.md", initial content)
59
+ ```
60
+ Initial content:
61
+ ```markdown
62
+ # Progress: {AGENT_ID}
63
+ ## Task: {TASK_ID}
64
+ ## Agent ID: {AGENT_ID}
65
+ ## Started: {current ISO timestamp}
66
+
67
+ ### Turn 1 - {current ISO timestamp}
68
+ - **Action**: Reading task assignment and planning approach
69
+ - **Status**: in_progress
70
+ ```
71
+
72
+ ### During Execution (Every 3-5 Turns)
73
+ Update your progress file by appending a new turn entry:
74
+ ```
75
+ [EDIT]("progress-{AGENT_ID}.md", append turn entry)
76
+ ```
77
+
78
+ Turn entry format:
79
+ ```markdown
80
+ ### Turn {N} - {current ISO timestamp}
81
+ - **Action**: {what you did}
82
+ - **Status**: in_progress
83
+ - **Details**: {specifics}
84
+ - **Files**: {files created or modified, if any}
85
+ ```
86
+
87
+ ### On Completion
88
+ Create your result file:
89
+ ```
90
+ [WRITE]("result-{AGENT_ID}.md", final result)
91
+ ```
92
+
93
+ Result format:
94
+ ```markdown
95
+ # Result: {AGENT_ID}
96
+ ## Task: {TASK_ID}
97
+ ## Status: completed
98
+ ## Turns Used: {N}
99
+
100
+ ## Summary
101
+ {Brief summary of what was accomplished}
102
+
103
+ ## Files Created/Modified
104
+ {List each file with NEW or MODIFIED tag and brief description}
105
+
106
+ ## Acceptance Criteria
107
+ {Checklist of acceptance criteria with [x] or [ ]}
108
+
109
+ ## Issues Encountered
110
+ {Any issues, or "None"}
111
+
112
+ ## Notes
113
+ {Any additional notes for the orchestrator or other agents}
114
+ ```
115
+
116
+ ### On Failure
117
+ If you cannot complete the task, still create the result file:
118
+ - Set Status to `failed`
119
+ - List what was completed and what remains
120
+ - Describe the error or blocker in Issues Encountered
121
+
122
+ ### On Turn Limit Approaching
123
+ If you reach turn {MAX_TURNS_WARNING} (3 turns before limit):
124
+ 1. Immediately update progress with current state
125
+ 2. Create result file with whatever is complete
126
+ 3. Set Status to `completed` if criteria are met, `failed` if not
127
+
128
+ ## Rules
129
+
130
+ 1. **Stay in scope**: Only work on your assigned task. Do not modify files outside your task's domain.
131
+ 2. **No destructive actions without checking**: Before deleting or overwriting files, verify they belong to your task scope.
132
+ 3. **Write tests**: Include tests for any code you create.
133
+ 4. **Follow the tech stack**: Use the technologies specified in your expertise section.
134
+ 5. **Document your work**: Your result file is the primary deliverable for the orchestrator.
135
+ ```
136
+
137
+ ---
138
+
139
+ ## Placeholder Reference
140
+
141
+ | Placeholder | Source | Example |
142
+ |-------------|--------|---------|
143
+ | `{AGENT_ROLE}` | Agent SKILL.md title | "Backend Specialist" |
144
+ | `{AGENT_ID}` | Task assignment | "backend" |
145
+ | `{AGENT_SKILL_CONTENT}` | Agent SKILL.md (tech stack, architecture, checklist sections) | Full markdown content |
146
+ | `{TASK_ID}` | task-board.md | "task-1" |
147
+ | `{TASK_TITLE}` | task-board.md | "JWT authentication API" |
148
+ | `{TASK_PRIORITY}` | task-board.md | "1" |
149
+ | `{TASK_DESCRIPTION}` | task-board.md | Full description text |
150
+ | `{ACCEPTANCE_CRITERIA}` | task-board.md | Bulleted list |
151
+ | `{WORKSPACE_PATH}` | Orchestrator config | "/path/to/project" |
152
+ | `{MAX_TURNS}` | Orchestrator config | "20" |
153
+ | `{MAX_TURNS_WARNING}` | MAX_TURNS - 3 | "17" |