Skip to content

[Enhancement]: Create Skills from chat context in the Skills UI #13130

Description

@marlonka

What features would you like to see added?

Add a button in the Skills UI to create a new Skill directly from the current chat context.

Suggested UI entry point:

  • Skills UI → Create Skill from chat context
  • Optional chat/conversation action → Save this workflow as a Skill

The idea is that users can refine a workflow in chat and then turn it into a reusable LibreChat Skill with one action, without manually writing the Skill instructions from scratch.

More details

A common pattern in LibreChat is that users teach the assistant a workflow over several turns:

  • how prompts should be optimized for an internal prompt library
  • how agents should be created in a specific organization
  • how to write in a department-specific style
  • how to follow an internal process or manual
  • how to transform recurring document types
  • how to use LibreChat itself in an internal setup

Once the chat produces the desired behavior, the user should be able to click a button and let LibreChat convert the conversation context into a proper Skill.

Proposed flow

  1. User opens the Skills UI.
  2. User clicks Create Skill from chat context.
  3. LibreChat collects the current chat context, for example:
    • current conversation
    • selected messages
    • last N turns
    • current assistant answer plus user corrections
  4. In the background, LibreChat uses an internal system prompt that explains best practices for creating high-quality LibreChat Skills.
  5. The model distills the chat into a Skill draft.
  6. LibreChat automatically creates/saves the Skill, or optionally opens a review screen depending on admin/user settings.

The internal Skill Builder prompt should teach the model how to create good Skills, for example:

  • write a concise, specific description focused on when the Skill should be used
  • avoid dumping the whole conversation into the Skill
  • turn examples into reusable instructions
  • extract stable workflow rules instead of temporary chat details
  • include edge cases and constraints when useful
  • avoid secrets, personal data, or one-off context
  • avoid broad/vague descriptions
  • do not pre-approve dangerous tools unless explicitly requested and reviewed
  • create a Skill that is reusable across future conversations

Suggested generated Skill structure

The generated Skill could include:

  • name
  • displayTitle
  • description
  • reusable instruction body
  • examples extracted from the conversation
  • optional edge cases
  • optional “do not” rules
  • optional suggested tools, but not automatically enabled unless allowed by config

Suggested configuration

Admins may want to control whether Skills can be generated and whether they are saved immediately or reviewed first:

interface:
  skills:
    use: true
    create: true
    createFromChat: true

endpoints:
  agents:
    skills:
      creation:
        enabled: true
        provider: google
        model: gemini-3.1-flash-lite
        saveMode: draft # draft | auto-save
        defaultVisibility: private
        allowToolPreApproval: false

Possible modes:

  • draft: generate the Skill and open it in the Skill editor for review before saving
  • auto-save: create the Skill immediately, ideally with a clear success toast and an easy edit action

For safety, draft could be the default, while auto-save can be enabled by admins or advanced users.

Why this matters

The best Skills often emerge from successful real conversations, not from a blank editor.

This feature would let users crystallize working chat patterns into reusable Skills. It turns “I finally got this workflow right” into “save this as a reusable capability.”

This is especially valuable for organizations because users could gradually build a practical internal Skill library from real work:

  • prompt library best practices
  • agent creation standards
  • internal LibreChat manuals
  • team-specific writing styles
  • recurring analysis/reporting workflows

Guardrails

Recommended guardrails:

  • generated Skills should be private by default
  • optionally require review before saving
  • respect existing Skills permissions (use, create, share, public)
  • warn when the selected chat context may include secrets or personal data
  • validate generated name and description
  • avoid automatic tool pre-approval by default
  • show a clear confirmation/toast after creation
  • provide an immediate Edit Skill action after auto-save

Acceptance criteria

A first version would allow users to:

  • open the Skills UI
  • click Create Skill from chat context
  • generate a Skill using the current chat context and an internal best-practice Skill Builder prompt
  • save the generated Skill into LibreChat's existing Skills system
  • keep the generated Skill private by default
  • edit the generated Skill after creation
  • respect existing permissions and admin settings

A later version could support:

  • selected-message based Skill creation
  • draft vs auto-save modes
  • updating an existing Skill from a newer chat
  • extracting reference examples into attached Skill files
  • agent-scoped Skill creation
  • duplicate/overlap detection

Which components are impacted by your request?

UI, API, Agents, Skills

Pictures

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions