You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(agent): manager asks admin before assigning tasks to workers
- Add Step 0 to Task Workflow: when no worker is specified, manager
checks existing workers/workload and presents options (assign to
existing worker, create new worker, or handle itself)
- Self-handling is listed last with a security note about broader
system access vs isolated workers
- find-skills configuration (Step 4) moved from SKILL.md into AGENTS.md
to keep interaction logic centralized; SKILL.md now only covers ops
- Post-creation greeting added: manager @mentions new worker to
introduce themselves, then reminds admin to @mention when giving tasks
- YOLO mode default changed to auto-create worker instead of self-handle
Copy file name to clipboardExpand all lines: manager/agent/AGENTS.md
+78Lines changed: 78 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -94,6 +94,84 @@ Skills provide your tools. When you need one, check its `SKILL.md`. Keep local n
94
94
95
95
## Task Workflow
96
96
97
+
### Step 0: Worker Availability Check (when no Worker is explicitly specified)
98
+
99
+
When the human admin assigns a task **without explicitly naming a Worker**, you MUST first assess whether a Worker is needed and offer options before proceeding.
100
+
101
+
**Trigger condition**: Admin gives you a task but does NOT say "assign to [worker]" or "let [worker] do this".
102
+
103
+
**Step 1 — Check existing Workers:**
104
+
105
+
```bash
106
+
cat ~/workers-registry.json
107
+
```
108
+
109
+
Also check current workload:
110
+
111
+
```bash
112
+
cat ~/state.json
113
+
```
114
+
115
+
**Step 2 — Present options to the admin:**
116
+
117
+
Based on what you find, present a message like:
118
+
119
+
> You've assigned me a task: **{task title}**
120
+
>
121
+
> How would you like to handle this?
122
+
>
123
+
> **Option A — Assign to an existing Worker***(only if idle Workers exist)*
124
+
> {For each idle Worker: "**{name}**: {role/description from their SOUL.md} — currently idle"}
125
+
>
126
+
> **Option B — Create a new Worker**
127
+
> I'll create a dedicated Worker for this task. Suggested configurations:
128
+
> -**{Suggested name}** (e.g., `coder-01`): Focused on {relevant role based on task type}. Skills: {relevant skills}. Model: {default model}.
> *(You can also describe a custom Worker configuration.)*
132
+
>
133
+
> **Option C — I'll handle it myself**
134
+
> I'll work on this directly. Note: I run with broader system access than Workers — for tasks involving external code, third-party skills, or untrusted inputs, using an isolated Worker is safer.
135
+
>
136
+
> Which option do you prefer?
137
+
138
+
**Step 3 — Act on the admin's choice:**
139
+
140
+
| Choice | Action |
141
+
|--------|--------|
142
+
| Existing Worker name / Option A | Proceed to "Before Assigning Tasks" section below, assign to that Worker |
143
+
| "Create a Worker" / Option B (with or without customization) | Ask about find-skills (Step 4), then follow the worker-management skill to create the Worker, then assign the task |
144
+
| Custom Worker description | Use the description to configure and create the Worker (ask about find-skills first), then assign the task |
145
+
| "Handle it yourself" / Option C | Proceed to work on the task directly, without creating a task directory or assigning to a Worker |
146
+
147
+
**Step 4 — Find-Skills configuration (only when creating a new Worker):**
148
+
149
+
Check the current default:
150
+
```bash
151
+
echo"${HICLAW_SKILLS_API_URL:-not set (will use https://skills.sh)}"
152
+
```
153
+
154
+
Ask the admin:
155
+
156
+
> **Find-Skills** — Workers can discover and install new skills from the Agent Skills ecosystem to extend their capabilities. Workers run in isolated containers and cannot access your personal data.
157
+
>
158
+
> Current default registry: `${HICLAW_SKILLS_API_URL:-https://skills.sh}`
159
+
>
160
+
> 1.**Enable** (Recommended) — Worker can search and install skills
161
+
> 2.**Disable** — Worker uses only pre-installed skills
162
+
>
163
+
> If enabled, enter a custom registry URL or leave empty to use the default.
164
+
165
+
Record `enable_find_skills` (true/false) and `skills_api_url` (custom URL or empty), then pass to `create-worker.sh` via `--find-skills` / `--skills-api-url`.
166
+
167
+
**Skip this step when:**
168
+
- The admin explicitly names a Worker ("assign to alice", "let bob handle this")
169
+
- The admin explicitly says "do it yourself" or "handle it"
170
+
- This is a heartbeat-triggered infinite task (already assigned)
171
+
- YOLO mode is active (`$HICLAW_YOLO = "1"`) — in that case, create a Worker autonomously unless the task is trivial enough to handle directly
172
+
173
+
---
174
+
97
175
### Before Assigning Tasks: Container Status Check (if container API is available)
98
176
99
177
Before assigning any task (finite or triggering an infinite task) to a Worker:
Copy file name to clipboardExpand all lines: manager/agent/skills/worker-management/SKILL.md
+20-28Lines changed: 20 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,36 +29,14 @@ No need to set defaults - these are always available in the container environmen
29
29
30
30
## Create a Worker
31
31
32
-
### Step 0: Ask Admin about Find-Skills (IMPORTANT)
32
+
### Step 0: Receive configuration from AGENTS.md interaction
33
33
34
-
**Before creating any Worker, you MUST ask the admin about find-skills configuration.**
35
-
36
-
> **Note**: If the environment variable `HICLAW_SKILLS_API_URL` is set (configured during Manager installation), it will be used automatically as the default skills registry URL. The admin can override it per-worker, or leave it empty to accept the default.
37
-
38
-
Check the current default first:
39
-
```bash
40
-
echo"${HICLAW_SKILLS_API_URL:-not set (will use https://skills.sh)}"
41
-
```
42
-
43
-
Ask the admin:
44
-
45
-
> **Find-Skills Configuration**
46
-
>
47
-
> Workers can discover and install new skills from the Agent Skills ecosystem (skills.sh) to extend their capabilities.
48
-
>
49
-
> **Security Note**: Workers run in completely isolated containers and **cannot access any of admin's personal sensitive data**. You can safely enable this feature.
50
-
>
51
-
> Current default skills registry: `${HICLAW_SKILLS_API_URL:-https://skills.sh}`
52
-
>
53
-
> Please choose:
54
-
> 1.**Enable find-skills** (Recommended) - Worker can search and install skills
55
-
> 2.**Disable** - Worker can only use pre-installed skills from Manager
56
-
>
57
-
> If enabled, do you want to use a different registry URL than the default? (Leave empty to keep current default)
58
-
59
-
Wait for admin's response and record:
34
+
By the time you reach this skill, the admin has already confirmed:
35
+
- Worker name, role description, and any custom model/MCP server preferences
60
36
-`enable_find_skills`: true/false
61
-
-`skills_api_url`: custom URL or empty (default: https://skills.sh)
37
+
-`skills_api_url`: custom URL or empty (uses `${HICLAW_SKILLS_API_URL:-https://skills.sh}` as default)
38
+
39
+
These are determined during the Task Workflow Step 0 / Step 4 interaction in AGENTS.md. Do not re-ask.
Once the Worker is confirmed `ready`, send a message in the Worker's Room to kick off the introduction:
144
+
145
+
```
146
+
@<WORKER_NAME>:${HICLAW_MATRIX_DOMAIN} You're all set! Please introduce yourself to everyone in this room.
147
+
```
148
+
149
+
The Worker will greet the room. After the Worker's greeting, send a follow-up addressed to the admin:
150
+
151
+
```
152
+
@${HICLAW_ADMIN_USER}:${HICLAW_MATRIX_DOMAIN} <WORKER_NAME> is ready. When giving them tasks or instructions, remember to @mention them so they see your message.
0 commit comments