Feature Request: Hierarchical skill resolution via directory traversal

Resolved 💬 5 comments Opened Mar 25, 2026 by ellardcs Closed Jun 13, 2026

Feature Request: Hierarchical Skill Resolution via Directory Traversal

Summary

Skills should resolve up the directory tree, the same way git finds .git/ or Node resolves node_modules. This would enable global, project-level, and sub-project-level skills to compose automatically without symlinks, hardcoded paths, or manual bootstrapping.

Problem

Today, a Claude session sees only the skills in the .claude/skills/ directory at the root of the workspace it's pointed at. There is no mechanism for skill inheritance across directory levels.

Real-world projects have natural hierarchies:

~/claude-env/.claude/skills/         # global: homelab, personal prefs
~/resonance/.claude/skills/          # project: architecture, plugin contracts
~/resonance/gpu-kernel/.claude/skills/  # sub-project: CUDA conventions

When a session starts in ~/resonance/gpu-kernel/, it sees only the GPU kernel skills. The project-wide Resonance architecture skills and the user's global skills are invisible unless manually symlinked or explicitly loaded.

Current workarounds — symlinks, hardcoded relative paths in a bootstrap skill, or verbally telling Claude "also read these files" — are fragile, non-portable, and don't scale.

Proposed Behavior

When a session starts, resolve skills by walking up the directory tree from the working directory to the filesystem root (or a configurable stop point). At each level, if .claude/skills/ exists, register those skills. Deeper (more specific) skills take precedence when names collide, same as variable scoping.

Starting from working directory:
  while not at root:
    if .claude/skills/ exists here:
      register all skills found (deeper = higher priority)
    move to parent directory

This is identical to how:

  • git traverses upward to find .git/
  • Node.js resolves node_modules from nested directories
  • Make searches for included makefiles

Use Case

A user with multiple machines (workstations, servers) running Claude Code and Claude Cowork, working across multiple projects with shared global context (infrastructure docs, coding style, personal preferences) and project-specific context (architecture, conventions, data formats). Sub-projects in their own repos need their own specialized skills while inheriting from the parent project and global levels.

Without hierarchical resolution, the user must manually manage skill visibility across every project and sub-project — a maintenance burden that grows combinatorially with the number of projects and skill levels.

Impact

This would make skills composable and scalable for professional users managing complex, multi-project workflows — exactly the users who benefit most from skills in the first place.

View original on GitHub ↗

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