Feature: per-agent skill scoping for TeamCreate teammates

Resolved 💬 4 comments Opened Apr 8, 2026 by TPEmist Closed May 21, 2026

Problem

When using Agent Teams (TeamCreate), all teammates load the same skill set from ~/.claude/skills/. There's no way to scope which skills are available to each teammate.

In a multi-agent architecture where different agents have distinct roles (e.g., Secretary, Head of Engineering, Strategy Advisor), each agent sees skills that aren't relevant to their role:

  • Secretary sees /ship, /qa, /review (engineering skills it should never invoke)
  • Head of Engineering sees /secretary, /marketing-growth (management skills irrelevant to its role)
  • Strategy Advisor sees /cso, /investigate (debugging tools it doesn't need)

This wastes context tokens (~4.3k for 34 skill stubs) and creates ambiguity about which agent should invoke which skill.

Proposed Solution

Allow skill scoping at the agent level. Possible approaches:

Option A: TeamCreate parameter

{
  "team_name": "project",
  "teammates": [
    {
      "name": "head-of-eng",
      "skills": ["ship", "review", "qa", "health", "cso", "investigate"]
    },
    {
      "name": "secretary", 
      "skills": ["secretary", "handoff", "engineering-ops", "marketing-growth"]
    }
  ]
}

Option B: Agent definition file

In .claude/agents/head-of-eng.md frontmatter:

skills:
  include: [ship, review, qa, health, cso]
  # or
  exclude: [secretary, marketing-growth, user-feedback]

Option C: Skill-level role tags

In each skill's frontmatter:

roles: [engineering, devops]  # only load for agents with matching role

Why This Matters

Multi-agent architectures benefit from separation of concerns. When agents have distinct roles with independent skill sets, they:

  1. Don't accidentally invoke skills outside their domain
  2. Use fewer context tokens (only load relevant stubs)
  3. Have clearer decision boundaries
  4. Can be reasoned about independently

Current Workaround

We enforce skill boundaries via SOP documents (e.g., "Secretary must not run /ship"), but this is behavioral guidance, not a hard constraint. Agents can still see and invoke any skill.

Environment

  • Claude Code 2.1.92
  • CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
  • 34 skills loaded from ~/.claude/skills/

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