llms.py
Extensions

Manage Skills

Extend an AI Models capabilities with specialized knowledge, workflows, and tools - transforming a general-purpose assistant into a domain expert for specific tasks.

What Are Skills?

Agent Skills are self-contained folders containing:

  • Instructions - Step-by-step guidance for specific workflows
  • Scripts - Executable code for complex or repetitive tasks
  • References - Documentation loaded on demand when needed
  • Assets - Templates, images, and files used in output

They package domain-specific instructions that enhance your AI agent's capabilities, allowing you to:

  • Encode expertise — Capture specialized knowledge, company workflows, or best practices
  • Save context — Only load what's needed, keeping your conversation focused
  • Reuse tools — Bundle executable scripts that work consistently every time
  • Share knowledge — Package and distribute skills across teams

When a skill is active, Models reads its into context before starting relevant tasks, for higher quality results.

Skill Sources

Skills are organized into groups based on their source location, sourced from these directories in order:

GroupLocationDescriptionEditable
Project (Agent).agent/skills/Skills local to the current project✓ Yes
Project (Claude).claude/skills/Claude-format skills in the current projectNo
User (Agent)~/.llms/.agents/skills/Your personal skills collection✓ Yes
User (Claude)~/.claude/skills/Claude-format skills in your home directoryNo

Project-level skills (.agent/ and .claude/) are specific to the workspace you're working in. They're ideal for project-specific workflows, coding standards, or team conventions.

User-level skills (~/.llms/.agents/ and ~/.claude/) are available across all projects. Use these for personal workflows and preferences.

UI Overview

Selecting Skills to make available in Conversations (Top Bar)

Click the Skills icon in the top toolbar to view all available skills, organized by source.

ControlDescription
All SkillsInclude all available skills in conversations (🟢 green indicator)
No SkillsExclude all skills from conversations (⚪ no color)
Individual SkillsClick skill names to toggle them on/off (🔵 blue = custom selection)
Group ControlsUse all / none buttons to toggle entire skill groups

Enable Skill Tool

The skill tool must be enabled for skills to work. If disabled, you'll see a warning in the Skill Selector which you can click to enable it.

Managing Skills

Skill Groups

Skills are organized into groups based on their source:

Your personal skills (~/.llms/.agent) are fully editable. Built-in skills provide reference implementations you can learn from.

Collapsing Groups

Click the chevron (▼) next to a group name to collapse or expand it. This helps manage screen space when you have many skills.

Browsing and Installing Skills

The skills extension includes the top 5000 skills from skills.sh - a Vercel maintained community registry with thousands of pre-built skills you can browse and install.

Accessing the Skill Browser

  1. Navigate to the Manage Skills page (click the Skills icon in the left sidebar)
  2. Click the Browse tab to open the skill browser
  3. Use the search box to find skills by name or source repository

Searching for Skills

The search feature queries the community registry, which indexes skills from popular GitHub repositories. Results show:

  • Skill name - The identifier used for installation
  • Install count - How many times the skill has been installed
  • Source repository - The GitHub repo containing the skill

Installing a Skill

  1. Find a skill you want to install
  2. Click the Install button next to the skill
  3. Wait for the installation to complete (the skill is cloned from GitHub)
  4. The skill appears in your personal collection (~/.llms/.agent)

What happens during installation:

  1. The source repository is cloned from GitHub (shallow clone for speed)
  2. The skill's SKILL.md and associated files are discovered
  3. Files are copied to ~/.llms/.agent/skills/<skill-name>
  4. The skill is immediately available for use

Example:

# Search for React-related skills
curl "http://localhost:8000/ext/skills/search?q=react"

# Install a specific skill
curl -X POST "http://localhost:8000/ext/skills/install/vercel-react-best-practices"

Creating and Editing Skills

Creating a New Skill

  1. Navigate to the Manage Skills page (click the Skills icon in the left sidebar)
  2. Click the Create Skill button
  3. Enter a skill name (lowercase letters, numbers, and hyphens only)
  4. The skill is created with a template SKILL.md file

