Skip to content

[FEATURE] Support project-specific local skills (not committed to repo) #31155

Description

@lucaslim

Preflight Checklist

  • I have searched existing requests and this feature hasn't been requested yet
  • This is a single feature request (not multiple features)

Problem Statement

Claude Code supports global skills (~/.claude/skills/) and project skills (.claude/skills/, committed to repo), but there's no way to define skills that are project-specific yet local to the developer — not checked into version control.

Today, CLAUDE.local.md fills this role for instructions, but those don't appear as invocable /skill-name commands. I have project-specific workflows (custom code generation patterns, local environment tooling, personal deployment shortcuts) that I want as proper skills but shouldn't be shared with the team.

Proposed Solution

Support a local skills directory that is project-scoped but not committed, for example:

  • .claude/local-skills/ (gitignored by default or by convention)
  • Skills placed there would be discoverable and invocable via /skill-name only when working in that project
  • This mirrors the CLAUDE.local.md / CLAUDE.md relationship but for skills

Alternative Solutions

  • Embedding skill-like prompts in CLAUDE.local.md — works for instructions but no /skill-name invocation or discoverability
  • Global skills with project-directory guards — hacky, pollutes global namespace, breaks if you move the project
  • Creating .claude/local-skills/ and adding it to .gitignore manually — not auto-discovered by Claude Code

Priority

Medium - Would be very helpful

Feature Category

Configuration and settings

Use Case Example

  1. I'm working on a React + GraphQL monorepo
  2. I have a custom skill that generates mock GraphQL schemas from Jira tickets — specific to this project's conventions and tooling
  3. I put it in .claude/local-skills/mock-schema.md
  4. I can invoke it with /mock-schema only when working in this project
  5. My teammates don't see it in the repo, and it doesn't clutter my global skills for other projects

Additional Context

The CLAUDE.md / CLAUDE.local.md split already establishes the pattern of "shared project config" vs "personal project config." Extending this to skills would be a natural addition.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requeststaleIssue is inactive

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions