Provider Skill Paths — Verified Reference
Ground-truth skill discovery paths for all AIWG-supported providers. Paths are verified from platform source code where available, or from official documentation.
Issue tracking full audit + fixes: roctinam/aiwg#766
`.agents/skills/` is scanned by multiple platforms as a shared convention:
- Codex CLI (primary, confirmed from `codex-rs/core-skills/src/loader.rs`)
- OpenClaw (confirmed from `src/agents/skills/workspace.ts`)
- Warp Terminal (also scans alongside `.warp/skills/`)
- GitHub Copilot / VS Code (also scans alongside `.github/skills/`)
Deploying to `.agents/skills/` is the most portable option if you need a single directory that works across providers.
Per-Provider Skill Paths
Claude Code
| Scope | Path | Source |
|---|
| Project | `.claude/skills/` | Official docs |
- Discovery: scans `.claude/skills/` for SKILL.md files
- Plugin namespace: `plugin-name:skill-name`
- Copilot/VS Code source confirms it also scans `.claude/skills/` directly
OpenAI Codex
| Scope | Path | Source | Status |
|---|
| Project | `.agents/skills/` | `codex-rs/core-skills/src/loader.rs` | Primary (use this) |
| User-global | `~/.agents/skills/` | `codex-rs/core-skills/src/loader.rs` | Primary (use this) |
| User-global | `~/.codex/skills/` | Legacy | Deprecated — pruned on deploy |
skills to `~/.agents/skills/`. The legacy `~/.codex/skills/` home dir is no longer written; AIWG-managed dirs left there by pre-fix versions are pruned on every codex skill deploy.
- Duplicate-listing regression (fixed): #766's first fix added the
`.agents/skills/` write but never removed the legacy `~/.codex/skills/` write. codex-rs scans both, so every kernel skill appeared twice in the slash-command list (e.g. `/aiwg-regenerate` listed twice). `.agents/skills/` is now the single project-scope target.
GitHub Copilot / VS Code
| Scope | Path | Source | Notes |
|---|
| Project | `.github/skills/` | `promptFileLocations.ts` | Copilot-specific |
| Project | `.claude/skills/` | `promptFileLocations.ts` | Also scanned — already visible to Copilot when AIWG is deployed for Claude |
- Source repo: https://github.com/microsoft/vscode (full TypeScript)
- AIWG skills in `.claude/skills/` are already visible to Copilot users without extra deployment
- Deploying to `.github/skills/` is still correct for Copilot-only projects
Factory AI
| Scope | Path | Source |
|---|
| Project | `.factory/skills/` | `docs/cli/configuration/skills.mdx` |
- Source: docs only (no public source code)
- Path not independently verified from source; treat as provisional
Cursor IDE
| Scope | Path | Source |
|---|
| Project | `.cursor/skills/` | Official docs |
- Closed source — path from documentation only
OpenCode
| Scope | Path | Source |
|---|
| Project | `.opencode/skill/` | `packages/opencode/src/skill/index.ts` |
- Source repo: https://github.com/sst/opencode (full TypeScript)
- Note: agents (`.opencode/agent/`) and commands (`.opencode/command/`) are config-only via `opencode.jsonc` — file-based discovery only works for skills
- Skills-only file-based discovery confirmed from source
Warp Terminal
| Scope | Path | Source | Notes |
|---|
| Project | `.warp/skills/` | Official docs | Warp-specific |
| Project | `.agents/skills/` | warpdotdev/oz-skills examples | Also scanned |
- Closed source — paths from official docs and example repos
- `.agents/skills/` cross-platform path likely scanned; needs verification
Windsurf
| Scope | Path | Source |
|---|
| Project | `.windsurf/skills/` | Official docs |
- Codeium — closed source; path from documentation only
- Status: experimental
- Devin Desktop is modeled as the renamed/evolved Windsurf local IDE surface.
AIWG keeps `windsurf` as the deployable compatibility id, and `devin-desktop`, `devin-local`, and `cascade` resolve to the same writer adapter. Use `aiwg use sdlc --provider windsurf` or `aiwg use sdlc --provider devin-desktop`.
- AIWG does not currently emit `.devin/` provider output. `.devin/` remains
ignored local provider state; committed source should use `.windsurf/` output plus `AGENTS.md` until a dedicated Devin CLI provider writer exists.
- Bare `--provider devin` and `--provider devin-cli` are intentionally rejected
with guidance, because Devin CLI has distinct rules/skills surfaces.
OpenClaw
| Scope | Path | Source |
|---|
| User-global | `~/.openclaw/skills/` | `src/agents/skills/workspace.ts`, `local-loader.ts` |
- Source repo: https://github.com/openclaw/openclaw (full TypeScript)
- All artifacts deploy to home directory — no project-local skill paths
- Inherits Claude Code SKILL.md behavior including deep subdirectory recursion
Hermes Agent
| Scope | Path | Source |
|---|
| User-global | `~/.hermes/skills/` | `agent/skill_commands.py`, `agent/skill_utils.py`, `tools/skills_tool.py` |
Distribution Mechanism by Provider
Not all providers have a native plugin marketplace. The table below distinguishes providers with marketplace-based distribution from those that use `aiwg use --provider <name>` as the file-deploy adapter.
| Provider | Distribution Mechanism | Install Command / Marketplace |
|---|
| Claude Code | File-deploy adapter | `aiwg use sdlc` |
| OpenAI Codex | File-deploy adapter | `aiwg use sdlc --provider codex` |
| GitHub Copilot | VS Code Marketplace for extensions; file-deploy adapter for agents/skills/rules | `aiwg use sdlc --provider copilot` |
| Factory AI | File-deploy adapter | `aiwg use sdlc --provider factory` |
| Cursor | File-deploy adapter | `aiwg use sdlc --provider cursor` |
| OpenCode | File-deploy adapter | `aiwg use sdlc --provider opencode` |
| Warp Terminal | File-deploy adapter | `aiwg use sdlc --provider warp` |
| Windsurf | File-deploy adapter | `aiwg use sdlc --provider windsurf` |
| OpenClaw | File-deploy adapter | `aiwg use sdlc --provider openclaw` |
| Hermes | File-deploy adapter | `aiwg use sdlc --provider hermes` |
Marketplace vs. file-deploy distinction:
- VS Code Marketplace (GitHub Copilot): Distributes Copilot extensions — GitHub App-based integrations built with the Extensions API. It does not distribute project-local agent/skill/rule file bundles. AIWG uses `aiwg use --provider copilot` for those.
- File-deploy adapter (all other providers): No native plugin marketplace exists for distributing AI framework packages. `aiwg use --provider <name>` writes framework artifacts to the platform's native discovery paths. This provides equivalent capability to a marketplace install and is by design, not a missing feature.
Capability-Matrix.yaml vs. Ground Truth
| Provider | Matrix `skills:` | Ground-truth primary | Correct? |
|---|
| claude-code | `.claude/skills/` | `.claude/skills/` | Yes |
| codex | `.agents/skills/` | `.agents/skills/` | Yes (#766; legacy `~/.codex/skills/` pruned) |
| copilot | `.github/skills/` | `.github/skills/` (also `.claude/skills/`) | Partial |
| factory | `.factory/skills/` | `.factory/skills/` | Unverified |
| cursor | `.cursor/skills/` | `.cursor/skills/` | Unverified |
| opencode | `.opencode/skill/` | `.opencode/skill/` | Yes |
| warp | `.warp/skills/` | `.warp/skills/` (also `.agents/skills/`) | Partial |
| windsurf | `.windsurf/skills/` | `.windsurf/skills/` | Unverified |
| openclaw | `~/.openclaw/skills/` | `~/.openclaw/skills/` | Yes |
Source Repositories
Last verified: 2026-04-06. Re-verify before implementing path changes — source repos move fast.