The built-in skill-creator skill is used to create new skills which generates a template step-by-step placeholders on structuring effective skills.

Skill Structure

A skill consists of at least one file:

my-skill/
└── SKILL.md          # Required: Instructions and metadata

Skills can also include additional resources:

my-skill/
├── SKILL.md          # Required: Instructions and metadata
├── scripts/          # Optional: Executable code
│   └── helper.py
├── references/       # Optional: Documentation
│   └── guide.md
└── assets/           # Optional: Templates and files
    └── template.html

Editing Skills

  1. In the Manage Skills page, select a skill from your personal collection (~/.llms/.agent)
  2. Click on a file in the file tree to view it
  3. Click Edit to modify the file
  4. Make your changes in the editor
  5. Click Save to persist changes

Note: Only skills in ~/.llms/.agent are editable. Built-in skills are read-only.

Adding Files to a Skill

  1. Select an editable skill
  2. Click + file next to the skill name
  3. Enter the file path (e.g., scripts/my-script.py)
  4. The file is created and opened for editing

Deleting Skills and Files

  • Delete a skill: Select the skill, then click the delete button next to the skill name
  • Delete a file: Hover over the file in the tree, then click the × icon

Note: The SKILL.md file cannot be deleted as it's required for every skill.

Skill Metadata (SKILL.md)

Every skill requires a SKILL.md file with YAML frontmatter:

---
name: my-skill
description: Clear description of what this skill does and when to use it
---

# Skill Instructions

Write clear, actionable guidance here...

Required Fields

FieldDescription
nameUnique identifier for the skill (kebab-case)
descriptionWhat the skill does and when Claude should use it

Optional Fields

FieldDescription
licenseLicense information for the skill
compatibilityVersion or system compatibility notes
metadataKey-value pairs for client-specific properties

How Skills Work

When you send a message with skills enabled:

  1. Selection - The Model reads the name and description of active skills
  2. Triggering - The Model determines which skills are relevant to your request
  3. Loading - For triggered skills, the Model loads the full SKILL.md instructions
  4. Execution - The Model follows the skill's guidance to complete your task
  5. References - The Model loads additional files from references/ only when needed
  6. Scripts - The Model may execute scripts from scripts/ directly

This progressive loading ensures efficient use of context window while providing comprehensive guidance when needed.

Example Use Cases

Documentation Writing

Skill: doc-coauthoring

Guides you through creating structured documentation with a three-stage workflow: context gathering, refinement, and reader testing.

Trigger: "Help me write a design doc for..."

Code Planning

Skill: create-plan

Creates actionable implementation plans with scope definition, checklists, and risk assessment.

Trigger: "Create a plan for adding authentication..."

When to Use Skills

Skills are valuable when you need Claude to:

  • Follow consistent workflows - Code reviews, planning, documentation writing
  • Work with specific technologies - Frameworks, APIs, or proprietary systems
  • Apply domain expertise - Legal analysis, medical terminology, company policies
  • Produce standardized outputs - Reports, designs, formatted documents
  • Use specialized tools - Custom scripts, validation tools, generators

Tips for Effective Skill Usage

  1. Start broad, then narrow - Begin with "All Skills" and switch to custom selection if Claude uses irrelevant skills

  2. Check the skill description - Hover over a skill name in the panel to see its full description

  3. Enable the skill tool - The skill tool must be enabled for skills to work. A warning appears if it's disabled.

  4. Iterate on personal skills - As you use your custom skills, refine them based on what works

  5. Use references for large content - Keep SKILL.md focused; move detailed docs to references/

  6. Test scripts - Always verify scripts work before relying on them

Troubleshooting

IssueSolution
Skills not appearingCheck that the skill tool is enabled in preferences
Claude not using a skillVerify the skill is selected (not in "No Skills" mode)
Can't edit a skillOnly skills in ~/.llms/.agent are editable; built-in skills are read-only
Skill not triggeringReview the description in SKILL.md - it determines when Claude uses the skill
Changes not savingEnsure you click Save after editing; unsaved changes show an orange dot

See Also