SkillOpt installer scripts and guide.
-
Python 3.10+
-
SkillOpt installed (
pip install skillopt) -
Access to LLM backends (e.g., Azure OpenAI, OpenAI, Anthropic, DeepSeek, MiMo/MiniMax, or local OpenAI-compatible models via vLLM/Ollama)
Set the required credentials for your target LLM backend.
To use hosted DeepSeek models (e.g., deepseek-chat or deepseek-reasoner):
export OPENAI_BASE_URL="https://api.deepseek.com/v1"
export OPENAI_API_KEY="your-deepseek-api-key"For skillopt-sleep offline self-evolution with DeepSeek:
export AZURE_OPENAI_ENDPOINT="https://api.deepseek.com"
export AZURE_OPENAI_API_KEY="your-deepseek-api-key"
export AZURE_OPENAI_AUTH_MODE="openai_compatible"To use MiMo or MiniMax models via OpenAI-compatible endpoints:
export OPENAI_BASE_URL="https://api.minimax.chat/v1"
export OPENAI_API_KEY="your-mimo-api-key"export AZURE_OPENAI_ENDPOINT="https://your-endpoint.openai.azure.com/"
export AZURE_OPENAI_API_KEY="your-api-key"
export AZURE_OPENAI_AUTH_MODE="openai_compatible"| Command | Purpose | When to Use |
|---|---|---|
|
Evaluate trained skills on benchmarks |
After training, to test skill performance |
|
Offline self-evolution (harvest → mine → replay → consolidate) |
Nightly or periodic runs to improve skills autonomously |
|
Train skills on custom datasets |
During development or to adapt skills to new tasks |
Evaluate trained skills on benchmarks to measure performance.
Usage:
skillopt-eval --config <path_to_config.yaml> --backend <backend_name>Examples:
# Using Azure OpenAI
skillopt-eval --config configs/searchqa/default.yaml --backend azure_openai
# Using DeepSeek or MiMo
skillopt-eval --config configs/searchqa/deepseek.yaml --backend openai_compatibleWhen to Use: * After training a skill, to validate its performance on a benchmark. * To compare different versions of a skill across model providers.
Run offline self-evolution to improve skills autonomously. This command: * Harvests agent session transcripts * Mines recurring tasks * Replays and consolidates them into long-term skills
Usage:
skillopt-sleep run --backend <backend_name> --model <model_name>Examples:
# Azure OpenAI
skillopt-sleep run --backend azure_openai --model gpt-4
# DeepSeek (with AZURE_OPENAI_AUTH_MODE=openai_compatible)
skillopt-sleep run --backend azure_openai --model deepseek-chatWhen to Use: * Nightly or periodic runs to update skills based on real-world usage. * To adapt skills to new patterns in agent behavior.
Train skills on custom datasets or benchmarks.
Usage:
python scripts/train.py --config <path_to_config.yaml>Example:
python scripts/train.py --config configs/searchqa/default.yamlWhen to Use: * During development to create new skills. * To fine-tune skills for specific tasks or domains.
SkillOpt uses YAML files to define benchmarks, models, and training parameters.
backend: azure_openai
model: gpt-4
benchmark:
name: SearchQA
data_dir: data/searchqa
splits: [train, val, test]SkillOpt/
├── configs/ # Configuration files for benchmarks
│ └── searchqa/
│ ├── default.yaml
│ └── deepseek.yaml
├── data/ # Benchmark datasets
│ └── searchqa/
│ ├── train/
│ ├── val/
│ └── test/
├── scripts/ # Training and evaluation scripts
│ ├── train.py
│ └── materialize_searchqa.py
└── skillopt/ # Core SkillOpt librarySkillOpt and agent skill libraries work seamlessly across both VS Code Copilot and Copilot CLI environments, though each tool manages context and application data independently.
| Resource Type | Shared Across Environments? | Notes |
|---|---|---|
Project Code & Instructions |
Yes |
Both access project source files and custom instruction files ( |
Skill Libraries (SkillOpt) |
Yes |
Skills stored in shared repo directories ( |
Configurations & Settings |
No |
VS Code uses editor |
Context Caches & History |
No |
Conversation state, tool outputs, and context caches use different paths, formats, and filenames. |
-
Copilot CLI Cache (
~/.copilot/):-
Persistent session database:
session-store.db(SQLite) -
Temporary session context:
session-state/ -
Large tool output logs:
logs/copilot-YYYY-MM-DD-xxxx.log
-
-
VS Code Copilot Cache (
<workspaceStorage>/<hash>/):-
Chat session JSON files:
chatSessions/<uuid>.json -
Internal UI state database:
state.vscdb(SQLite)
-