# `Codex.Skills`
[🔗](https://github.com/nshkrdotcom/codex_sdk/blob/v0.18.0/lib/codex/skills.ex#L1)

Helpers for discovering and loading Codex skills.

Skill discovery is gated by the `features.skills` flag in configuration.

# `connection`

```elixir
@type connection() :: Codex.AppServer.connection()
```

# `list`

```elixir
@spec list(
  connection(),
  keyword()
) :: {:ok, map()} | {:error, term()}
```

Lists skills through the app-server when `features.skills` is enabled.

Returns `{:error, :skills_disabled}` when the feature flag is off.

## Options

  * `:cwds` - working directories to scan (forwarded to `skills/list`)
  * `:force_reload` - bypass skill cache (forwarded to `skills/list`)
  * `:skills_enabled` - override feature flag gate
  * `:config` - config map override used for gating
  * `:codex_home` - override CODEX_HOME lookup for gating
  * `:cwd` - override cwd lookup for gating
  * `:app_server` - override module used for app-server calls

# `load`

```elixir
@spec load(
  map() | String.t(),
  keyword()
) :: {:ok, String.t()} | {:error, term()}
```

Loads the content of a skill file when `features.skills` is enabled.

Accepts either a skill metadata map (containing `path`) or a direct path.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
