Skip to content

Specification Clarification: Inconsistent Skill-to-Skill Invocation Behavior Between Implementations #95

@ShotaOki

Description

@ShotaOki

Summary

The Agent Skills specification does not define rules for skill-to-skill invocation.
Since it is explicitly documented that Skills can call MCP tools, it seems natural that Skills should also be able to call other Skills.
However, when examining actual implementations, Claude Code's system prompt for skills imposes several restrictions. It assumes execution within the "main conversation" (system prompt reference) and includes detailed restrictions to prevent infinite loops by limiting same-skill invocations.
When I tested GitHub Copilot in VSCode 1.107, these restrictions were not present.

Concrete Example

Consider a /review-and-commit skill:

  • Case A (skill-to-skill invocation allowed): Can invoke /review and /commit → Works
  • Case B (skill-to-skill invocation not allowed): Cannot invoke from within skill → Fails

When running with GitHub Copilot in VSCode, it exhibited behavior A.
When running with Claude Code, it exhibited behavior B, citing that the skill context is not the "main conversation."

Problem Statement

The following issues exist:

  • Agent Skills aims to provide portability through a common format, but interpretations differ across implementations, causing the same skill to behave differently.
  • Undocumented restrictions are applied to skills, and these restrictions vary by environment, making them impossible for developers to anticipate.

Proposed Solution

Please explicitly document in the specification that skill-to-skill invocation is allowed and is the correct behavior.

If restrictions such as infinite loop prevention measures or nesting depth limits are necessary for safety, please document those specific restrictions while maintaining the core capability of skill composition.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions