Feature request: intermediate scope between Global and Project + unified effective config visibility

Resolved 💬 4 comments Opened Mar 31, 2026 by ithiria894 Closed May 5, 2026

Problem

After building Claude Code Organizer — a dashboard that scans and manages all Claude Code configurations — I've run into two fundamental limitations that affect anyone managing configs across multiple projects.

1. No intermediate scope between Global and Project

Currently, if I have a skill (or memory, command, agent) that I want to share across specific projects but not all projects, my only options are:

  • Put it in Global (~/.claude/skills/) → every project on the machine sees it, even ones that shouldn't
  • Copy it into each project (.claude/skills/) → now I have duplicates to maintain

Real example: I have a babysit-pr skill that should only apply to my two work repos (ai-security-control-plane and rule-processor), not my personal side projects. There's no way to scope it to just those two without either polluting Global or duplicating the file.

A workspace scope (or directory-based inheritance like CLAUDE.md already has) would solve this — skills/commands/agents in a parent directory would be available to child projects but not unrelated ones.

2. Each category has different inheritance/precedence rules — no unified visibility

Building CCO forced me to reverse-engineer how each category resolves, and the rules are all different:

| Category | Rule |
|---|---|
| MCP servers | local > project > user precedence — same-name servers use the narrower scope |
| Agents | Project-level overrides same-name user agents |
| Commands | Available from user and project — same-name conflicts are "not supported" |
| Skills | Available from personal, project, and plugin sources |
| Settings | managed > CLI > project local > project shared > user precedence chain |
| CLAUDE.md | Walks up directory tree from cwd — subtree files are deferred |
| Rules | Global + project, with paths: frontmatter for conditional loading |

There is no built-in way to see what's actually effective in a given session. Users have to mentally combine rules across ~/.claude/, ~/.claude.json, .claude/, .mcp.json, parent directories, and settings precedence to figure out what Claude is actually loading.

Suggestions

  1. Add an intermediate scope (workspace / directory-based) so items can be shared across specific projects without going global. CLAUDE.md already walks parent directories — extending this to skills/commands/agents would be consistent.
  1. Add a /effective or /whatloads command that shows everything Claude Code has loaded in the current session — which skills, MCP servers, memories, commands, agents, rules, and settings are active, where they came from, and why (precedence, shadowing, ancestry).
  1. Standardize the inheritance model or at minimum, document all category-specific rules in one place. Currently you have to read 6+ separate doc pages to piece together the full picture.

Context

I maintain Claude Code Organizer which attempts to provide this visibility. We implemented a "Show Effective" feature that computes per-category effective results, but it requires re-implementing each category's rules client-side since there's no official API for it. A built-in command would be far more reliable.

View original on GitHub ↗

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