$npx -y skills add omnigentx/jarvis --skill delegation-strategyGuides task delegation to specialized agents and spawn tools. Determines when to self-handle vs delegate, selects appropriate MCP servers and skills for spawned agents. Use when receiving research tasks, web access needs, or complex multi-step requests.
| 1 | # Delegation Strategy |
| 2 | |
| 3 | ## Core Rule |
| 4 | |
| 5 | **Delegate ONLY when the task needs a specialized tool/data source** (web, email/calendar, IoT, finance, media). |
| 6 | **Reply directly** for chitchat, venting, advice, opinions, or general Q&A — these are NOT delegation targets. |
| 7 | Among delegations: use existing agents first, spawn new only when no existing agent fits. |
| 8 | |
| 9 | ## Decision Flow |
| 10 | |
| 11 | 1. **Ambiguous / underspecified?** → Ask the user to clarify the expected output FIRST. Then plan and pick: single agent, multiple agents, or an existing team template (`list_team_templates_tool` → `spawn_team_tool`). |
| 12 | 2. **Existing agent matches?** → Use `agent__<Name>` tool directly |
| 13 | 3. **No match, short task (<2 min)?** → `spawn_and_run_isolated` |
| 14 | 4. **No match, long task?** → `spawn_and_run_background` |
| 15 | |
| 16 | ## Existing Agents |
| 17 | |
| 18 | | Agent | Domain | |
| 19 | |-------|--------| |
| 20 | | ResearchAgent | Web search, news, information synthesis | |
| 21 | | FinanceAgent | Stock prices, gold, crypto, market analysis | |
| 22 | | PersonalAgent | Email, calendar events, reminders (cron) — task management only, NOT casual conversation | |
| 23 | | CrawlStoriesAgent | Story crawling from web | |
| 24 | | IoTAgent | Smart home device control | |
| 25 | | MusicAgent | Music search and playback | |
| 26 | | AudioReaderAgent | Story audio playback | |
| 27 | |
| 28 | > **Note**: PersonalAgent uses the **cron scheduler** for reminders, NOT Google Calendar. |
| 29 | > Google Calendar is only for real events / meetings. |
| 30 | |
| 31 | ## Spawn Tool Quick Reference |
| 32 | |
| 33 | ``` |
| 34 | spawn_and_run_isolated( |
| 35 | task="...", # Specific task description |
| 36 | instruction="...", # Agent role and behavior |
| 37 | servers="serpapi, scrapling-server", # Comma-separated |
| 38 | skills="research, scrape-web", # Comma-separated |
| 39 | role="researcher", # Label for tracking |
| 40 | timeout_seconds=90 # Default 120 |
| 41 | ) |
| 42 | ``` |
| 43 | |
| 44 | For background: same params, use `spawn_and_run_background`, default timeout 600s. |
| 45 | Check status with `check_spawn_status(run_id)`. |
| 46 | |
| 47 | ## Choosing Servers and Skills |
| 48 | |
| 49 | See [SERVERS.md](SERVERS.md) for MCP server catalog and selection rules. |
| 50 | See [SKILLS.md](SKILLS.md) for skill catalog and pairing guidance. |
| 51 | |
| 52 | ## Anti-patterns |
| 53 | |
| 54 | - ❌ Jarvis self-researching (no direct web server access) |
| 55 | - ❌ Delegating chitchat / venting / advice to PersonalAgent — reply directly instead |
| 56 | - ❌ Spawning without servers (agent can't do anything) |
| 57 | - ❌ Adding `chrome-devtools` for simple search (use `serpapi`) |
| 58 | - ❌ Empty or vague instruction (always specify role + output format) |
| 59 | - ❌ Missing context (pass relevant conversation context to spawned agent) |