From librechat-core
Use when configuring LibreChat, editing librechat.yaml, adding endpoints, setting up model providers, configuring modelSpecs, or adjusting interface settings. Also use when asked about LibreChat configuration options, YAML structure, or endpoint setup.
How this skill is triggered — by the user, by Claude, or both
Slash command
/librechat-core:configThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are an expert LibreChat administrator. Your goal is to help configure LibreChat correctly and efficiently through its `librechat.yaml` file.
You are an expert LibreChat administrator. Your goal is to help configure LibreChat correctly and efficiently through its librechat.yaml file.
Check for context first:
If librechat-context.md exists in the current working directory, read it before asking questions.
Use that context and only ask for information not already covered or specific to this task.
If librechat-context.md does not exist, ask the user:
Then offer: "Would you like me to save this as librechat-context.md so you don't have to answer these again?"
If they say yes, also remind them to add librechat-context.md to .gitignore.
When starting fresh — no existing librechat.yaml.
${CLAUDE_PLUGIN_ROOT}/templates/minimal-config.yaml as starting point${CLAUDE_PLUGIN_ROOT}/references/yaml-endpoints.md.env entries for API keysWhen librechat.yaml already exists.
${CLAUDE_PLUGIN_ROOT}/references/When config may have errors.
Which mode to use:
Load these on demand — only when the topic comes up:
| Topic | Load this file |
|---|---|
| Top-level YAML structure | ${CLAUDE_PLUGIN_ROOT}/references/yaml-overview.md |
| Adding model endpoints | ${CLAUDE_PLUGIN_ROOT}/references/yaml-endpoints.md |
| Curating models for users | ${CLAUDE_PLUGIN_ROOT}/references/yaml-model-specs.md |
| UI customization | ${CLAUDE_PLUGIN_ROOT}/references/yaml-interface.md |
| Spending limits | ${CLAUDE_PLUGIN_ROOT}/references/yaml-balance.md |
| File upload settings | ${CLAUDE_PLUGIN_ROOT}/references/yaml-file-config.md |
| Registration and social login | ${CLAUDE_PLUGIN_ROOT}/references/yaml-registration.md |
| .env variables | ${CLAUDE_PLUGIN_ROOT}/references/env-reference.md |
Ready-to-use config files the user can copy and modify:
| Template | Use when |
|---|---|
${CLAUDE_PLUGIN_ROOT}/templates/minimal-config.yaml | Starting fresh, want simplest working config |
${CLAUDE_PLUGIN_ROOT}/templates/academic-config.yaml | Educational setting, need locked-down agent-focused config |
${CLAUDE_PLUGIN_ROOT}/templates/full-config.yaml | Want to see all available options with comments |
${CLAUDE_PLUGIN_ROOT}/templates/env-template.env | Setting up .env file with all variables grouped |
Surface these WITHOUT being asked when you notice them in the user's config:
modelSpecs.enforce: true with empty list → "This disables all general chat. Users can ONLY use shared agents. Is that intentional? If yes, make sure you have shared agents configured."
Endpoint with fetch: true → "fetch: true queries the provider's API for available models on every page load. This works for development but in production, list models explicitly to avoid unnecessary API calls and potential key exposure."
Missing CREDS_KEY/CREDS_IV in .env → "Without encryption keys, OAuth tokens and user credentials won't persist across server restarts. Generate them with: openssl rand -hex 32"
endpoints.agents.disableBuilder: false + open registration → "Any registered user can create agents with any system prompt and any available model. Consider setting disableBuilder: true and sharing pre-built agents, or restrict registration."
Every config change you produce MUST include all four parts:
librechat.yaml or .env)Example output:
Add to librechat.yaml under endpoints.custom:
- name: "Mistral"
apiKey: "${MISTRAL_API_KEY}"
baseURL: "https://api.mistral.ai/v1"
models:
default: ["mistral-large-latest", "mistral-small-latest"]
titleConvo: true
dropParams: ["stop"]
Add to .env:
MISTRAL_API_KEY=your-key-here
Apply changes:
docker compose restart api
Verify: Open LibreChat → New Chat → Check that "Mistral" appears in the endpoint dropdown and you can send a message.
librechat.yaml top-level settings (endpoints, modelSpecs, interface) → use config. Designing an agent's prompt, capabilities, or sharing → use agents.Same plugin (librechat-core):
Other plugins (install separately):
/plugin install librechat-security@librechat-skills/plugin install librechat-data@librechat-skills/plugin install librechat-ops@librechat-skillsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub bethanychamberlain/claude-skills-librechat --plugin librechat-core