refactor: enforce layer responsibilities across all skills

Rewrote docs/standard.md as the single source of truth for skill
structure (menu/tools/recipes/manual analogy). Trimmed all SKILL.md
files to pure routers, moved recruitment workflow out of SKILL.md
into workflows/recruitment.md, removed duplicated standards from
workflow files.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
zhi
2026-04-17 20:40:16 +00:00
parent fd0f84d6b8
commit 795a710376
9 changed files with 238 additions and 301 deletions

View File

@@ -1,72 +1,18 @@
---
name: recruitment
description: Onboard new agents into OpenClaw. Use when creating a new agent, adding an agent to the system, or setting up a new agent workspace. Triggers on requests like "new agent", "add agent", "create agent", "recruit agent", "onboard agent".
description: Onboard new agents into OpenClaw. Triggers on "new agent", "add agent", "create agent", "recruit agent", "onboard agent".
---
# Recruitment Skill
Onboard new agents into OpenClaw with binding configuration.
## Usage
```bash
new-agent --type openclaw --agent-id <agent-id> [--model <primary-model>]
new-agent --type contractor --contractor-provider <claude|gemini> --agent-id <agent-id>
```
## Workflow
When a request to create a new agent is received, follow this workflow:
### Step 1 — Gather Requirements
Communicate with the requester to collect the following:
- New agent's `agent-id`
- New agent's primary model (`--model`)
- New agent's role and position
- Whether the agent is a contractor agent (default: not a contractor)
### Step 2 — Create Agent
Execute `{baseDir}/scripts/new-agent` with the gathered parameters:
```bash
# openclaw type
new-agent --type openclaw --agent-id <agent-id> --model <primary-model>
# contractor type
new-agent --type contractor --contractor-provider <claude|gemini> --agent-id <agent-id>
```
### Step 3 — Interview
Use the `create-discussion-channel` tool to start an interview with the new agent:
- Participant: `interviewee`
- Discussion guide: "<@YOUR_DISCORD_USER_ID> please refer to {baseDir}/workflow/interview.md"
> Note: Replace `YOUR_DISCORD_USER_ID` with your actual Discord user ID. If unsure, use `ego-mgr get discord-id` (via pcexec) to look it up.
After receiving the discussion callback, review the discussion summary:
- If it contains the agent's **name** and **gender** → proceed to Step 4
- If either field is missing → attempt to gather the missing information via another `create-discussion-channel` call
- If still unavailable → notify the requester and proceed without it
### Step 4 — Onboard
Use `proxy-pcexec` to call `{baseDir}/scripts/onboard`:
- `proxy-for`: new agent's `agent-id`
- Parameters: `--name`, `--role`, `--position`, `--gender`, `--bot-token`
### Step 5 — Report
Notify the requester that onboarding is complete.
> Scripts must be executed via `pcexec`. The onboard script uses `proxy-pcexec`.
## Scripts
### new-agent
| Command | Description |
|---------|-------------|
| `{baseDir}/scripts/new-agent --type openclaw --agent-id <id> [--model <model>]` | Create and register an OpenClaw agent |
| `{baseDir}/scripts/new-agent --type contractor --contractor-provider <claude\|gemini> --agent-id <id>` | Create and register a contractor agent |
| `{baseDir}/scripts/onboard --name <name> --role <role> --position <pos> --gender <gender> --bot-token <token>` | Set up agent identity and Discord binding (call via `proxy-pcexec` with `proxy-for: <agent-id>`) |
Creates and registers the agent, then configures the `interviewee` Discord account binding.
## Workflows
### onboard
Sets up ego-mgr identity fields and configures the agent's Discord account using the name/gender collected during interview.
- `{baseDir}/workflows/recruitment.md` — Full onboarding flow: gather requirements, create agent, interview, onboard, report.