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-3/

{
  "context": "Tests whether the agent knows plugin-specific gotchas: CLAUDE.md as the ONLY cross-agent ground truth channel, context:fork creates ISOLATED blank context (inverted semantics — GH #20492), skills must be passed explicitly, echo-skills validation handshake, and AskUserQuestion unavailability.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "CLAUDE.md as ground truth channel",
      "description": "Configuration or context that must be available to all sub-agents is placed in CLAUDE.md — recognized as the ONLY cross-agent ground truth channel (not passed ad-hoc or assumed to be inherited)",
      "max_score": 20
    },
    {
      "name": "No context:fork misuse",
      "description": "Code does NOT use context:'fork' expecting it to copy parent context — OR if context:fork appears, a comment explicitly notes its inverted semantics: fork creates ISOLATED blank context, not a copy (GH #20492)",
      "max_score": 20
    },
    {
      "name": "Skills passed explicitly per sub-agent",
      "description": "Each sub-agent that needs skills has them passed explicitly (via AgentDefinition(skills=[...]) or inlined in prompt) rather than relying on implicit inheritance",
      "max_score": 16
    },
    {
      "name": "No AskUserQuestion in sub-agents",
      "description": "Sub-agent prompts or designs do NOT include instructions or code that would cause the sub-agent to call AskUserQuestion — this tool is unavailable in sub-agents (GH #34592)",
      "max_score": 14
    },
    {
      "name": "Echo validation present",
      "description": "At least one sub-agent has an echo-skills validation step (skills_echo JSON handshake) to confirm the skills handoff succeeded",
      "max_score": 16
    },
    {
      "name": "Cross-cutting vs per-agent distinction",
      "description": "The solution distinguishes between context that goes in CLAUDE.md (cross-cutting ground truth) and context passed per sub-agent (skill-specific) — does not conflate the two channels",
      "max_score": 14
    }
  ]
}

README.md

tile.json