Agent skills
An agent skill is a package of instructions, usually a folder with a SKILL.md file, that an AI agent loads when a task calls for it. Once there are many skills, the question is how they work together: whether one skill can call, reference or hand work to another, whether they share terms and state, and what happens when a named skill is missing. The specifications and tools that exist define almost nothing for this (Agent Skills, n.d.), so composition is mostly done in prose and left to the model. Its main disputes are whether skills should depend on one another at all, whether prose references are reliable, and how far the analogy to software modules holds. Evaluating whether a skill works at all is a separate topic (Evaluating agent instructions).
History
How skills emerged and how the specification developed is not yet covered; this section needs a source.
Core concepts
What a skill specification provides
The open Agent Skills specification lists the front matter fields name, description, license, compatibility, metadata and allowed-tools. None of them declares a dependency on, or invokes, another skill (Agent Skills, n.d.). The compatibility field is free text about environment requirements (Agent Skills, n.d.), and allowed-tools, a list of pre-approved tools, is marked experimental, with support varying between implementations (Agent Skills, n.d.). The only cross-file mechanism is a relative file reference inside one skill, kept one level deep (Agent Skills, n.d.).
Harnesses (the programs that run an agent) add their own mechanisms, none of them a skill-to-skill call:
- In Claude Code, the model can invoke any skill through a Skill tool unless the skill sets
disable-model-invocation; specific skills can be allowed or denied withSkill(name)permission rules (Anthropic, n.d.c). A skill can run in a forked subagent (context: fork) that does not see the conversation, so it has to stand alone, and anagentfield picks the subagent type (Anthropic, n.d.c). Subagents can preload skills, with full content injected at startup (Anthropic, n.d.c). Its allowed-tools only pre-approves tools and is not a dependency mechanism, and it accepts but ignores the compatibility field (Anthropic, n.d.c). Users can stack several skills by naming them in one message; the page describes no skill-to-skill invocation (Anthropic, n.d.c). - Hermes shows a skill only when named toolsets are present (
requires_toolsets) or only when they are missing (fallback_for_toolsets), a dependency on tools rather than on other skills (Nous Research, n.d.). It also groups skills into bundles and allows chaining slash commands in one message (Nous Research, n.d.). - Codex declares tool dependencies, not skill dependencies, in
openai.yaml, and lets a skill opt out of implicit invocation while an explicit$skillmention still works (OpenAI, n.d.). - Cursor documents no skill-to-skill reference;
disable-model-invocationmakes a skill explicit-only (Cursor, n.d.).
Claude Code does support declared dependencies one level up, between plugins that can carry skills: they are listed in plugin.json and auto-installed with version ranges (Anthropic, n.d.d).
How skills are made to work together in practice
With no declared link, composition happens by instruction. A tutorial describes skills as unable to call each other directly; a skill body can tell Claude to invoke others by name, which makes it an orchestrating skill (Claude with Skills, n.d.). The same tutorial says each sub-skill remains usable alone while the orchestrator only chains them (Claude with Skills, n.d.). A second practitioner source describes the model, not the skills, as the coordinator that carries one skill’s result to the next (MindStudio, 2026). Both are low-trust sources without measurements.
Terms for working together
The vocabulary is loose. One guide uses layering for several skills active in one context, delegation for one skill invoking another in a forked, isolated context, a pipeline for sequential chaining with output handed on, and fan-out for one orchestrator invoking several skills in parallel (Lip, 2026). Another source uses layering for the opposite structure, a higher-level skill orchestrating lower-level ones, and chaining for one skill’s output feeding another (Dubois, 2026). Claude Code’s documentation uses stacking for the user naming several skills at the start of one message (Anthropic, n.d.c). A vendor page about agents, not skills, separates composability as a design property from chaining as fixed-order execution and orchestration as a central agent decomposing and delegating work at runtime (Ayswarrya G, 2026).
Shared terms, output formats and handoff files
Anthropic’s authoring guide, which says nothing on one skill referencing another (Anthropic, n.d.e), gives advice that carries over to handoffs. It tells authors to pick one term per concept and keep it (Anthropic, n.d.e), and to use output templates, strict when consumers need an exact structure and flexible otherwise (Anthropic, n.d.e). It recommends an intermediate plan file validated before execution, so a later step can check an earlier step’s output (Anthropic, n.d.e), and file references kept one level deep because Claude may read nested ones only partially (Anthropic, n.d.e). One practitioner source recommends each chained skill declare an input schema and a predictable output format (MindStudio, 2026). For the shared-understanding side of handoffs between an agent and a person, see Common ground.
Analogies from software modularity
Writers map skills onto software ideas. A preprint on authoring skills defines a skill that relies on another’s internal behaviour or output format as coupled to it, so a change to one can break the other, says dependencies should be few and explicit, and recommends a single responsibility per skill (Destefanis, 2026). A blog maps composition onto Unix pipes, with the agent as the shell, and skill metadata onto C header files separating interface from implementation, and warns against mega-skills (Botticelli, 2026). Another applies the Unix rule of one job per program to prompts, noting that in 2023 no pipe equivalent existed for language models (Rickard, 2023). The peer-reviewed precedent is Decomposed Prompting (ICLR 2023), which presents prompt modules for sub-tasks that can be optimised and replaced independently (Khot et al., 2023); it concerns prompt modules, not skills. An author arguing for an import system notes that a missing or ambiguous skill fails quietly in lazy loaders, unlike module systems, and that dependency resolution should fail before the agent runs (Pan, 2026a).
Questions, controversies, and new developments
Should skills depend on each other?
A measurement study of over 1.43 million skills found that only 8.92% have direct skill dependencies, fewer than package (15.48%) or external-service (22.25%) dependencies (Jia et al., 2026). It reports no standard dependency declaration and rare dependency-like fields (Jia et al., 2026), with reuse concentrated in a few targets (Jia et al., 2026). Almost a third of skills that have dependencies sit in a reference cycle (Jia et al., 2026), and risk travels along these links: some skills inherit malicious signals only transitively, and mutually referencing skills form clusters where a flaw in one propagates to all (Jia et al., 2026). Dependency information is mostly implicit, and the authors recommend typed dependency manifests (Jia et al., 2026). The opposing practitioner position is that a skill should be usable alone and that an orchestrator, not the skills, should hold the links (Claude with Skills, n.d.).
Do agents follow a skill named inside another skill?
Weak evidence
Adjacent evidence is thin. In Vercel’s evals the agent never invoked an available skill in 56% of cases by default, and an explicit instruction raised triggering to 95% or more and the pass rate to 79% (Gao, 2026a); explicit instructions in the agent’s own configuration also helped (Gao, 2026a). In one author’s tests, hook-based prompting gave 20% activation with a simple instruction versus 84% with forced evaluation, and multi-skill prompts were where the simple hook failed (Spence, 2025). A preprint says the decision to apply a skill, by matching its description, is probabilistic and nothing confirms the right skill fired (Destefanis, 2026). These figures concern a model choosing a skill, not one skill naming another, and the model and case count behind the Vercel figures are not stated.
User bug reports describe related failures in Claude Code: a parent skill that stops after a nested skill finishes, never running its later steps, without needing a forked context (jaried (GitHub user), 2026); explicit “mandatory continuation” text in the parent that did not prevent the halt (version 2.1.23, Opus 4.5) (virhdr (GitHub user), 2026); and an agent that skipped a skill its own instructions required, running the workflow from memory and missing a phase (coreyDavisFF (GitHub user), 2026). Whether later versions fixed the halting is unknown.
What goes wrong at the seams
Weak evidence
SkillSeam reports that skills fail at the relationships between skills in a collection rather than alone (Kang, 2026). In its audits, overlapping lanes raised ownership conflicts from 0 of 16 to 14 of 16 cases, and bland triggers raised routing conflicts from 3 of 32 to 30 of 32 and inflated loaded-skill tokens 3.7 times (Kang, 2026). A measurement of compositional risk found that individually safe skills can combine into unsafe pairs: 22.25% of 211,575 pairs were flagged as structural candidates, of which about 18.2% of flagged hits were real (Wang et al., 2026c). Another preprint reports that actual skill-use precision falls from 29.6% to 3.3% as the pool grows from 5 to 100, and that skills fail under brittle assumptions, incompatible contexts or insufficient adaptation (Jiang et al., 2026). A practitioner source adds that models do not infer ownership boundaries between skills, that undeclared side effects break chained workflows (AgentConn Team, 2026), and that a double-run of one step by two skills is invisible, since both report success (AgentConn Team, 2026). This last point is unmeasured, and the preprint numbers are the authors’ own.
Does structure beat prose?
Weak evidence
Composition papers treat choosing and ordering skills as the bottleneck. AgentSkillOS reports that DAG-based orchestration (a plan of steps with explicit ordering constraints) beats flat skill invocation with the same skills (Li et al., 2026b). A routing paper plans skill order with a dependency-aware DAG planner (Gao, 2026b). SkillComposer names composition selection a central bottleneck, raises pass rate over a no-skill baseline, and matches the gold-skill retrieval upper bound at lower prompt-token cost (Zhao et al., 2026a). A compiler approach, SkillSmith, notes that agents typically receive skills as guidance injected once matched, and proposes compiling them into minimal executable interfaces; it says nothing about handoff between skills (Xu et al., 2026). None of these studies tests hand-written prose references between skills, so they do not settle the question above.
When the other skill is missing
Weak evidence
Practice differs by harness. Claude Code refuses to load a plugin whose declared dependency cannot be installed or is disabled, rather than degrading (Anthropic, n.d.d). In Hermes, a bundle that lists a missing skill still loads the others; the missing one is skipped, not fatal (Nous Research, n.d.). Outside declared dependencies, a missing or ambiguous skill fails quietly in lazy loaders (Pan, 2026a). Which behaviour is better is unevaluated.
Is the module analogy sound?
Shell pipes pass data between tools without the model, whereas a skill chain routes through it (Hurier, 2026), which is why one source calls the model the coordinator (MindStudio, 2026). The same author names security as the main blocker for the Unix composition model with agents in production (Hurier, 2026). Terms such as coupling and single responsibility are applied by opinion and by one conceptual preprint rather than tested (Destefanis, 2026).
Broader connections
Skills sit between prompt engineering and software modules. Prompt modules that can be optimised and replaced independently predate skills (Khot et al., 2023), and the multi-agent systems in Multi-agent research systems face the same question of what a coordinator passes to a worker. Whether a composed set of skills improves work is the subject of Evaluating agent instructions and of the tooling in Evaluation tooling for AI agents. Comparison with multi-agent handoff designs that pass goal, context and state is missing.
Further reading
- Jia and colleagues Jia et al. (2026): the only ecosystem-scale measurement of how skills depend on each other.
- Destefanis Destefanis (2026): a software-engineering framing of coupling, explicit dependencies and single responsibility.
- Anthropic’s Anthropic (n.d.e): shared terms, output templates and validated plan files.
- Kang Kang (2026): auditing a collection for ownership and routing conflicts.
- Pan Pan (2026a): the argument that agent stacks need an import system that fails early.
Known gaps
- Whether agents reliably load and follow a skill named inside another skill was not measured by any source; the nearest evidence concerns a model choosing a skill, and user bug reports.
- Where the software-modularity analogy fails for skills was not found in any source read.
- Multi-agent handoff designs (Q-coordinator-9) were not researched, so the comparison with agent-to-agent handoffs is missing.
- Instruction-level fallbacks (a skill saying what to do if another is absent) were seen only in search summaries, not in pages.
- The ecosystem and composition papers are mostly read at abstract level and report their authors’ own unreplicated numbers; practitioner sources on chaining are blogs without measurement.
- The Claude Code skills page was read for 100,000 of 118,895 characters, and a survey of skill composition (arXiv 2602.20867) could not be read.
References
- AgentConn Team (2026). Stackable Skills: One Prompt, Your Whole Team. AgentConn Blog. https://agentconn.com/blog/stackable-skills-one-prompt-fires-whole-skill-team-2026
- Agent Skills (n.d.). Specification. agentskills.io. https://agentskills.io/specification
- Anthropic (n.d.d). Plugin dependencies. Claude Code documentation (code.claude.com). https://code.claude.com/docs/en/plugin-dependencies.md
- Anthropic (n.d.c). Extend Claude with skills. Claude Code documentation (code.claude.com). https://code.claude.com/docs/en/skills
- Botticelli, C. (2026). Agent Skills Are Just Header Files (And Virtual Memory, And Unix Pipes). DEV Community. https://dev.to/botticelli/agent-skills-are-just-header-files-and-virtual-memory-and-unix-pipes-4hcp
- Claude with Skills (n.d.). Lesson 05: Skills Orchestrating Skills. claude-with-skills.vercel.app. https://claude-with-skills.vercel.app/03-advanced/lesson-05-skills-orchestrating-skills
- coreyDavisFF (GitHub user) (2026). Agent ignored skill invocation requirement and skipped workflow phases. GitHub anthropics/claude-code issue 54049. https://github.com/anthropics/claude-code/issues/54049
- Cursor (n.d.). Agent Skills. Cursor documentation. https://cursor.com/docs/context/skills
- Destefanis, G. (2026). Authoring Agent Skills: A Software-Engineering Approach. arXiv (arXiv:2607.25032, cs.SE). https://arxiv.org/html/2607.25032
- Dubois, S. (2026). AI Skill Composability. dsebastien.net. https://www.dsebastien.net/ai-skill-composability/
- Ayswarrya G (2026). What Is Agent Composability? Atlan. https://atlan.com/know/ai-agent/agent-composability/
- Gao, X. (2026b). Compositional Skill Routing for LLM Agents: Decompose, Retrieve, and Compose. arXiv. https://arxiv.org/abs/2606.18051 abstract only
- Gao, J. (2026a). AGENTS.md outperforms skills in our agent evals. Vercel. https://vercel.com/blog/agents-md-outperforms-skills-in-our-agent-evals
- Hurier, M. (2026). AI Agents as an Operating System: Rediscovering the Linux Philosophy. MLOps Community. https://mlops.community/blog/ai-agents-as-an-operating-system-rediscovering-the-linux-philosophy
- jaried (GitHub user) (2026). Parent skill halts entirely after nested skill completes: remaining steps never execute. GitHub anthropics/claude-code issue 30028. https://github.com/anthropics/claude-code/issues/30028
- Jia, C., Zhao, T., He, R., & Zhou, M. (2026). Skills Are Not Islands: Measuring Dependency and Risk in Agent Skill Supply Chains. arXiv. https://arxiv.org/html/2607.01136
- Jiang, Z., Huang, F., Xing, H., Wu, X., Gao, Y., et al. (2026). Demystifying Agent Skills: Why They Work-Until They Don't. arXiv (cs.AI), 2608.14036. https://arxiv.org/abs/2608.14036 abstract only
- Kang, R. (2026). SkillSeam: Six Principles for Auditing Agent Skill Collections. arXiv (cs.SE), 2609.13321. https://arxiv.org/abs/2609.13321 abstract only
- Khot, T., Trivedi, H., Finlayson, M., Fu, Y., Richardson, K., et al. (2023). Decomposed Prompting: A Modular Approach for Solving Complex Tasks. arXiv (arXiv:2210.02406); ICLR 2023. https://arxiv.org/abs/2210.02406 abstract only
- Li, H., Mu, C., Chen, J., Ren, S., Cui, Z., et al. (2026b). Organizing, Orchestrating, and Benchmarking Agent Skills at Ecosystem Scale. arXiv. https://arxiv.org/abs/2603.02176 abstract only
- Lip, M. (2026). Claude Skill Composition Patterns (2026). Claude Code Guides. https://claude-skills-guide-3lc.pages.dev/claude-skill-composition-patterns/
- MindStudio (2026). What Is Claude Code's Skill Collaboration Pattern? How to Chain Skills Into Workflows. MindStudio. https://www.mindstudio.ai/blog/claude-code-skill-collaboration-pattern
- Nous Research (n.d.). Skills System | Hermes Agent. Hermes Agent docs. https://hermes-agent.nousresearch.com/docs/user-guide/features/skills
- OpenAI (n.d.). Build skills. OpenAI Developers (Codex docs). https://learn.chatgpt.com/docs/build-skills
- Pan, T. (2026a). Skills as Modules: When Your Agent Stack Needs an Import System. tianpan.co. https://tianpan.co/blog/2026/05/02/skills-as-modules-agent-stack-import-system
- Rickard, M. (2023). Unix Philosophy for AI. Matt Rickard (personal blog). https://cdn.matt-rickard.com/unix-philosophy-for-ai
- Spence, S. (2025). How to Make Claude Code Skills Activate Reliably. scottspence.com. https://scottspence.com/posts/how-to-make-claude-code-skills-activate-reliably
- virhdr (GitHub user) (2026). Skill workflow stops after sub-skill invocation despite MANDATORY CONTINUATION directives. GitHub anthropics/claude-code issue 21672. https://github.com/anthropics/claude-code/issues/21672
- Wang, S., Qian, P., Chen, Y., You, J., Wang, X., et al. (2026c). When Safe Skills Collide: Measuring Compositional Risk in Agent Skill Ecosystems. arXiv (cs.SE), 2606.00448. https://arxiv.org/abs/2606.00448 abstract only
- Xu, D., Chen, Z., Pan, Z., Guan, J., Dong, D., et al. (2026). SkillSmith: Compiling Agent Skills into Boundary-Guided Runtime Interfaces. arXiv (arXiv:2605.15215). https://arxiv.org/abs/2605.15215 abstract only
- Zhao, X., Tan, Z., Tadiparthi, V., Agarwal, N., Lee, K., et al. (2026a). Generative Skill Composition for LLM Agents. arXiv. https://arxiv.org/abs/2606.32025 abstract only