CtrlK
BlogDocsLog inGet started
Tessl Logo

jbaruch/sub-agent-delegation

Meta-skill: how to pass skills/context to Claude sub-agents that start with fresh context, with documented SDK gotchas.

94

1.50x
Quality

94%

Does it follow best practices?

Impact

96%

1.50x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-1/

{
  "context": "Tests whether the agent knows plugin-specific gotchas: skills must be passed EXPLICITLY (they don't inherit), the echo-skills validation handshake protocol, failing loudly on skill mismatch, and AskUserQuestion unavailability in sub-agents.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Skills via AgentDefinition",
      "description": "Uses AgentDefinition(skills=[...]) to pass skills to the sub-agent — does NOT rely on skills being implicitly available or inherited from the parent agent",
      "max_score": 16
    },
    {
      "name": "Echo preamble in prompt",
      "description": "Constructs the sub-agent prompt with a preamble that instructs the sub-agent to echo skill names before doing anything else (the echo-skills validation handshake)",
      "max_score": 16
    },
    {
      "name": "SKILLS_ECHO JSON format",
      "description": "Sub-agent's first output uses the specific skills_echo protocol — a JSON line with key 'skills_echo' listing the received skills, e.g. {\"skills_echo\": [\"read_sensor\", \"write_config\"]}",
      "max_score": 14
    },
    {
      "name": "Orchestrator validates echo",
      "description": "After launching the sub-agent, the orchestrator parses the first response and checks whether the echoed skills match the expected set",
      "max_score": 16
    },
    {
      "name": "Fail loudly on mismatch",
      "description": "On echo mismatch the code raises RuntimeError or aborts with an error (does NOT silently continue with the task)",
      "max_score": 16
    },
    {
      "name": "No implicit skill assumption",
      "description": "Code does NOT assume sub-agent has access to skills that were not explicitly passed — treats skill inheritance as non-existent",
      "max_score": 10
    },
    {
      "name": "Missing/extra skills reported",
      "description": "The mismatch error message identifies which skills are missing and which are extra/unexpected",
      "max_score": 6
    },
    {
      "name": "No AskUserQuestion in sub-agent",
      "description": "Sub-agent design does NOT include calls to AskUserQuestion — this tool is unavailable in sub-agents (GH #34592)",
      "max_score": 6
    }
  ]
}

README.md

tile.json