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,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" |
|