plugins/plugin-agent-orchestrator/docs/default-eliza-skills-and-agent-bridge-plan.md
Date: 2026-05-10
Make Eliza's default task workers self-sufficient:
Repo-owned default skills live under:
packages/skills/skills/<slug>/SKILL.md
The @elizaos/skills package publishes those files. Runtime startup wires bundled, workspace, and extra skill roots through packages/agent/src/runtime/eliza.ts. Managed/workspace copies override bundled defaults.
Relevant shipped skills now include:
eliza for the running Eliza app, parent-agent callback protocol, capabilities, and lifecycle.elizaos for upstream runtime/plugin abstractions.eliza-app-development for this app repo's build and edit workflow.eliza-cloud for Cloud APIs, apps, credits, billing, containers, domains, auth, and earnings.build-monetized-app for the new-app deploy and monetization loop.task-agent-eliza-bridge for low-level task-agent bridge details.The task agent infrastructure is in plugins/plugin-agent-orchestrator.
Important surfaces:
src/services/acp-service.ts spawns ACP agents, records session metadata, and manages session lifecycle.src/actions/tasks.ts prepares ACP spawn/send/list/control requests through the single task-agent action surface.src/services/skill-manifest.ts renders the task-local manifest and virtual broker skills.src/services/skill-lifeops-context-broker.ts already exposes task-scoped LifeOps context.Current Cloud source-of-truth files:
cloud/apps/api/openapi.json/route.tscloud/packages/sdk/src/client.tscloud/packages/lib/services/ai-billing.ts, ai-pricing.ts, credits.tscloud/apps/api/v1/apps/[id]/chat/route.tscloud/apps/api/v1/chat/completions/route.tscloud/apps/api/v1/apps/[id]/monetization/route.tscloud/packages/lib/services/app-credits.tscloud/apps/api/cron/container-billing/route.tsActive app monetization is markup/share based. Inference in the current app-chat path debits the caller/user org credits and credits creator markup to redeemable earnings. App-credit purchase/share flows exist, but should not be assumed to fund inference unless the endpoint being edited explicitly does so.
Default skills remain bundled in @elizaos/skills and are seeded into the managed skills directory only when the user does not already have an editable copy.
Applications and workspaces can override defaults by placing a same-slug skill in a higher-priority skill root. This preserves:
SKILL.md bodies with longer references under references/The root scripts/ensure-skills.mjs now resolves the shipped skill tree from @elizaos/skills, then falls back to packages/skills/skills, then legacy skills/.
A new virtual broker skill, parent-agent, lets a child ask the running parent Eliza agent to use its loaded capabilities:
USE_SKILL parent-agent {"request":"Find the next open 30 minute slot on my calendar tomorrow afternoon"}
The broker builds a synthetic message memory and sends it through the parent's normal messageService.handleMessage(...) pipeline with continueAfterActions: true. This means the parent can use the same actions, providers, services, connectors, model handlers, confirmation policies, and user approval flow it already uses for normal chat.
It also supports action discovery:
USE_SKILL parent-agent {"mode":"list-actions","query":"github","limit":25}
Sensitive broker access is session allow-listed. The orchestrator includes parent-agent in generated manifests for coding-task sessions and registers the manifest slugs as the session allow-list.
SKILLS.md now tells workers to emit a standalone USE_SKILL <slug> <json_args> line. The orchestrator writes this manifest into the workspace and sets ELIZA_SKILLS_MANIFEST, so Codex/Claude/OpenCode workers can discover skill protocol without hardcoding.
The injected parent runtime memory also now explains:
ELIZA_SKILLS_MANIFEST / SKILLS.mdUSE_SKILL parent-agentUSE_SKILL lifeops-contextThe orchestrator-managed gitignore block now includes common generated agent files:
CLAUDE.md.claude/AGENTS.md.codex/.opencode/SKILLS.mdTracked repo files with the same names still need care; ignore rules only prevent new untracked files from being committed.
The child worker never receives the parent API key, full memory dump, or raw connector credentials.
Allowed paths:
USE_SKILL directives for session allow-listed skill/broker slugsDenied or discouraged paths:
@elizaos/skills is the bundled default source.Status: implemented for the default skill and broker surfaces.
eliza default skill and references.@elizaos/skills.parent-agent virtual broker.parent-agent in SKILLS.md and the session allow-list.Status: implemented.
Status: implemented.
Review focus:
Memory construction and messageService.handleMessage.SKILLS.md and parent memory text.AGENTS.md repos need a safer memory-file strategy than writing in the workspace root.Status: partially implemented. The first three are covered by code/tests; live OpenCode/Cerebras validation remains credential-gated.
Minimum local tests:
parent-agent broker list-actions, missing request, and message pipeline callback captureUSE_SKILL directive parsing and sensitive broker routing if practicalplugin-agent-orchestratorpackages/skills loader/frontmatter pathsscripts/ensure-skills.mjs against a temporary ELIZA_STATE_DIRLive validation:
SKILLS.md.gpt-oss-120b and verify it can emit USE_SKILL parent-agent ....Status: local unit/type/skills tests are implemented and passing. Live OpenCode/Cerebras/SWE benchmarking requires running services and credentials, so it remains follow-up unless the environment already has them active.
AGENTS.md can collide with repos that already track AGENTS.md. A safer strategy is needed for Codex memory injection in tracked-repo workspaces.The long-term target is not a hardcoded "agent helper" action. It is a capability broker:
The current implementation establishes the default skill surface and the child-to-parent request path needed for that architecture.