Deployment Options
The question this page answers: "I have a skill I want to use (or roll out). Where does it go?"
Two questions drive the decision:
- Who is using it? Just you, a project team, or the whole company?
- Whose environment? An APD account/machine, or a client's?
Decision tree
Pills: Self-serve = minutes, you own it ยท Via repo = team-wide through the project repo ยท Coordinated = company-wide, needs IT / admin / marketplace coordination
The deployment mechanisms in detail
1. Local folder (self-serve)
Copy skill folders into the agent's skills directory. Fastest path; you own updates (git pull + re-copy).
APD-managed Windows machines: Claude Code runs sandboxed in WSL, and the Windows-profile
C:\Users\[MYUSER]\.claudeis not visible. Use the WSL side instead:\\wsl.localhost\Ubuntu\home\[MYUSER]\.claudefor all projects, or the.claude/skills/of the folder WSL is active in. Setup and full restrictions: Claude Code on Windows. Codex users can instead run the built-in$skill-installerfrom a session in this repo; it prompts for the target path (see the repo README quick start).
| Agent | Project-level | User-level (all projects) | Invoke |
|---|---|---|---|
| Claude Code | .claude/skills/ |
~/.claude/skills/ |
/skill-name |
| Codex | .agents/skills/ |
~/.agents/skills/ |
$skill-name |
| Cortex Code | .cortex/skills/ or .claude/skills/ |
~/.snowflake/cortex/skills/ or ~/.claude/skills/ |
/skill-name |
| Genie Code (Databricks) | โ | /Users/{username}/.assistant/skills/ (Unity Catalog) |
@skill-name |
Both Claude Code and Codex discover skills hierarchically from the current directory up to the repo root, so a top-level folder covers everything beneath it. Full provider comparison: ADR-002.
Team variant: commit the project-level folder into the project repo. Everyone who clones gets the skills: no per-person setup, changes go through PR review, and removal is a delete. This is the recommended default for project teams, on APD and client repos (client policy permitting).
2. Plugin for Claude Code
Package skills as a Claude Code plugin distributed through a plugin marketplace (a git repo with a .claude-plugin/marketplace.json). Users install with:
/plugin marketplace add <org>/<marketplace-repo>
/plugin install <plugin-name>@<marketplace-name>
A plugin can bundle multiple skills (plus commands and other components) and is much easier to version and update than hand-copied folders; this is how Anthropic distributes its own document skills.
Best for: rolling out a curated skill set to many Claude Code users without touching each machine.
3. Enterprise / chat-product upload
Getting skills into the chat products (not the CLI agents):
- claude.ai (individual / client accounts): custom skills are uploaded per user in Settings โบ Capabilities. Currently blocked on APD-managed machines (see Claude Code on Windows).
- Claude Enterprise: org-level skills managed in the workspace and pre-loaded for every chat user; this is how
apd-pptx-designships internally. - ChatGPT chat: no per-user upload; skills reach chat users via the Enterprise workspace rollout, coordinated with the workspace admin per OpenAI's current enterprise controls.
Chat-product runtimes also differ from CLI agents (e.g. restricted network and package installation), so test a skill in the target surface before recommending it there.
Best for: making skills available to APDers who work primarily in the chat UI rather than a terminal.
4. File push by MSFT admin (Intune)
IT pushes skill folders to a standard path (e.g. ~/.claude/skills/) on managed APD laptops. Zero user effort; updates ship on IT's schedule.
Best for: guaranteeing a baseline skill set (e.g. brand voice, deck design) on managed APD machines, including non-developers; unmanaged users self-serve from the repo. Raise via IT / the AI Knowledge Hub Support Desk.
Quick chooser
| Scenario | Path |
|---|---|
"I want to try apd-pptx-design today" |
๐ข Local user-level folder |
| "I mostly use claude.ai, not the terminal" | ๐ข Upload to claude.ai Settings โบ Capabilities |
| "My delivery team should all use our modeling skill" | ๐ต Commit .claude/skills/ (or .agents/skills/) into the project repo |
| "We're on a client's tenant" | ๐ต Policy + SoW/MSA check โ main-committed project folder |
| "Roll out a baseline to groups in Aimpoint" | ๐ Intune push (managed laptops) + ๐ข self-serve for the rest |
| "Distribute a skill set to all Claude Code users" | ๐ Plugin marketplace |
| "Claude chat users company-wide" | ๐ Claude Enterprise org-level skills |
| "Codex users company-wide" | ๐ Enterprise workspace rollout with the admin |
Client account vs APD account
Before deploying anything into a client environment:
- Confirm the client's AI usage policy and the SoW/MSA language allow agent skills, and check what data the skill touches
- Deploy only skills committed to
main, at project level: visible, reviewed in PRs, removable - Skills marked
license: Proprietaryneed approval before they go into a client tenant - When in doubt: Office Hours or the Support Desk